Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMA Wizard

Discussion in 'Assets and Asset Store' started by esaavedra76, Jan 11, 2014.

  1. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    the new UMA project just became available!!! that was funny...

    guys, the new wizard was submitted. i'm running a bit late, so please allow a couple of days while the submissions gets approved. meanwhile the required fix is actually very easy, i'll post it here in a moment.
     
  2. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
  3. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks for the quick reply. I look forward to using your tools!
     
  4. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks! I bought it today:)
     
  5. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    thank you for your support! 1.21 should become available in the following days. please stand by for a video i'll upload tomorrow (with audio) discussing about the item/inventory system, so you guys can get distracted making weapons and alike while the wizard gets accepted.
     
  6. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi guys! this is WORK IN PROGRESS. it is not available now (1.20), it will not be available on the current submission (1.21), but it will be available for 1.22, which is due a week and a half from now. it is very rough so it needs some work. do note that 1.21 does include the shooter controller script that even if basic, will allow you to quickly control your UMA with your custom animator controller. i'll post a video about that on the next days (with audio :D ). this picture and video is for you to see and share comments on 1.22 features. it will focus heavily on GUI support, but since current item/inventory system is still rough, i'll keep polishing it, including what i show you below.

    i hope 1.21 gets accepted on the next days, i'll let you know when it does.

    $wip122.png

    https://www.youtube.com/watch?v=TMDN52KfQEI
     
    Last edited: Mar 14, 2014
  7. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    Ervin, uma 1.1 is fixed. How about an update.
     
  8. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi mikie, i submitted the wizard's update (1.21) just a bit before UMA 1.1 became available. i spoke with the group and they are trying to help me get this to you guys asap. i was going to post the fix instructions for the current version for you guys to do yourself meanwhile, but they told me they'll try to help the wizard get to you guys faster, so i decided to avoid you guys the trouble. this time i was informed, and the idea was for both updates to reach you more or less at the same time, but i miscalculated, it was my bad.

    so, i'll let you know when it becomes available, hopefully very soon. the videos above belong to the same update you guys will get and that is on its way already.
     
  9. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    ohh, the videos im referring to are the ones on top (there are two), the video under the guy with the gun is for 1.22.
     
    Last edited: Mar 16, 2014
  10. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi guys, 1.21b is available on the store! i will start uploading videos to explain how to use its features, and the beta ones too. actually, i probably will start with the beta ones, which are the ones im more excited about. finally things are converging into what i wish of the tool. it is still very rough on the edges, many features in beta, the gui needs work, but getting there.
     
  11. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi guys, inside here you will find a xml file called 'Troll_Sword_Gun.xml'. i use it on a video im about to upload. its an experiment, youll needed to recreate what i show on the video. ill post the link in a moment.

    https://www.dropbox.com/sh/34gk7p0p01evvor/f8d-gjCGbl
     
  12. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    damn, i was trying to assemble the video using youtube, movie maker it is.. please give me a couple more mins. i'll try to do several of them today.
     
  13. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    I've missed a step somewhere. I started a new project with fresh import of UMA 1.1 and UW 1.21b. Created a basic scene with Scene Wizard. Using Avatar Wizard, I created the UMA/UMAW Environment. Created a Troll avatar called troll. Selected troll in the Hierarchy. Selected Scripts -> Inventory -> Add script -> Item Manager -> Item Manager -> Load -> Opened your .XML file. However, none of the Offset or Rotation fields are updated. Bone is still set to none.

    I wasn't sure if there needed to be a gun and sword object in the scene so I added them from Accessories. Still nothing.
     
  14. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi spectralrook, no, by just loading should be enough. you can press update, but it shouldn't even be necessary. if you pressed load and it didn't updated the coordinates, then probably its a file issue, i just didn't include a routine to complain. let me try to download the same file and check, inc ase is an integrity issue. give me 5 mins and ill get back to you.
     
  15. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    ok dropbox is doing something strange with the file. not sure what it is. ill copy the text here, please rename it as "Troll_Sword_Gun.xml".
     
  16. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    <?xml version="1.0" encoding="utf-8"?>
    <!--UMA Wizard - Action Scripts Defaults: Troll_Sword_Gun-->
    <Parameters Version="1.22">
    <itemTypeCount>2</itemTypeCount>
    <itemTypeName>sword</itemTypeName>
    <animParamAway>
    </animParamAway>
    <animParamUse1>
    </animParamUse1>
    <animParamUse2>
    </animParamUse2>
    <animParamPickUp>
    </animParamPickUp>
    <states>4</states>
    <hash>0</hash>
    <bone>Spine1</bone>
    <px>-0.246316</px>
    <py>0</py>
    <pz>-0.1090573</pz>
    <rx>0</rx>
    <ry>90.00001</ry>
    <rz>0</rz>
    <hash>1</hash>
    <bone>RightHand</bone>
    <px>-0.09184375</px>
    <py>0.07863276</py>
    <pz>-0.008408233</pz>
    <rx>295.1679</rx>
    <ry>353.5962</ry>
    <rz>250.069</rz>
    <hash>2</hash>
    <bone>
    </bone>
    <px>0</px>
    <py>0</py>
    <pz>0</pz>
    <rx>0</rx>
    <ry>0</ry>
    <rz>0</rz>
    <hash>3</hash>
    <bone>
    </bone>
    <px>0</px>
    <py>0</py>
    <pz>0</pz>
    <rx>0</rx>
    <ry>0</ry>
    <rz>0</rz>
    <itemTypeName>gun</itemTypeName>
    <animParamAway>
    </animParamAway>
    <animParamUse1>
    </animParamUse1>
    <animParamUse2>
    </animParamUse2>
    <animParamPickUp>
    </animParamPickUp>
    <states>4</states>
    <hash>0</hash>
    <bone>Hips</bone>
    <px>0.06553706</px>
    <py>0.2006994</py>
    <pz>0</pz>
    <rx>0</rx>
    <ry>0</ry>
    <rz>94.99999</rz>
    <hash>1</hash>
    <bone>RightHand</bone>
    <px>-0.1482714</px>
    <py>0.06315803</py>
    <pz>-0.02655904</pz>
    <rx>295.1679</rx>
    <ry>353.5962</ry>
    <rz>264.069</rz>
    <hash>2</hash>
    <bone>
    </bone>
    <px>0</px>
    <py>0</py>
    <pz>0</pz>
    <rx>0</rx>
    <ry>0</ry>
    <rz>0</rz>
    <hash>3</hash>
    <bone>
    </bone>
    <px>0</px>
    <py>0</py>
    <pz>0</pz>
    <rx>0</rx>
    <ry>0</ry>
    <rz>0</rz>
    </Parameters>
     
  17. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    dear SpectralRook, please confirm if you are able to run it like this. just put the above on an .xml file and load that one. thanks!

    the issue is with the dropbox folder, ill figure out what happened
     
  18. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    ok, i placed it on a .zip file and it appears it works. the file size should be less than 2kb or whatever your OS maps it to. i was getting 31kb due to dropbox doing something to it (if someone know and care to explain ill be grateful :) ).

    anyway, no need to create new file. just download the zip and put the .xml inside the settings folder. it should work now.

    spectralrook, please confirm! thanks!
     
  19. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
  20. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    Thank you. It still wasn't working. So I decided to add the file to the UMAWizard Settings folder. Then it worked. I was originally pulling the file from the download folder my browser dropped it in by default.

    I double checked the original dropbox file as well and it worked once I put it in the Settings folder. haven't checked if that is the only folder it works from.

    Just tried it in various folders, even the root UMAWizard folder (one down from settings) but it won't open it. It only opens in the Settings folder. I also noticed that if you put the file in the Settings folder and somewhere else, then try to open the file not in the Settings folder, it opens the version in the Settings folder.
     
    Last edited: Mar 18, 2014
  21. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    mmm, yes i also noticed that! thank you very much for pointing it out, i'll have that fixed for the next update. im preparing another video, it will be up in 15mins or so, please check it out. the item/inventory is just being tested, but it should become stable on the next updates, when finally the planned fun features will start being added, i hope they justify your patience, as im well aware the asset is still very rough on the edges.

    i'll start uploading videos regarding the features that have been available for a while, in a more paused less-demonstration-more-tutorial manner. i'll keep you guys posted.
     
  22. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
  23. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    First off, I want to say I’m very impressed with UMAWizard. 21b is a big leap forward.

    I’ve just finished watching your Basic Overview video
    . Thank you for that. It was really helpful.

    Starting to look at the Libraries feature. The font color you used (black) doesn’t show very well on Unity Pro’s dark grey. Could you consider changing it so it displays white instead. Another problem I noticed was the Avatar Wizard tab, while creating an avatar, doesn’t have a scroll bar.
    I’m finding other glitches but I’d like to spend some more time with it before mentioning anything. It may be that I’m just not familiar with how the tool works yet.

    Keep up the good work.
     
  24. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi spectralrook, thank you very much for your words and the input! i appreciate any observations you and everyone else can provide to improve the quality of the asset. thank you once again! :)

    i just submitted 1.21c for revision, it has just two small changes. i included the scrolling for the create avatar menu. i will see into including the color theme options.

    1.21c allows you guys to configure the inventory system from the create avatar menu. please check this:

    https://www.youtube.com/watch?v=4Sr_FeKJf9U

    it will remain unlisted until the asset gets accepted.

    1.22 will be focused on GUI. i just want to leave the inventory system at a point that you guys can test.

    i also figured out a solution for placing the items on the body and not having them overlapping the body with different UMA shapes. will include this on the next release.

    finally, guys, the settings only work if the xml files are placed on the settings folder, sorry for that! will get fixed on the next update.

    cheers!
     
    Last edited: Mar 19, 2014
  25. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    btw, another odd glitch is that when you guys are in avatar editing, on the anims tab, transitions, the "transition duration" field is in normalized time. meaning that if you put 0.5 and the "from" animation lasts 50 sec, the transition will actually last 25s. this will also be fixed on the next update, its a small annoyance. you guys will need to compensate manually, sorry!

    i will also make a video about the skeletal adjsut script. it is very handy, i just haven't demoed it yet. it works as with 1.20, but now you can activate the adjustments based on the item being actively selected and/or the animation state being played. IMPORTANT: this script is meant for making small fixes on the UMA, not for replacing what was supposed to be done properly on the animation. i'll try to migrate this into mecanim on future releases (into muscle space).

    this is shown at 8:10 on https://www.youtube.com/watch?v=4UM_4wRWWzc
    (sorry there's no audio)

    please share any thoughts. cheers!
     
    Last edited: Mar 19, 2014
  26. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Can your tool make it easier to get mu own UMA Rigg into UMA. Here is what I have done:

    Case 1) I changed the UMA_Female_Rigg to resemble my own Character. I want to replacee the Human_Female base in UMA with this one.

    Case 2) I am almost done rigging and weight painting my own Character design to the UMA rigg and will want to replace UMA_HUMAN_Female base with this one.

    I have not been able to find who to do this.

    Thanks in advance for any help you and or your tool can offer.
     
  27. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi venged, well i understand the process, just need to make it a tool for you guys to take care of that by your own. please give me until tomorrow to figure out how to implment this on the wizard and i'll get back to you for the how-to's. don't worry, the "race" editor was considered since the beginning, is just that things take a bit of time.

    i'll get back to you tomorrow!

    i'm currently finishing 1.21d, i just didn't want to wait, so i'll upload that with a video in a couple of hours, and then finally get into the GUI for 1.22 and i'll look into the "race wizard" :)
     
  28. Venged

    Venged

    Joined:
    Oct 24, 2010
    Posts:
    500
    Thanks!
     
  29. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi guys, the bad news is that i resubmitted a new package while the previous one was still waiting approval, meaning that i reset the process... meaning that it will take one additional day for the update to reach you.

    the good news, is that i did this to be able to submit 1.21d. please watch the video:

    https://www.youtube.com/watch?v=Xdb8UDm0dCw

    cheers!
     
    Last edited: Mar 20, 2014
  30. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    This is looking better and better!

    But I can see that at some point we're going to need maybe some kind of automatic adjustment to keep UMAs from moving their hands through their hips as they run. It's great that we will be able to make an adjustment through the Wizard editor ... and I suspect this ability would be passed through the GUI to the player ... but if there's any way to automate this - even if it isn't perfect - that would be best.

    Looking forward to the new update! :)
     
  31. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi hopeful, yes i was thinking about that already. currently you can adjust one single UMA with the wizard editor and compensate for the animations and other gadgets, but once you do randomly generated crowd, it won't work. i have been trying to figure out how to do this. at this moment i think it will be via a math function, like the UMA DNA does, and then this formula will be applied to the randomly generated crowd. also, since the adjustments are not only required to compensate for the UMA's shape but for the animations too, then the workflow wouuld be to get one UMA, select its animations, place everything in place, make the adjustments, etc. then a magic function will capture this, and reproduce on any randomly generated UMA that uses the same animations.

    1.22 will focus on GUI, but 1.30 will be destined for crowd. i have always planned to add some sort of AI scripts to handle the crowd and other nice stuff, and this adjustment thing will definitely be there. i also plan to support playmaker for the crowd behaviours, but this is somehting i'll do for future releases.
     
  32. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    Is it possible when you make your movies to put some time so one can see what you are clicking. Look at some movies I have mathprofessor7000. Also I have power tools installed with the wizard. Are they compatible? Once I create an avatar with the wizard can I create a prefab?
     
  33. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi mikie, yes i know my movie making skills need lots of work! i changed the way i capture them, so the mouse pointer is hidden now, and i know it makes things harder. i record my voice separately with my phone, its really funny and time consuming every time i make a video (that is why when i'm on a rush i leave them without audio). i actually have a nice tascam mic, but i haven't taken the time to setup a proper "studio". want to buy magix video app. anyway, please allow me a few more videos as currently done and i promise i'll put more effort into improving the movie quality and clarity.

    yes, i will record a video using powertools, there are several users who have also asked about that. i basically bought licenses for all the assets i need to support with the wizard (NGUI, daikon, playmaker, PT, etc.), just haven't gotten to that point yet. the way PT and the wizard are made, there shouldn't be any problem. let me look into that and i'll get back to you.
     
  34. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi mikie, you can even create a prefab without PT. actually, 1.21d includes one. the wizard creates an object with the umadynamics assigned to it. any additional wizard scripts are also assigned to this object and kept when you make the prefab. all you have to do is drag it back to one of your folders and voila. i tested it yesterday when i submitted 1.21d, and there wasn't any problem. if you do notice one please let me know. i'll make a short video about this and publish it too.
     
    Last edited: Mar 20, 2014
  35. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    what the prefab will need, is for you to configure it to use PT's threaded generator. at this point you will have to create the UMA with the wizard. configure everything. and then before making the prefab, change the generator to PT's one. i'll definitely make a video about this later on today.
     
  36. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    In line with what you're saying ... my guess is there's a standard animation adjustment to make based on math for all UMAs, and maybe this should be part of the whole UMA system ... maybe something that could be included in UMA 1.2 or after. I don't know if the UMA devs will ever work on this, but I can see where it's a problem everyone using UMA will have to address. If an animation adjustment is going to happen, it would be best to get a universal solution done and out to people before we get too far down the road.

    It seems to me this math-based adjustment would be the primary one, giving a regular UMA user the expectation of UMA being ready for animation in most clips. Then the game developer makes smaller adjustments specific for the animations he's using.

    Now, being new to Unity and game design, I'm not at all familiar with the process of making these adjustments. Is it possible to pair the second set of adjustments - the "fine tuning" ones - to each animation? Because in Unity we buy animations from several sources, and I can see where maybe there would be the need for making micro-adjustments here and there.

    No doubt you're way ahead of me on all this, but there's my 2 cents. :)
     
  37. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi hopeful, thank you very much! i have constant contact with the UMA devs. i have been focused on getting the wizard to the full featured point, were the work will then be optimizing, polishing, user interface and stuff like that, and i'll hopefully will start contributing also to the UMA base. this is a must.

    it shouldn't be hard, and i agree it must be a generalized solution. i'll think about this and discuss with the guys from UMA. stay assured we'll figure out something. please do allow me a couple of weeks while i finish the wizard's GUI stuff and the crowd options (as i also told the guys from UMA), and i'll get into this and the asset dependencies issues (both are general concerns for UMA, not only for the wizard).

    cheers!
     
  38. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi guys, unity guys must be a bit busy, as it is taking its time, but i'm still here and working! please be patient, 1.21d should hopefully be accepted any moment soon. meanwhile, progress so far towards 1.22:

    - added options in settings to instruct the wizard which umagenerator to use (to start supporting powertools, more use of powertools will come with future updates).
    - added options in settings to select font color (for pro users to read better)
    - added options in settings to include your own folders for asset search. at least for 1.22, the standard UMA main folder will need to be on the "official" location, that is Assets/UMA. i'll add more flexibility for 1.30.

    in progress for 1.22:
    - avatar booth scene: for you to take pictures of your UMAs and slos :D well, the idea is that if we are going to include nice avatar GUI scripts, this must be done the proper way. it will be "lite" version now, improved for 1.30
    - GUI scripts to handle both slot/overlays and items. native unity's GUI for the moment. NGUI and daikon for 1.3X
    - bug fixes and required improvements for existing features

    if enough time, if not left for 1.30:
    - second hand IK wizard script. the skeletal adjustment is for shoulders, elbows, upper legs and stuff like that. maybe the reload animations is a shoulder/elbow issue (as there is no location to target the IK, as the hand is floating through the air), but when holding the weapon, the hand becomes fixed. so this script will be a basic IK solver for just shoulder/elbow/wrist for use with two handed weapons. workflow will be to assign the weapon to one hand, and include the IK to assign the other hand to either the same hand (and offset its position), or to a location specified on the item type, trying to figure this one out.
    - proper visual aids for skeletal adjustment script
    - access to the skeleton adjustment scripts (including IK), from the animation tab
    - initial version of a combined uma recipe and umaw scripts "recipe".

    once i have the avatar booth and some GUI scirpts i'll post some pictures. guys, please note this next update will take at least one more week in submitting. please be patient.
     
    Last edited: Mar 25, 2014
  39. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I figured that since you posted to be patient about 1.21d coming out, it would appear just after your post, and ... sure enough, there it is!

    UMA Wizard 1.21d is live.
     
  40. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    indeed! cool. ok, some things to bare in mind,

    1. the shooter controller and third person scripts don't have editing options via the wizard, just the create ones. so once they get added on the create avatar menu, if you need to modify them, you'll have to use the inspector.

    2. if you change add new slots/overlays into your project after you have created the UMA context, you will need to remove the UMA/UMAW environment from the project (with the wizard button! not necessarily manually), and then add it again for the wizard to detect the new changes.

    i'll start uploading pictures about 1.22 as i get them. i will change 1.21d videos to public now.

    cheers!
     
  41. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    First, thank you very much for this great asset.

    Second, UW is still very bugged and the most annoying one is loosing relation with the created UMA objects:

    a) If we delete a UMA object, sometimes it won't delete the respectime UW clone and from that point all messes around.

    b) Sometimes it begin to create tons of clones (on edit mode) and it all messes aswel (the solution is to delete the UW every child object created by UW) and start again or recreate everything.

    I think UW don't like that we move or edit the objects outside the wizard and that's not good. Devs always test things, apply external scripts, rename, delete, move and your tool must be able to resist to such thing and validate, validate, validate... ;)

    You can't clone something that doesn't exist. So first validate if exist... You can't access a renamed object with the old saved name. So, validate... and so on...

    But overall I'm very satisfied with the wizard and it performs very well on some other more stable functionalities.

    __________________

    Now I have a simple thing that I would like to see implemented in the Wizard:

    Lets suppose we have two different types of characters, for example: Citizens and Policemen.

    They share one thing - they are UMAs. But they have different behaviours, different scripts assigned, different managers and controle stuff. They may have also different appearence and use different items...

    What I need is that each created UMA can be assigned to a parent object containing all PREDEFINED scripts and everything specific to a specific PREDEFINED role (or character class). (Taking the given example, Citizen or Policeman...)

    I want it to be a parent object because, for example, if a Citizen become a Policeman, I just need to clone the UMA inside a new Policeman container. Right?

    You can say 'the new stuff (controller and scripts) do that!'. Well, they do but just AFTER or DURING UMA creation in editor. What I want is to be able to have a list of roles, each representing a group of scripts to load automaticly on a parent object when the UMA is spawned in runtime.

    Does this makes sense to you?
     
  42. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi tron! thank you very much for your input. i'll get that fixed. i tried to approach the moving, deleting, etc. the umas around with the "not being always selected" function (auto-select), but i know i need to make this more robust. im in the process of having that working better (you can actually see some debug messages sometimes, thats me trying to monitor and improve that). ill see that this is working much better for 1.22! thank you for your patience.

    ok, regarding your request, very interesting. let me get into the same page first... so the idea is to create like "classes", which will be made from the UMA (meshes+textures), and the scripts. the latter will add behaviors, and other stuff not related to the physical self (virtual physical body), but into its role in the game so to speak. actually im treating the uma object you see in the hierarchy as the root, as all scripts get assign to them. if you notice all the uma physical self stuff go on the child (the one mark as "clone"). thus youll find the animator, skinned mesh and other stuff there. so in a certain way the hierarchy already exists, what is missing is some kind of additional recipe...

    so, i would say to a new crowd generator for example, generate 10 police men and 50 citizens. the wizard crowd generator will then procedurally generate 10 police umas, with scripts, items, etc. associated with the police class. it will then do the same with the citizens. something like that?
    so you will somewhere define the class policeman as having script X and Y, from the wizard and from yourself, and linked to a certain type of UMA (like being all tall, and strong, etc., while the citizens may have children UMA bodies, and elders, etc.).

    more or less like that??

    please confirm, i find this very interesting
     
  43. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    Yes, pretty much that, regarding the classes. The goal is to be able is to load a PREDEFINED set of scripts (with the specific behavior and appearance) that characterize a particular 'class'.

    For example some AI are patrolling, some others just interact, some have comon aspect others may be bone twisted, etc. By what I undersatnd from the UMA concept that's like create a new race, but I'm just guessing...

    The main problem is that I can't change the character controller script from the inspector the way it is now. It's embebed in the UMA_Human_Male/Female prefab, I think.

    The parent object may not be a good idea. That came to my mind just because I'm struggling with a problem that I can't solve yet:

    We can easily change the Animator and assign it individually to any created UMA. That's great! But what about the Character Controller or some sattelite scripts that need to be in the same element as the collider or the rigidbody just because they are kind of standard and I don't want to recode them. I give you an example - the ThirdPersonCharacter.cs script from the Sample Assets. It uses an external controller (ThirdPersonController.cs) to get and process the input part then it sends the control to the ThirdPersonCharacter script that takes care of the character dynamics.

    Now, how do I use these 2 scripts with a UMA? I think I just can't. Because the Male_Unified has a pre built controller and we can't override it from the inspector or from the Wizard and even if we could, we'd still need to assign the ThirdPersonCharacter.cs because it needs to be on the same object to acces the needed elements (Rigidbody and collider). (Damn, this is getting difficult to explain, I hope you copy what I'm saying).

    Maybe all this because I'm a noob :p Ok, I admiy that! I'm used to deal with managers and controllers on the parent object on top of the hierarchy, not deep inside in an object that isn't created yet and comes from I don't know where with stuff I don't need or I don't know how to change :p

    I've made a prefab similar to UMA_Human_Male with all that I need to make it work but... how do I evoke it. There's no visible variable where I can select the source prefab, right? It always come with the Male_Unified and the damn Locomotion script... :)

    If someone can put me on the right track I'll be much appreciated.
     
    Last edited: Mar 26, 2014
  44. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi tron, i understand the animator issue. have you seen the latest wizard video?
    https://www.youtube.com/watch?v=Xdb8UDm0dCw

    well, in here i'm using a custom animator controller. you can repeat the same process. are you a coder? well, if you examine the script for the wizard's very rough (just for the moment!) thirdperson controller, it disables the uma locomotion one if present, and runs itself. is that what you are referring to?

    even if you don't use the wizard's animator controller, you can add your own. you can manually override the locomotion script and take control of the UMA. you can guide yourself with how the wizard does it.

    getting back to the classes, i find this a wonderful idea, thank you very much. i'll implement that in the current update (towards 1.22). i think the classes idea won't be added into UMA, because it involves something that you may want to do differently, and contradicts the purpose of UMA. they want to leave UMA as "pure" so to speak as possible. we were actually discussing today the adding of the asset filters, and the suggestion was to implement the infrastructure, but not to suggest if jacket, jeans, body, hands or whatever tag was made. this is left subjective, to the community, artist, user, etc. the idea is to keep the UMA as generalized as possible, with no biasing. but i can implement that into the wizard.

    once again, i loved the idea. we can have that batched, and have a wizard crowd (which is already in the making), take care of creating the class, which will contain a UMA recipe with a certain range of randomization (once again, it's likely you won't have 8 year old 1 meter tall policemen), and a combination of scripts, both the wizards and user's (you) defined. then the crowd will populate the scene with both UMA classes. lovely!!

    please let me know if you have more ideas on this matter, i'll have them implemented.

    guys for you all, i am perfectly aware the wizard is buggy, trying to solve those and add all the features as fast as possible. as always please be patient. i'll state all the beta features as such, for you guys to be careful when using them.

    cheers!
     
  45. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi tron, regarding the locomotion script, this is a piece of the shooter controller script (is not the third person one, sorry)

    void Load()
    {
    animator = gameObject.GetComponentInChildren<Animator>();
    rigidbody = gameObject.GetComponentInChildren<Rigidbody>();
    camera = gameObject.GetComponentInChildren<Camera>();

    if(animator rigidbody)
    {
    animator.applyRootMotion = !animationsInPlace;

    Locomotion locomotionscript = gameObject.GetComponentInChildren<Locomotion>();
    locomotionscript.enabled = false;


    animator.SetBool(crouch.variable, crouching);

    loaded = true;
    }
    }

    that line disables the locomotion script if present. is that what you are referring to?

    please examine UMAWizard\Scripts\Actions\ShooterController1.cs
     
  46. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    Great, about the Custom Classes! \m/

    Now, the controller thing... I've seen the shooter script and I've tested it following the video. All worked as intended!

    But when I tried to adapt my own, already made, already full of PlayMaker, Final>Ik and other stuff, and loved controller script, it doen't work because I can't assign it (along with its helper) to the same object where Rigidbody and Collider are. By other words, I have two scripts that need to be attached to the automatic generated Male_Unified (or whatever that contains the main physic elements) which is child of UMA_Human_Male (clone).

    I thought about putting these scripts in you Scripts\Actions directory and include them in the UMA.UMAWizard.Actions namespace to be able to attach them via Wizard but I decided not to do it and stay with my rule of thumb of keeping my development tottally separated from third party products. That's the way it should be.

    So, I don't want to make a new controller. I need to be able to add my own scripts to the model parent object OR to be able to choose a different one.
     
  47. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    hi tron, i understand. let me try to help. first, is it possible for your scripts to look out for the rigidbody, animator, etc. down the children tree? like the way i do it in the above script:

    animator = gameObject.GetComponentInChildren<Animator>();
    rigidbody = gameObject.GetComponentInChildren<Rigidbody>();

    if not, please explain why, and we'll look for an alternative.
     
  48. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    tron, what do you mean by "choosing a different one"?
     
  49. esaavedra76

    esaavedra76

    Joined:
    Jun 15, 2013
    Posts:
    128
    tron, also, your own mecanim animator controller should be working, i imagine the problem is with the playmaker file controlling teh animator... it doesn't find it. is this right?

    could you create an avatar and "try" to use the shooter controller to more or less control it? just want to isolate the problem. this should work, at least assuming you are using float variables for forward movement. please let me know.
     
  50. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    The UMA gets the 'seed' to generate the toon by getting the UMA_Assets\Races\UMA_Human_Male\Male_Unified, right? This is the prefab that contains default stuff like the controller I want to override.

    With 'Choosing a different one' I mean If we could tell the Generator to use MyOwnPrefabWithMyOwnDefaultScripts instead.

    I'm still after a way of accessing the need elements and keep things like they are. I understand Fernando concearn regarding keeping the core closed enough... So I'll keep trying... :p

    I'm getting 3 errors, trying to acces tose elements from parent:

    collider cannot be cast to CapsuleCollider
    UnityEngine.Debug:LogError(Object)
    GodThirdPerson:Start() (at Assets/_Thinkers/Scripts/GodThirdPerson.cs:64)

    NullReferenceException: Object reference not set to an instance of an object
    GodThirdPerson.Move (Vector3 move, Boolean crouch, Boolean jump, Vector3 lookPos) (at Assets/_Thinkers/Scripts/GodThirdPerson.cs:86)
    GodTPController.FixedUpdate () (at Assets/_Thinkers/Scripts/GodTPController.cs:100)

    NullReferenceException
    UnityEngine.Rigidbody.get_velocity () (at C:/BuildAgent/work/d3d49558e4d408f4/artifacts/EditorGenerated/NewDynamics.cs:559)
    GodThirdPerson.Move (Vector3 move, Boolean crouch, Boolean jump, Vector3 lookPos) (at Assets/_Thinkers/Scripts/GodThirdPerson.cs:86)
    GodTPController.FixedUpdate () (at Assets/_Thinkers/Scripts/GodTPController.cs:100)

    ______________________

    The problem is here somewhere because log shows he can't get the capsule:

    void Start () {
    //animator = GetComponentInChildren<Animator>();
    //capsule = collider as CapsuleCollider;

    animator = gameObject.GetComponentInChildren<Animator>();
    rigidbody = GetComponentInChildren<Rigidbody>();
    collider = GetComponentInChildren<CapsuleCollider>();
    capsule = collider as CapsuleCollider;

    if (capsule != null) {
    originalHeight = capsule.height;
    capsule.center = Vector3.up * originalHeight * half;
    } else {
    Debug.LogError(" collider cannot be cast to CapsuleCollider");
    }

    rayHitComparer = new RayHitComparer ();

    SetUpAnimator();
    }
     
    Last edited: Mar 27, 2014