Search Unity

Medieval Male Customisable Character - Arteria3d BasePack RELEASED

Discussion in 'Assets and Asset Store' started by arteria, Feb 13, 2012.

  1. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Someting i forgot to add also -

    Customers can purchase any of the 17 sets(shown in the pics) for $10 each.

    That gives you the character with that slothing style on, plus the core animations, and the full head with multiople hair and facial customisations. This will be good for customers wanting perhaps to test the water on the pack, or for users who do not require the full set.


    Let me know what you want at the following email and ill send you a paypal invoice to complete the purchase.

    arteria3d@live.co.uk

    You will recieve the full base head too, allowing you to customise the head with facial hair, beard, scars, hair


    Steve
     
  2. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    Still haven't received the links...

    Resent email to the live address linked above
     
  3. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    they have been sent, just replied to your email i just got

    Steve
     
  4. DevionGames

    DevionGames

    Joined:
    Feb 22, 2010
    Posts:
    1,624
    I haven't received the links too...
     
  5. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    Have received it now. Cheers :)
     
  6. sleglik

    sleglik

    Joined:
    Jun 29, 2011
    Posts:
    682
    If I have some wish list for next update

    - more heads (faces, hairs....)

    - animations for casting spells
     
  7. petero181

    petero181

    Joined:
    Feb 23, 2011
    Posts:
    104
    thanks steve, i already download.
     
  8. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    I have a question for using this pack. Since there is one base head component but multiple base head textures, do I select only one of the base head textures and then create a prefab of that character (with all other un-used meshes hidden)?
     
  9. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Simply swap out the head texture with one you would like to use - same uvs

    I will be preparing proper docs and videos for all the finer details
    Im also releasing a few different head meshes next week also, with the first update

    Steve
     
  10. rygaar

    rygaar

    Joined:
    Mar 28, 2009
    Posts:
    63
    I am still waiting to receive the links. Thanks.
     
  11. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    I thkn due to the ammount of emails i have sent today, that some problems have been experienced possibly. Ive pm'd others who havent received via email.

    Ive just sent a pm to you also rygaar
     
  12. franbon2005

    franbon2005

    Joined:
    Mar 19, 2009
    Posts:
    86
    for everyone

    Sorry for the error !!!
     
    Last edited: Feb 15, 2012
  13. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Enjoy the pack
     
    Last edited: Feb 15, 2012
  14. Legacy

    Legacy

    Joined:
    Oct 11, 2011
    Posts:
    651
    Hey steve, im one of the advanced people lol where can i get the pack containing the seperate peices that i can stitch together? I checked the fbx last night and it was just the one exported with all of the peices. Thanks again :)
     
  15. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    I had one version of the parts on the site, but will be uploading a fresh set tomorrow, with fixes i did to non connecting vertices etc which are all fixed

    By this time tomorrow, they will be on the ftp

    Out of interest how in unity do you actually use the separate parts that advanced users have asked for?

    Steve
     
  16. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245

    And not just for Steve benefit... There are other here that would benefit from a description. Me for instance
     
  17. jedy

    jedy

    Joined:
    Aug 1, 2010
    Posts:
    579
    Well group the different parts together in separate arrays. Then turn every one of the elements off except for the index of the armor you want visible.
     
  18. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Jedy, thats the way most people would do it, but the other way involves using the individually exported body pieces that connect together. To be honest though, is there more merit in doing things that way, than just hiding groups. Surely there is no performance hit, as the groups which are not being used on the model with all sections in, are hidden when not needed

    Steve
     
  19. Legacy

    Legacy

    Joined:
    Oct 11, 2011
    Posts:
    651
    Well the way i have it figured out is i am going to have a prefab with the bones and i will attach the peices by script at run time to the correct locations adding the meshes as a child of the parent object and grabbing the position of the certain bone that corrosponds to the body part(not tested yet but it makes sense in my head :p). You can also take a look at unity's customizable character example it has some very useful stuff ;) http://unity3d.com/support/resources/example-projects/charactercustomization
     
  20. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    How many parts and separate textures are there to each "set"?
     
  21. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    when you say each set, do you mean each clothing style set?
    Each mesh has its own texture - i will also be uploading some lower resolution textures this evening too for people

    Also..unity defaults jpegs to 1024, some of the textures are 2048 or 2048x1024 - remember to resize the texture manually in the editor if you want the higher res look
     
  22. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Yeah, each clothing style set, how many meshes/textures are they?
     
  23. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    MOst have

    Torso, legs, arms, boots, hands, head, hair, facial features

    Howvever thats not 17 times those, as on some models - the base arm has been used a few times.

    Steve
     
  24. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Gotcha... so a single character at runtime will be at least 16 drawcalls if you're using just bumped/specular and one light, with 16 (diffuse/normal) 2048 textures in memory? Someone needs to put out a skinned mesh stitcher/atlas generator extension ASAP.
     
  25. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Not all are 2048 though.. some are only 512x512, some are 1024x1512 - ive kept things to a quality level whilst packing in as much as i can on some small texture sizes
    Steve
     
  26. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Torsos - chestplates etc have been given the most priority with texture size - arms are all 1024x1024 each.

    Steve
     
    Last edited: Feb 15, 2012
  27. Legacy

    Legacy

    Joined:
    Oct 11, 2011
    Posts:
    651
    Check out NGUI it uses texture atlas's
     
  28. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    I use texture atlas for a lot of the new building packs, i.e. one large texture for 4-5 buildings, but for characters, its imperative each section has its own texture so you can apply the shaders you need

    Steve
     
  29. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Not sure of the amount of work it would involve, but it might be worthwhile to make a version in which each suit from the neck down was pre-stitched together in whatever 3d app you use, and the textures combined into an atlas to use only one texture and one material in unity. Then they'd only be 3 draw calls (body/head/helmet), and you could still use a different shader on the clothing/armor versus the head.
     
  30. Legacy

    Legacy

    Joined:
    Oct 11, 2011
    Posts:
    651
    the way steve has done it is good if you want a seperate shader for different peices of gear you dont want to have a spec shader on a leather peice but maybe part of that set has a peice of armor that looks better with a spec shader then your stuck.
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can combine the meshes at runtime, and generate a texture atlas using Texture2D.PackTextures. you can do this based on shader, to lower the drawcalls.
     
  32. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Right, which is easy with mesh filters/mesh renderers. I have yet to see anyone do this with skinned mesh renderers, though. If they did, they're dumb for not releasing it as an editor extension on the asset store :)
     
  33. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    But wouldnt that dramatically reduce texture detail?

    STeve
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    <g> well making something salable and supportable is a lot harder than making something that just works for your project. Likely it would be a support nightmare when all the mmorpg "ceo's" get ahold of it.

    Depends on the size of the textures, the atlas, and how much you shove in there. But likely, yes. I would say in many cases the texture detail can safely be lowered on many models anyway.
     
  35. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Depends, if you packed the textures from the neck down to a 2048x2048, it shouldn't look too bad. That's still significantly higher resolution than skyrim.
     
  36. jedy

    jedy

    Joined:
    Aug 1, 2010
    Posts:
    579
    Using a texture atlas shouldn't be a performance issue. The most you do via code and the less with shading - the better performance. The code just executes once. I wander how would Unity's mesh cloth simulation would behave if I used it for say - on the torso, and than combining the meshes.
     
  37. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    What?
     
  38. siflandolly

    siflandolly

    Joined:
    May 17, 2011
    Posts:
    141
    I'm just brainstorming but could it be something like this:

    public class Outfit_Legs{
    public GameObject [] legOutfits;

    public void Wear(string outfitName) {
    //code to disable all other outfits and enable the GameObject with "outfitName"
    }
    }

    and then you would have a separate class for each body part
     
    Last edited: Feb 15, 2012
  39. jedy

    jedy

    Joined:
    Aug 1, 2010
    Posts:
    579
    I thought someone said it would be a hit on performance.

    Exactly.
     
  40. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Oh, no. Steve was saying it would be a hit on texture detail (which isn't exactly untrue, but a 2048px texture on a gauntlet is wasted gpu memory).

    I was saying having 8 skinned mesh renderers with 8 materials and 16 (bump/diffuse) 2048px textures per character is a performance hit, and it'd be nice if the body from the neck down was atlased and stitched into 1 mesh and 1 material.
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    This is taken from working code.

    Code (csharp):
    1.  
    2.  
    3.     private List<SkinnedMeshRenderer> AddElement (GameObject SourceObject, string SlotID)
    4.     {
    5.         string typeid = "_" + CharacterSex.ToLower () + "_";
    6.        
    7.         Transform t = this.gameObject.transform;
    8.        
    9.         if (!string.IsNullOrEmpty (SlotID))
    10.         {
    11.             DeleteOldMesh (SlotID, t);
    12.         }
    13.        
    14.  
    15.         GameObject SourceInstance = (GameObject)Instantiate (SourceObject);
    16.        
    17.         List<SkinnedMeshRenderer> Renderers = new List<SkinnedMeshRenderer> ();
    18.        
    19.         SkinnedMeshRenderer[] BonedObjects;
    20.         BonedObjects = SourceInstance.GetComponentsInChildren<SkinnedMeshRenderer> ();
    21.        
    22.         int MatCount = 0;
    23.         foreach (SkinnedMeshRenderer i in BonedObjects)
    24.         {
    25.                 if (i.sharedMesh.name.ToLower ().Contains (SlotID))
    26.                 Renderers.Add (ProcessBonedObject (i, t));
    27.         }
    28.         Destroy (SourceInstance);
    29.         return Renderers;
    30.     }
    31.    
    32.     private SkinnedMeshRenderer ProcessBonedObject (SkinnedMeshRenderer ThisRenderer, Transform t)
    33.     {
    34.         GameObject NewObj = new GameObject (ThisRenderer.sharedMesh.name);
    35.         NewObj.transform.parent = t;
    36.         NewObj.AddComponent<SkinnedMeshRenderer> ();
    37.         SkinnedMeshRenderer NewRenderer = NewObj.GetComponent<SkinnedMeshRenderer> ();
    38.         Transform[] MyBones = new Transform[ThisRenderer.bones.Length];
    39.         for (int i = 0; i < MyBones.Length; i++)
    40.         {
    41.             MyBones[i] = FindChildByName (ThisRenderer.bones[i].name, t);
    42.         }
    43.         NewRenderer.bones = MyBones;
    44.         NewRenderer.sharedMesh = ThisRenderer.sharedMesh;
    45.         NewRenderer.materials = ThisRenderer.materials;
    46.         NewRenderer.castShadows = true;
    47.         return NewRenderer;
    48.     }
    49.  
    50.     private Transform FindChildByName (string ThisName, Transform ThisGObj)
    51.     {
    52.         Transform ReturnObj = null;
    53.         if (ThisGObj.name == ThisName)
    54.             return ThisGObj.transform;
    55.         foreach (Transform child in ThisGObj)
    56.         {
    57.             ReturnObj = FindChildByName (ThisName, child);
    58.             if (ReturnObj != null)
    59.                 return ReturnObj;
    60.         }
    61.         return null;
    62.     }
    63.  
     
  42. jedy

    jedy

    Joined:
    Aug 1, 2010
    Posts:
    579
    Yeah, thanks. I'm a bit distracted today.
     
  43. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    BUt how would that work for on the fly equipment the character may find on his journeys? He may start as an atlassed stitched character, but then by the time he is on his quests, his look could have changed dramatically?
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Steve - the atlas building would have to be part of the stitching process, so basically, each character (or character type) would have it's own atlas.
     
  45. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Jaimi, check your PMs :)
     
  46. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Jaimi.. thats the way i normally make characters with one texture, so isnt this defeating the purpose of the character lego kit?
    Or am i not understanding

    BY the way.. i love all the interaction going on about the pack - makes me feel everything was worthwhile with the pack!
     
  47. siflandolly

    siflandolly

    Joined:
    May 17, 2011
    Posts:
    141

    The pack is beautiful. You should be very proud of all the work you put into it :)
     
  48. Rajmahal

    Rajmahal

    Joined:
    Apr 20, 2011
    Posts:
    2,101
    Indeed ... it really is very impressive. Great work, Steve!
     
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I think you're missing that you would do this as part of the stitching process. So each type of character would have it's own unique texture generated at runtime depending on which part was attached at the time. This sort of thing is probably best done only for those who really know what they are doing, as there are tradeoffs (more texture memory usage, vs less draw calls), and it's likely not the best solution in every or even most cases.
     
  50. Legacy

    Legacy

    Joined:
    Oct 11, 2011
    Posts:
    651
    This pack is pretty flexible i like it :)