• Advertisement
Sign in to follow this  

Unity Custom Character Designing Tool: Need city full of people on the cheap

This topic is 2177 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm working on game project involving a gta-style living breathing city, and i need a lot of characters to fill up this big city that was made. So I thought of creating a 'customize your character' type of tool that could be used to make NPCs as well as PCs. The modeler is going to work on creating a set of different hairstyles, clothes, and accessories, but I'm not sure what to ask him to do on the actual rig itself.

The animation becomes the real trick as I want all the npcs to have be able to have standard animations (walk, run, open door, close door, idle, etc..). So I would like to know the best way to accomplish this. I thought of having a few architypical characters such as: adult male, adult female, fat male, fat female, boy and girl, and we could skew and scale the bones to accomplish customization. Does this sound reasonable? I'm using Unity 3D for my engine. So if anyone could give me some of their experience on this matter I would appreciate it.

I've read some posts on this subject, but I'm worried about how I'm going to stitch the different hair styles and clothes onto the model. Do I simply parent a hairdo on to the 'head' bone at a specified center point? Are there performance downsides to this method? This is important because there must be a plentitde of characters on screen as NPC character interaction is the main point of the game. Online multiplayer may come later, but is not supposed to come out in this version of the game so I'm not focusing on it.

Any tips or potential pitfals? I'd like to know the best way of creating a city full of NPCs that have standard animations and easy, simple customization.

I think i've heard that you need to completely stitch a new mesh on the fly to get the most performance, can someone explain this versus just parenting (childing really) accessories to the bones? And how and the heck does one stitch a mesh on the fly if it does matter?

Share this post


Link to post
Share on other sites
Advertisement
I think this maybe a engine feature, if available. You should ask the engine designers the best way to do this with their engine.

I could explain how to do it with my engine, but sadly that wont help you to much, you see what I mean ? But here goes anyway :-) I'd start with a single skeleton rig that cannot change, weight all meshes to this in their separate parts. Then when assigning the mesh data each bone must be updated so it knows to modify the new mesh, somehow do this in a fast way, I'd create custom files with all data ready to go.

Not sure if that helps.

Share this post


Link to post
Share on other sites
Lee, thank you for your quick response.

I think I understand your method, however I don't want the artist to create too many character meshes (only assets like hairdoos, faces, boots, pants, etc..) as that would be very time consuming and expensive. I'm thinking more on the line of a Sims-style character designer, and I'm actually thinking of having people's appearance randomly generated laugh.png (I need like 1,000 unique characters)

Also, how accurate will the animations be if you animated the single rig to potentially different shaped people? Such as a fat butcher and a skinny man both using the same open door and walk animation. This leads me to another questions:

How feasible is it to interpolate animations on the fly such as different height people both reaching for the same height door handle?
I believe this isn't too hard considering unity has some similar scripts available for proper foot placement on the terrain.

I'm primarily concerned with using generic animations effectively, but not AAA quality by any means (more like A-). Will your method work for generic animations? If so I suppose I may have to have the algorithm automatically weigh the model, I've seen this done by a guy on this forum who used Voxels to calculate volume of the mesh. I'm not trying to get complicated though, I'm looking for the simplest method possible (without paying a guy to make and animate 1000+ models)

Share this post


Link to post
Share on other sites
They have a prensentation about the character customization in brink over at the forums at www.splashdamage.com, however you must be registered to download.

Share this post


Link to post
Share on other sites

They have a prensentation about the character customization in brink over at the forums at www.splashdamage.com, however you must be registered to download.


Couldn't find it, do you have a link?

Anyone else with some generic animation and character customization tips?

Share this post


Link to post
Share on other sites

Lee, thank you for your quick response.

No probs.


I think I understand your method, however I don't want the artist to create too many character meshes (only assets like hairdoos, faces, boots, pants, etc..) as that would be very time consuming and expensive. I'm thinking more on the line of a Sims-style character designer, and I'm actually thinking of having people's appearance randomly generated laugh.png (I need like 1,000 unique characters)


ah okay, this is a little tricky.. But I think a free app trie to do this already.. Look up "Make Human"



Also, how accurate will the animations be if you animated the single rig to potentially different shaped people? Such as a fat butcher and a skinny man both using the same open door and walk animation. This leads me to another questions:


Well really poor if you dont adjust the rig, but that is posible, store rest positions for each charactoer.


How feasible is it to interpolate animations on the fly such as different height people both reaching for the same height door handle?
I believe this isn't too hard considering unity has some similar scripts available for proper foot placement on the terrain.


Yes that would be the easy one! Using IK you can move any limb to a target position etc..



I'm primarily concerned with using generic animations effectively, but not AAA quality by any means (more like A-). Will your method work for generic animations? If so I suppose I may have to have the algorithm automatically weigh the model, I've seen this done by a guy on this forum who used Voxels to calculate volume of the mesh. I'm not trying to get complicated though, I'm looking for the simplest method possible (without paying a guy to make and animate 1000+ models)


Sadly I've never had a good experience with auto weight systems, unless they are very complex.. the one in XSI springs to mind.

