Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice

Motion Controller

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

  1. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    191
    Actually, I did download some of them and have them somewhere. I will see if I can conjure them up.
     

    Attached Files:

    Tryz and hopeful like this.
  2. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    191
    @Tryz Great first video for your new channel. I really hope you release what you have shown at some point. Your assets are still top tier in the asset store. 1st subscriber by the way.
     
    FarNiche and TeagansDad like this.
  3. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    FarNiche and TeagansDad like this.
  4. FarNiche

    FarNiche

    Joined:
    Jul 24, 2014
    Posts:
    15
    It would be great to have a revival of the ootii game controller platform asset collection. Those packages load into Unity 2022.3.12f1, and it works well.

    I found the ootii Knowledge Base still up and running.
    https://ootii.com/knowledge-base/

    Currently I'm trying to get the now de-funked DevDog Inventory Pro usable with the ootii character controller and I believe there was a video someplace somewhere that had something to do with that. It's a hard ask if that is still a thing.
     

    Attached Files:

    Tryz and TeagansDad like this.
  5. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    191
    I was able to find a few videos that I had squirreled away for the motion controller. Luckily the Inventory Pro integration was included out of the 6 that I found. I have shared them with Tim and will probably become available at some point in the near future on his new youtube channel listed previously.
     
    FarNiche and Tryz like this.
  6. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957

    I don't have a copy of the video for that, but here is a link to an integration package with Inventory Pro that I was working on a few years ago (I was calling it "Advanced Inventory Pro Integration":

    https://drive.google.com/file/d/1QxzditGlIadwMS8jeNHim-gTNjwpQGys/view?usp=sharing

    This file is a .unitypackage, so just import it as usual.

    I was building it to work more like the included Basic Inventory component, where you could would equip a weapon in the Inventory Pro UI, but your character wouldn't actually draw and "equip" the weapon (and thus transitioning into that stance) until you press the input key to draw the weapon. I'm pretty sure that I had all of that working well, although there may have been some bugs still present.

    Looking over the source code, it appears as though I had it so that you could add spells to the shortcut bar and equip them if you have the Spellcasting Motion Pack installed.

    It must have still been an early in development project, as the script files that reference classes included in specific Motion Packs don't have #if directives to exclude code if those references aren't present, so you may get some compilation errors if you don't have all of the Motion Packs present.

    There is a demo scene in Assets/ootii/Integrations/Devdog/InventoryPro/_Demo/ named "Inventory Demo" that should have a working character set up with a Sword & Shield, Bow, and Spells. Hopefully, you can use that as a guide. Feel free to use or modify any of the code in the package.

    I'm going to emphasize the "should" in all of the above statements. The package was created in Unity 2019.4.8f1, and I don't currently have Unity installed anywhere to be able to give this a quick test (my gaming laptop just died a couple of weeks ago).

    Let me know how it works out for you!

    EDIT: I installed Unity 2019.4.40 LTS and the demo scene still works (the sword gets attached to the character model's hand with the wrong position and rotation though). Make sure that all of the ootii component input keys are set up. Easiest way to do it is to run the Character Wizard with the PlayerBot prefab in a blank scene and pick the Ultimate Fantasy Hero profile which will ensure that the input keys for all motion packs are set up as well.

    You'll also need to set the path to the Inventory Pro database the first time you run its Main Editor. The data for the demo is located in Assets\ootii\Integrations\Devdog\InventoryPro\_Demo\Data.

    I initially tried loading it in Unity 2022.4 but the Player script (from Inv Pro) on the character wasn't loading and I was getting a few other errors.
     
    Last edited: Jan 19, 2024
    Tryz likes this.
  7. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    I posted quite some time ago that I had an archive of the files once hosted on the Motion Vault (or most of them), and please accept my apologizes for this very long overdue update. I'm not sure if anyone still needs them, but at least they should be made available for anyone who wants them.

    I checked my archive with the last snapshot of the Motion Vault on the Wayback Machine, and while I am missing a few items, I do have the majority of them.


    Twitch Movement by ootii
    Very simple motion used as the basis for Super Mario style games. The motion has very few animations and transitions are short. So, it is very response. The goal of this motion is to get you started with your own arcade style movement. Improve as needed.

    Note: Part of the responsiveness comes from the Unity Input Manager entry settings. Ensure 'Horizontal' and 'Vertical' have the 'Gravity' and 'Sensativity' values you expect (10 worked well for me).

    Download: https://drive.google.com/file/d/1H9bjSP5JoOOnTPobIp_OKV4ZEBOSQZp3/view?usp=sharing

    Swim by FargleBargle
    Simple swim motion that understands sea-levels and allows your character to float and swim. Major props to FargleBargle for taking the fly tutorial and turning it into something even cooler.

    Download: https://drive.google.com/file/d/1qdDUCTssu9RDmGsU5WGAo0rFV3W_gStD/view?usp=drive_link

    Fly by ootii
    Simple hover and fly motion that allows your character to fly like Superman.

    Download: https://drive.google.com/file/d/1NZz_qImDssodAsZAMgnDjXJ06d2ABeoZ/view?usp=sharing

    Mixamo Magic Pack by Rusted Games
    Basic movement motions for use with Mixamo´s Magic Pack animations.

    Download: https://drive.google.com/file/d/1ZjA7rtOGpwOWlAbusV5Bvy0LMaCf-8UG/view?usp=sharing

    Movement Animset Pro Motions by ootii
    Basic walk/run motions that use animations from Kubold's Movement Animset Pro asset found on the Unity Asset Store. Uses the older paradigm for motions before the advent of the "Basic" Idle and Walk/Run motions.

    Download: https://drive.google.com/file/d/1V4nadGe8DKHUHDDtSrAXFf5gaaAjLQuD/view?usp=sharing

    NPC Based - Movement Animset Pro Motions by ootii
    Basic walk/run motion for NPCs that use animations from Kubold's Movement Animset Pro asset found on the Unity Asset Store. Uses the older paradigm for motions before the advent of the "Basic" Idle and Walk/Run motions.

    This motion is a much simplier movement that uses a single blend-tree. I typically avoid blend-trees since they don't transition in and out nicely, but I got this one to. The code for the motion is much simplier as well.

    Note: Please look at the Read Me. There is one additional task you need to do.

    Download ReadMe: https://drive.google.com/file/d/1KF7WY3R53jkqOvzkSMDRuV5Th4ez12ky/view?usp=sharing
    Download Motions: https://drive.google.com/file/d/1v-i1Amy3sexpTbP9J33h_yP3ffzLyW0e/view?usp=sharing


    Sword Animset Pro Motions by ootii
    Basic walk/run and attack motions that use animations from Kubold's Sword Animset Pro asset found on the Unity Asset Store.

    Note: When importing the Sword Animset Pro animations, they may be put in different folders based on what packages you already own from Kubold. So, if your sub-state animator has no animations, they will have to be added manually.

    Note: I didn't create different instructions for the SAP motions... just follow the steps from the MAP motions.

    Note: This was created well before the Sword & Shield Motion Pack. These motions are not built to integrate with the melee combat flow crafted with the Sword & Shield Motion Pack. You can certainly use it as a starting point, but they won't just work together.

    Download: https://drive.google.com/file/d/10RUrQwPTQgUzqTdyrvJ4ta0CPu0ZZ0X1/view?usp=sharing

    Rewired Input Source by cygnusprojects
    A basic input source that uses the Rewired Unity asset for managing user input.

    Note: Guavaman from Rewired was kind enough to put together a prefab for adding the script to your scene. You'll find that in the download.

    Download: https://drive.google.com/file/d/1-Dc9g2yYPSh-8Kum62V47tf9kYhLaPio/view?usp=sharing

    Footsteps by FargleBargle
    Add footstep sounds to your character with this easy component. Use tags to specify different ground types for different audio clips.

    Download: https://drive.google.com/file/d/1Q85m2gA3WBfTDSMeXMTwI6Ve1Xe149yC/view?usp=sharing

    Realistic Effects Pack 4 Sample Spells by ootii
    Sample spells for use with the Motion Controller Spell Casting Motion Packs.

    Download: https://drive.google.com/file/d/1cZtY0rFwgWJrvsuShXjMLV2ecWyOdpIc/view?usp=sharing

    Node Canvas by ootii
    Node Canvas actions and conditions that integrate with the Motion Controller. I've updated this to support MC 2.6+ and NC 2.6.3.

    Download: https://drive.google.com/file/d/1Jtr56lG6LndIvVSmg8jHUG8G9O1_qF00/view?usp=sharing

    PlayMaker for Camera Controller by mdotstrange
    Playmaker actions to work with the Camera Controller.

    Download: https://github.com/mdotstrange/CameraControllerPlaymakerActions

    PlayMaker for Motion Controller by salja
    Playmaker actions to work with the Motion Controller.

    Download: https://github.com/Salja/ootii-Playmaker-Actions

    Terrain Hole Activator by ootii
    A small script that will allow your character to walk through "holes" or "doors" in your terrain. Just follow the instructions in the file.

    Download: https://drive.google.com/file/d/1u3UelPzOT-9vJ-BPE-kU5_CiKllCXr91/view?usp=sharing

    UMA by ootii
    UMA is a great character creation tool that uses recipes to create character at run-time.

    Secret Anorak has been kind enough to provide integration steps. Check out this video as it's the latest and greatest.

    Download: https://drive.google.com/file/d/1CivRLsR3ur5QhOSdtpF3PDAlqwKI3i8p/view?usp=sharing
    Video:


    Please let me know if any of my Google Drive links are broken (or point to the wrong file).

    I hope that somebody finds these useful, even after all this time!
     
  8. Tryz

    Tryz

    Joined:
    Apr 22, 2013
    Posts:
    3,402
    Thanks everyone. My heart sank when I saw YouTube took down all those videos. Hopefully with your help, I can get these things back up for everyone (including me).

    While I had to pull way back from creating assets due to work and family, I didn't intent for all the videos and content to vanish.

    Thanks again and I'll post when I get these assets on YouTube (again).
     
    TeagansDad likes this.
  9. FarNiche

    FarNiche

    Joined:
    Jul 24, 2014
    Posts:
    15
    I hear ya', making plans & living life can be two disparate things. But at times the stars align and those two can walk in accord. Thanks for chiming in and for the posts above.

    I've got all of the ootii assets, even the [depricated:] Mesh Merge and Splice, so I'll see how those Motion Vault links/assets work in a new ootii project.

    Hope everything is going well, all the best to you and yours.
    Keep you updated...
    Thank you.
     
    TeagansDad likes this.
  10. FarNiche

    FarNiche

    Joined:
    Jul 24, 2014
    Posts:
    15
    I'm a coder at heart... it's my glorified hobby & passion project to be a tinker/problem solver in C# Unity coding.
    I'll give it a shot and let you know how it goes.

    I did some digging and found these links for Inventory Pro. Devdog is now Sirenix creators of Odin & Validator. They put Inventory Pro and Quest System Pro onto GitHub for others to use at their leisure as they are involved with more prominent Unity Store assets.

    Inventory Pro - GitHub
    https://github.com/devdogio

    Inventory Pro - Docs
    https://inventory-pro-docs.readthedocs.io/en/latest/GettingStarted/Setup/

    Inventory Pro - YouTube (list)


    Hope this is helpful.
     
    TeagansDad likes this.
  11. FarNiche

    FarNiche

    Joined:
    Jul 24, 2014
    Posts:
    15

    All the links point to the correct files. I've got the *.assetpackages downloaded. They are all correctly named.
    I'll get these imported and keep some notes on how all that goes.
    Useful is my hope, that Rewired file should prove interesting.
    :)
     
    TeagansDad likes this.
  12. KeithBrown

    KeithBrown

    Joined:
    Apr 1, 2017
    Posts:
    191
    Did this ever make it into the official code base? Is it available somewhere publicly or is the only way to get it is to email tim?
     
  13. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Does Easy Input still work in recent versions of Unity? I'm using Unity 2022.3.20. A note on the Asset Store page says EI won't work with the new Input System, but I'm still using the old Input Manager. I have an old input switching script that worked fine a few years ago, but I can't get to do anything at all now.

    It's supposed to remap the DPad inputs on an XBox controller so I can use them for something else when in a trigger. Specifically, I have weapon selection normally mapped to the left and right DPad buttons, and camera zoom mapped to the up and down buttons. When I enter the trigger in question I want those buttons to control onscreen navigation for a map display I'm looking at. When trying to figure out why it no longer worked, I noticed that a couple of new input aliases for these buttons had been added to Input Manager, so I added them to my script, and to the Easy Input Source Action Aliases list. Even with them all supposedly remapped, I still end up pulling weapons every time I try to control the display. The display controls also work, but the default actions are still active as well, which gives hilarious though unwanted results. Interestingly, if I manually disable the normal inputs in Input Manager, neither the display or weapon controls work when I'm in the trigger, so EI doesn't seem to be enabling the new aliases either. Since I have debug log calls showing when the script supposedly has been activated, I know it's doing something, but the input mapping never changes. Here's the script if anyone wants to take a look at it:

    Code (CSharp):
    1. // This script deactivates the existing DPad controls to allow it to control something else.
    2. // The new control aliases are DPadX and DPadY, which can be used instead while in the trigger.
    3.  
    4. using System.Collections;
    5. using System.Collections.Generic;
    6. using UnityEngine;
    7. using com.ootii.Input;
    8.  
    9. public class TriggeredDPadToggle : MonoBehaviour {
    10.  
    11.     public string triggerTag = "Player"; // the object that will trigger the activation;
    12.     private bool triggered = false; // true when player is in trigger
    13.     private bool newControlsActive = false; // true when alternate controls have been activated
    14.     public bool deactivateOnExit = true; // switch allows deactivation on trigger exit
    15.  
    16.     void OnTriggerEnter(Collider newTrigger)
    17.     {
    18.         if (newTrigger.tag == triggerTag && !triggered)
    19.         {
    20.             triggered = true;
    21.         }
    22.     }
    23.  
    24.     void OnTriggerExit(Collider newTrigger)
    25.     {
    26.         if (newTrigger.tag == triggerTag && triggered && deactivateOnExit)
    27.         {
    28.             triggered = false;
    29.         }
    30.     }
    31.  
    32.     // Update is called once per frame
    33.     void Update () {
    34.         if (triggered && !newControlsActive) // true if player is in trigger but new controls haven't been activated
    35.         {
    36.             StartCoroutine("ActivateNewControls");
    37.         }
    38.  
    39.         if (!triggered && newControlsActive) // true if player has left trigger and new controls are active
    40.         {
    41.             StartCoroutine("DeactivateNewControls");
    42.         }
    43.     }
    44.  
    45.     void ActivateNewControls()
    46.     {
    47.         newControlsActive = true;
    48.         InputManager.RemoveAlias("Inventory Shift"); // original DPad alias - axis 6
    49.         InputManager.RemoveAlias("Equip Sword"); // original DPad alias - axis 7
    50.         InputManager.RemoveAlias("WXDPadX"); // -> newly added DPad alias - axis 6
    51.         InputManager.RemoveAlias("WXDPadY"); // -> newly added DPad alias - axis 7
    52.         InputManager.RemoveAlias("ZoomCam"); // original DPad zoom control alias - axis 9
    53.         InputManager.AddAlias("DPadX", EnumInput.GAMEPAD_DPAD_X); // alternate DPad alias - axis 6
    54.         InputManager.AddAlias("DPadY", EnumInput.GAMEPAD_DPAD_Y); // alternate DPad Y alias - axis 7
    55.         Debug.Log("Weapon selection off. Map controls on");
    56.     }
    57.  
    58.     void DeactivateNewControls()
    59.     {
    60.         newControlsActive = false;
    61.         InputManager.RemoveAlias("DPadX");
    62.         InputManager.RemoveAlias("DPadY");
    63.         InputManager.AddAlias("Inventory Shift", EnumInput.GAMEPAD_DPAD_X);
    64.         InputManager.AddAlias("Equip Sword", EnumInput.GAMEPAD_DPAD_Y);
    65.         InputManager.AddAlias("WXDPadX", EnumInput.GAMEPAD_DPAD_X);
    66.         InputManager.AddAlias("WXDPadY", EnumInput.GAMEPAD_DPAD_Y);
    67.         InputManager.AddAlias("ZoomCam", EnumInput.GAMEPAD_DPAD_Y);
    68.          Debug.Log("Weapon selection restored. Map controls off");
    69.     }
    70.  
    71. }
    72.  

    Edit: Just re-downloaded and re-installed Easy Inputs, and even the demo doesn't seem to work anymore, at least for the XBox controller. It also still used the deprecated Arial.ttf font in the editor, so its age is starting to show. I may just need to roll something of my own to do this now, using currently supported code.

    Edit 2: Solved my problem by writing a new script that just disables the player's Basic Inventory and Camera Zoom components while in the trigger - the DPad inputs are still active, but they no longer have anything to control but the map display. It's a bit of a kludge compared to the old EI solution, but it works. I'd still like to know what the status of Easy Inputs is going forward. If it's dead, and not coming back, I guess I can switch to the new Input System, or get Rewired if I absolutely have to change input mapping in game in the future.
     
    Last edited: Mar 16, 2024
  14. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845


    Last I heard, he was only doing bug fixes I talk to him by email not to long ago...

    I would use the new input system its better anyways and/or rewired.. There is another input system that is cheap on the store I know a bunch of people who use those too... I use what I mention above....

    I use Motion Controller strictly for prototyping myself and have for years now.... other wise I use my own controller, but when I need to test something I TOSS it in and then, I set up the new input system...its worth doing this.. to be honest.
     
    FargleBargle likes this.
  15. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Thanks. I'm a bit reluctant to switch to Input System because I have a LOT of scripts that respond to button presses in game, and if it uses different commands for that, I'll need to change them all - which means I'll need to track them all down first. Most of the migration tutorials I've seen only cover replacing Input Manager with Input System, and don't cover script changes that might be required afterwards, so I've been making do to save stepping into a giant time suck. Of course if keeping Input Manager starts costing me more time with problems like this, and tools like Easy Inputs can no longer be counted on, I might consider it. I already thought pretty seriously about getting Rewired before coming up with the alternate solution above.
     
  16. mandisaw

    mandisaw

    Joined:
    Jan 4, 2018
    Posts:
    81
    From an architecture standpoint, you're probably better off moving all those scattered button/input-detection calls into a common manager/controller anyway.

    It just makes it easier to debug/update, and as you've already seen, it puts decisions like "new" Input vs old vs 3rd-party more down to what you want, as opposed to being driven by avoiding refactoring.

    You could use delegates/listeners, callbacks to a singleton, or even just an abstraction layer - lots of tutorials to help you out there. Basically some pain upfront to save you pain down the line. Just my $0.02 :)
     
  17. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    So basically throw out 15+ years of work, in exchange for a giant learning curve? I actually like small self contained scripts that just do one thing, like opening a door, or turning on a light. I can re-use them, and even re-purpose them as needed, without ever having to open them up and add new lines when I add a new door or light. While game managers might be the way to go for some people, I prefer to keep the scope of my scripts smaller and more focused. The time to create an integrated all encompassing game manager was 15 years ago, before everything got so big. It will be way too much work to do now. Until I run into an issue that can't be solved any other way, I'll stick with what I know. Thanks anyway. ;)
     
  18. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845

    honestly the new Unity input system is fairly good which surprised me.. I personally get away from using third party assets when possible... sadly my account like many are full of assets that are not supported or that they are just trash...anyways.. So I end up having to rewrite them anyways...

    So I would also look into Unity new system...as well.
     
    mandisaw likes this.
  19. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845


    Yes, reusable is 100% the way to go, this is why I love UE so much and have used for decades, alot of the new tech and some older is all modular, like GAS, and so on... Which is fantastic.... Unity is falling behind all the time, as I mention I think I use Unity way less these days.... I always used UE , but I use Unity much less, as its just easier, better in other engines such as UE.... but when I do use Unity.... The other option which I recommend because you also can reuse inputs easily, with Unity new input system..

    https://docs.unity3d.com/Packages/com.unity.inputsystem@1.8/manual/index.html

    This is one area Unity did right...
     
    TeagansDad and FargleBargle like this.
  20. JC_LEON

    JC_LEON

    Joined:
    May 20, 2014
    Posts:
    520
    i was wondering to purchase ooti controller and all its addons but i would to know if there should be a possiblity to have reuploaded all lost youtube videos since i would to use them for my learning pourposes...

    many thanks in advance
     
  21. mandisaw

    mandisaw

    Joined:
    Jan 4, 2018
    Posts:
    81
    Yeah, like with buildings, software architecture is one of those "more expensive the longer you wait" things. If it was just some random functionality, I'd say no prob, "U do U" lol. But Input is such a foundational piece of pretty much any game, and most players these days expect any input-scheme to be supported out of the box. Cause of a lot of bad reviews.

    You could do a quick & dirty shim - basically mirror the existing static InputManager.GetXYZ calls in your own class, and just have the IDE change InputManager to MyNamespace.InputManager with a basic Find & Replace (or use a Using alias). That at least gives you the option in future to do whatever you want to implement those calls - keep it pointed at the old Input system, change to the new one, or use a 3rd party (think you mentioned EasyInput). Saves you rewriting/breaking any of your existing code.
     
  22. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Fortunately, my "game" is just a hobby project, and the only player I need to worry about is myself, so I have the luxury of not having to chase industry standards that apply to commercial ventures. When input manager limitations become a big enough problem to justify switching, or when I have free time to devote to rewriting everything, I'll consider it, but right now, neither applies. Great suggestions though.
     
    TeagansDad and mandisaw like this.