Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Motion Controller

Discussion in 'Assets and Asset Store' started by Tryz, Feb 21, 2014.

  1. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Thanks for putting out such a premium asset, and caring so much about your users, ANNNNND all the diligent work you've put in.

    One final thing.....C'mooooooooon adv cam.lol
     
    Dark-Muppeteer and Tryz like this.
  2. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Motion Controller v2 is live!


    As promised, the major v2 upgrade is FREE. The new Actor Controller is included for FREE. And, I've included several basic cameras for FREE. :D

    The new UI allows you to setup a character in about 5 seconds... give it a try.

    Over the next week, I'll be posting more videos. However, this one will help you get started:


    A massive thanks to @hopeful , @kurotatsu , @FargleBargle , and @Shawn67 for all the great testing and suggestions. :rolleyes:


    Some not-so-fun notes:

    1. The Adventure Camera is not compatible with MC2... yet. The reason is that walking-on-walls causes the camera to go upside-down and that's a major deal. I'm currently updating that asset now. That said, MC2 does include an "orbit camera" that behaves similar to the Adventure Camera.

    Feedback that I got from users was... get MC2 out so we can play with it and update assets as needed.

    2. MC2 is not compatible with MC1. With Unity 5 improvements and massive changes, they are very different under the hood. Please delete the old MC before importing the new one.

    3. Over the next week, I will be updating all my assets to ensure they work nicely with each other. A major change like this simply can't happen all at once. If you have issues, just email tim@ootii.com and I'll jump on it.

    I apologize for any problems these may cause.


    With that, I leave you with this bit of sweetness...


    And yes...
    Walking on walls is as simple as 1 check box.
    The cameras do let you offset the character from the center.
    You can climb objects that are attached to the walls and ceilings.

    :D


    (I reposted to be on the new page) hahaha...
     
    ikemen_blueD likes this.
  3. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    LOL...
     
    Tryz likes this.
  4. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    588
    any chance for demo ?
     
  5. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Yeah, I do plan on putting a playable demo up. I just need to get the Adventure Camera done first. So, it may be next week or the following.
     
    kurotatsu and blackbird like this.
  6. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    One of the unique things about MC2 is that you can use your own animations to create motions... without writing a single line of code! Check this out...

     
  7. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Well done Tim, your videos are clear and simple, with incredible audio, and great for we happy majority who can have all the most precise documentation laid at our feet, and still prefer to remain visual learners, watching someone who knows his product back to front teach his system.
     
    Tryz likes this.
  8. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Just to confirm, would this deal with the issue we discussed via email regarding the custom animations, so no scripting is required? And will it still work with non-humanoid characters? Really nice job you've done there, it's at the top of my wishlist :)
     
  9. Adrad

    Adrad

    Joined:
    Mar 4, 2015
    Posts:
    11
    Wow, Tim this is just awesome. I thought v1 was great. Thank you !
     
    Tryz likes this.
  10. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Yes.

    The one comment I'd make is that if you're talking about a complex flow of animations that requires raycasts or condition checking... the Simple Motion will be too... simple. In that case you'll really want to create a new motion using code. My guess is that 80% of the time this simple approach will work.

    Yep. :D
     
    jonfinlay likes this.
  11. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Great! Thank you.
     
  12. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Quick question Tim, have you tried this, and actor controller with an Uma 2 character, they are built at runtime, so I think we should look into supporting Uma 2 integration, as this character system is free, and has a growing community surrounding it.

    There is a video in this excellent tutorial playlist that involves adding the standard asset 3rd person controller from unity, worth checking out. If you haven't used an Uma avatar, i'd watch the whole playlist, as it is worth the time, trust me.
     
    Last edited: Nov 24, 2015
  13. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    No, not yet. That and Morph 3D are on my list.

    I did do work with the original UMA, but need to check out UMA 2 once I get caught up.
     
  14. montyfi

    montyfi

    Joined:
    Aug 3, 2012
    Posts:
    548
    Who need those, when Universal Character Customisation has been released :)
    Seriously, please have a look, it has better potential than anything else.
     
  15. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Yeah, adv cam is definitely more important, but felt the need to address it is all.
     
    Tryz likes this.
  16. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    just got a copy! I'm gonna try to try it out tonight.

    His tutorial video was excellent, I hope there is more to come. This one has a good future I feel, and deserves our support.
     
    Tryz likes this.
  17. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    It does look pretty cool. It looks like it's modifying the mesh vertices and leaving the skeleton alone. So, MC2 should work with it already. ;)

    If there's one thing I've learned doing assets... it's that everyone likes different tools. So, my goal is to just work with them all. :D
     
    montyfi likes this.
  18. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    My thoughts on Uma2 were just that such a developed grass roots community that have taken that asset and ran with it, may like one of the premium AAA resources to be the first to out of the box support it, and thus grow our Ootii community.

    Tim's got his roadmap, but it's our job to help keep eyes open and scout possibilities, so he can keep focused.lol
     
    Tryz likes this.
  19. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Love it!!
     
    kurotatsu likes this.
  20. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    766
    Hi Tim,

    Looking at you video's you are very tichtly integrated with Unity's input system. As a Rewired user what would be the best approach in hoking those assets together?

    Awesome asset by the way!
     
  21. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Thanks! :)

    Not really. @kurotatsu has been a great tester and he uses InControl. For my actual game, I use Easy Input.

    The only reason I'm not showing it with InControl or Rewired is that I don't own those. ;)

    But, let me explain...

    The MC (and soon all my assets) will use "Input Sources" to grab input from things like mice, keyboards, joysticks, etc. An input source is a wrapper around any input solutions (Unity's input system, Easy Input, InControl, Rewired, etc). It's based on using an "IInputSource" interface. Basically, you'd implement the interface using your desired input solution.

    This allows me to do things like this...
    Code (CSharp):
    1. bool lShouldJump = mInputSource.IsJustPressed("Jump");
    The motions don't care if you used Easy Input or Rewired to determine if "Jump" was pressed. It just wants a boolean value back.

    So, what does that mean for you? It means you (or someone who owns Rewired) would need to create a new class called something like "RewiredInputSource". That class would implement the IInputSource interface and each function. After that, you could use RewiredInputSource with all your Motion Controller characters.

    Here's a small guess at what that would look like...

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. /// <summary>
    4. /// Starting point for Rewired Input Source
    5. /// </summary>
    6. public class RewiredInputSource : MonoBehaviour, IInputSource
    7. {
    8.     /// <summary>
    9.     /// Test if a specific key is pressed this frame.
    10.     /// </summary>
    11.     public bool IsJustPressed(KeyCode rKey)
    12.     {
    13.         // This is a total guess as I don't own Rewired, but hopefully you get the point
    14.         return Rewired.GetKeyDown(rKey);
    15.     }
    16.  
    17.     /// <summary>
    18.     /// Test if a specific key is pressed this frame.
    19.     /// </summary>
    20.     public bool IsJustPressed(String rAlias)
    21.     {
    22.         // This is a total guess as I don't own Rewired, but hopefully you get the point
    23.         return Rewired.GetKeyDown(rAlias);
    24.     }
    25. }
    26. }
    There are several other functions the interface would require you to fill out, but it would be similar to what I've done (depending on how Rewired works).

    I have input sources for Unity and Easy Input because I own those. That said, if someone who owns InControl or Rewired wants to give me the resulting input source (not the asset), I'll zip it up and include it in the MC package for others.

    I hope that makes sense.
     
  22. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    In our inputs be need to pull from yours, and use an overide bool, and presto.
     
  23. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    I thought this might help explain Input Sources...

     
    kurotatsu likes this.
  24. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    766
    Thanks for the full blown explaining you did. It makes perfect sense! I'll see if I can hook it up that way and let you know.
     
    Tryz likes this.
  25. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    766
    Hi Tim, did you know you can get a trial version of Rewired? Maybe a good starting point to get the system known?
     
  26. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    No. That's cool. Once I get some free time, I'll check it out. Not sure when that will be though...haha.
     
  27. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    Of course the other option is for anyone who already has any of these third party input controllers to see if they can code an Input Source for it, using Tim's tutorial and examples as a guide (and his possible assistance if stuck). They could then submit their working solutions here for anyone else who uses the same controller. This shouldn't be against the license terms for these products, as long as the products themselves aren't shared. You'd still need to own one of them before one of these custom Input Sources would work, but having a library of some of the more popular ones, already set up for anyone who needed them, would be a great community project. :)
     
    Tryz likes this.
  28. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Excellent vid. I'm learning quite a bit from you Tim, thanks.

    I was thinking of just writing an input bridge asset to sell(Give away to some of Ootii community) for some of these gamepad input sources. With this one would still need to buy the controller solution they want, and Ootii's products seperately.

    What do you guys think?
     
    Last edited: Nov 25, 2015
    Tryz likes this.
  29. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    If you can turn it into a "value add" product, great, but if coding these is as simple as Tim says, be prepared for others to post their own code for free. I'm thinking it wouldn't be much of a moneymaker in the end, once free alternatives become available. But if you're the first to roll out a full range of bridge assets, and the price is right, maybe no one else will feel the need to roll their own. ;)
     
  30. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    :), I was thinking if time permits, and I'd have to buy the other solutions just to do it, so in the end probably, just release the incontrol one, when/if I write it, if that's the case.

    We'll see, I framed it out already in my head.
     
  31. Invictum

    Invictum

    Joined:
    Mar 3, 2015
    Posts:
    4
    Oy! I messed around with it.

    Super pro assets Tim as always. Seen you updated Easy Input as well. No rush for quality sake but do you have an eta-ish on the adv cam ;), it is still the best camera I've used by leaps and bounds.
     
    Tryz and kurotatsu like this.
  32. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Thanks, I appreciate that.

    No ETA yet, but it is my top priority (barring show-stopper bugs and Thanksgiving turkey ;)).

    Having a camera that can go upside down while orbiting is the tricky part. Once I get through that, everything else should move quicker.
     
  33. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Well put.

    Trust me there's clamerin line waiting on adv cam.lol
     
    Tryz likes this.
  34. ISH_the_Creator

    ISH_the_Creator

    Joined:
    May 8, 2013
    Posts:
    165
    Thx X Mas came early.
     
    Tryz and kurotatsu like this.
  35. StenBone

    StenBone

    Joined:
    Dec 21, 2013
    Posts:
    42
    Hello Ootii Development Team,

    So I have a rather straightforward problem. I am trying to use Easy Touch 4 as my input solution for Motion Controller. I created a class that inherits from Monobehavior and IInputSource and modified the class to listen to input coming directly from Easy Touch's input manager. All goes well in running the game. I am able to move and rotate my character with the Easy Touch joystick as intended with no errors. My only problem comes when I try to change the Movement Style on my ootii Motion Controller. Whenever I click the Shooter Style movement style, I get the error seen in the image below. I am also going to post my file which inherits from IInputSource.

    Screen Shot 2015-11-30 at 4.46.37 PM.png

    Does anyone have any input on this?

    Thank you,
    Ben
     

    Attached Files:

  36. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Try this, won't guarantee it'll work, but I based it on the help I received for InControl.

    Just add your inputs to this script, and it will override the ones MC looks for.

    This is your new input source, so drag it on the input source and remove the original.

    Let me know if it helps.
     

    Attached Files:

    StenBone likes this.
  37. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Hey Ben, I figured out what's going on.

    In the editor, I'm specifically looking for (and creating if it doesn't exist) a UnityInputSource. What's happening is that I'm finding ETCInputSource and trying to stuff it into UnityInputSource... which isn't right.

    I've fixed it and will PM you the replacement file. I'll upload a new MC in the next 2 days.

    Sorry about that and thanks for being patient! :)
     
  38. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    hahaha... well done Kuro. It would work because you're inheriting from UnityInputSource. Then, stuffing ETCInputSource into UnityInputSource would work. Good short term solution!
     
    kurotatsu and StenBone like this.
  39. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Updated the file above. forgot to make the name change bloodhound92 in the actual script, and just named it different, it should work now.
     
    StenBone and Tryz like this.
  40. StenBone

    StenBone

    Joined:
    Dec 21, 2013
    Posts:
    42
    After looking over the UnityInputSource file, I noticed that it clearly tells me to inherit that class and override functions as necessary in the comments. I did that and now everything is working perfectly.
     
  41. StenBone

    StenBone

    Joined:
    Dec 21, 2013
    Posts:
    42
    Thanks for the help @kurotatsu. I ended up going with that solution after I read the comments in the UnityInputSource file.

    It really pays to read the comments.
     
    kurotatsu and Tryz like this.
  42. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    That certainly works.

    But, you did point out a fix I need to make. I'll update the MC package in the next couple of days.

    For some reason, I couldn't start a conversation with you. But, we're good since you got it working. ;)

    Thanks for the help @kurotatsu
     
    kurotatsu likes this.
  43. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    Looking at the script I posted for bloodhound, got me thinking I need to redo my input source, that is probably why the pivot wasn't working right.lol
     
  44. kurotatsu

    kurotatsu

    Joined:
    May 10, 2012
    Posts:
    588
    That's what community is about.;)
     
  45. imaginationrabbit

    imaginationrabbit

    Joined:
    Sep 23, 2013
    Posts:
    349
    Amazing update! :) Thank you!
     
    kurotatsu and Tryz like this.
  46. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    MC2 works with Morph3D as well.. I did a quick test of it during the beta. Wasn't real impressed with the Morph3D content though, but MC2 worked with it with no problem.
     
    kurotatsu and Tryz like this.
  47. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    766
    Hi Tim, I mailed you the Rewired Input Source I used for testing the integration between Rewired and MotionController. Hope it is of any use to you. Please review as it was thrown together. :D
     
    kurotatsu likes this.
  48. Yulia_Bab

    Yulia_Bab

    Joined:
    Dec 1, 2015
    Posts:
    4
    It's cool!
     
    Tryz likes this.
  49. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    Will do. I just responded to your PM.

    Thank you! I'm sure this will be a big help to others.
     
  50. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,399
    And we think you are too! :D