Having said all that if you keep it simple you can use one rig... Rest positions can be exported from most 3D apps to move the rig into its correct placement. And weights will still work right. I'd go look at Make Human to see if it helps, code is down-loadable. But sadly someone will have to weight paint them, unless you find a good auto weight system.


Please keep us all updated, very interesting.

Share this post


Link to post
Share on other sites
Yes thanks for the detailed response, this is a little out of my league as I'm not really keen on animation. Makehuman is interesting, it may be possible to use it, but I was hopeing to make something relatively simple from scratch. I know there's a simple way to do it, I'll have to experiment.

I will keep you posted as I marinate on this. If I forget, just pm me sometime if I get time to do it within the next few weeks. You deserve an answer :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By NDraskovic
      Hey guys,
      I have a really weird problem. I'm trying to get some data from a REST service. I'm using the following code:
       
      private void GetTheScores() { UnityWebRequest GetCommand = UnityWebRequest.Get(url); UnityWebRequestAsyncOperation operation = GetCommand.SendWebRequest(); if (!operation.webRequest.isNetworkError) { ResultsContainer rez = JsonUtility.FromJson<ResultsContainer>(operation.webRequest.downloadHandler.text); Debug.Log("Text: " + operation.webRequest.downloadHandler.text); } } The problem is that when I'm in Unity's editor, the request doesn't return anything (operation.webRequest.downloadHandler.text is empty, the Debug.Log command just prints "Text: "), but when I enter the debug mode and insert a breakpoint on that line, then it returns the text properly. Does anyone have an idea why is this happening?
      The real problem I'm trying to solve is that when I receive the text, I can't get the data from the JSON. The markup is really simple:
      [{"id":1,"name":"Player1"},{"id":2,"name":"Player2"}] and I have an object that should accept that data:
      [System.Serializable] public class ResultScript { public int id; public string name; } There is also a class that should accept the array of these objects (which the JSON is returning):
      [System.Serializable] public class ResultsContainer { public ResultScript[] results; } But when I run the code (in the debug mode, to get any result) I get an error: ArgumentException: JSON must represent an object type. I've googled it but none of the proposed solutions work for me.
      Also (regardless if I'm in the debug mode or not) when I try to do some string operations like removing or adding characters to the GET result, the functions return an empty string as a result
      Can you help me with any of these problems?
      Thank you
    • By nihitori
      The Emotional Music Vol. I pack focuses on beautiful and esoteric orchestral music, capable of creating truly emotive and intimate moods. It features detailed chamber strings, cello and piano as the main instruments, resulting in a subtle and elegant sound never before heard in video game royalty-free music assets.

      The pack includes 5 original tracks, as well as a total of 47 loops based on these tracks (long loops for simple use and short loops for custom / complex music layering).

      Unity Asset Store link: https://www.assetstore.unity3d.com/en/#!/content/107032
      Unreal Engine Marketplace link: https://www.unrealengine.com/marketplace/emotional-music-vol-i

      A 15 seconds preview of each main track is available on Soundcloud:
       
    • By RoKabium Games
      Another one of our new UI for #screenshotsaturday. This is the inventory screen for showing what animal fossils you have collected so far. #gamedev #indiedev #sama
    • By eldwin11929
      We're looking for programmers for our project.
      Our project is being made in Unity
      Requirements:
      -Skills in Unity
      -C#
      -Javascript
      -Node.js
      We're looking for programmers who can perform a variety of functions on our project.
      Project is a top-down hack-and-slash pvp dungeon-crawler like game. Game is entirely multiplayer based, using randomized dungeons, and a unique combat system with emphasis on gameplay.
      We have a GDD to work off of, and a Lead Programmer you would work under.
      Assignments may include:
      -Creating new scripts of varying degrees specific to the project (mostly server-side, but sometimes client-side)
      -Assembling already created monsters/characters with existing or non-existing code.
      -Creating VFX
      -Assembling already created environment models
      If interested, please contact: eldwin11929@yahoo.com
      This project is unpaid, but with royalties.
       
      ---
      Additional Project Info:
      Summary:
      Bassetune Reapers is a Player-verus-Player, competitive dungeon crawler. This basically takes on aspects of dungeon crawling, but with a more aggressive setting. Players will have the option to play as the "dungeon-crawlers" (called the 'Knights', or "Knight Class", in-game) or as the "dungeon" itself (literally called the 'Bosses', or "Boss Class", in-game). What this means is that players can choose to play as the people invading the dungeon, or as the dungeon-holders themselves.
      Key Features:
      -Intense, fast-paced combat
      -Multiple skills, weapons, and ways to play the game
      -Tons of different Bosses, Minibosses, creatures and traps to utilize throughout the dungeon
      -Multiple unique environments
      -Interesting, detailed lore behind both the game and world
      -Intricate RPG system
      -Ladder and ranking system
      -Lots of customization for both classes s of customization for both classes
    • By RoKabium Games
      Custom coffee mugs have arrived... More caffeine!
      Have a great weekend everyone! 
      #gamedev #indiedev #sama #caffeine
  • Advertisement