|
Post by Devistute on Oct 27, 2018 10:31:53 GMT
PuppetMaster & Invector Integration
Works with PuppetMaster 1.0 & Invector 2.5.7's.You should enable "IK Pass" on every Animator Layer for this to work the best. PuppetMaster Set-Up Without Integration *New!- Add "Biped Ragdoll Creator" to your Character & make sure the bones & references are correct.
- Click "Create a Ragdoll", and as the Ragdoll is created & configured by you press "Done".
- Create new Layers, 30 as Obstacles and 31 as Ragdoll.
- Add PuppetMaster Script to the Character, you will now see two fields; "Character Controller" Layer and "Ragdoll" Layer,
set the first to Player (8, or other depending to your project settings) and the second to 31 as Ragdoll.
- Click "Set Up PuppetMaster".
- Now, on "Humanoid Config" field add "Default Humanoid Puppet". To edit the settings of the Config,
you need to open them in the Project view. Do so, and make sure that "Angular Limits" are turned off.Set the Puppets Layer to "Ragdoll", and make sure that Ragdoll and Puppet don't collide in Layer Collision Matrix.*If the feet are in strange positions, go to the Puppets feet in Hierarchy and edit the box colliders Rotation & Size. Also, remember to delete the extra pair of footstep triggers & other triggers that are in the newly created Puppet.* PuppetMaster Set-Up With Integration Click here to Download Partel's Fixed Integration.- Import the PuppetMaster Integration.
- Create new Layers, 30 as Obstacles and 31 as Ragdoll.
- Add "InvectorPuppetCreator.cs" to your Controller and fill in the required "Collission Layer" and "Ragdoll Layer" fields.
Go to "Plugins -> RootMotion -> PuppetMaster -> Prefabs" and drag "Puppet (with fall)" to the "Behaviour Puppet" field. - Right click the Script Header, and select "Create Puppet".
- Your Puppet is now created, and you will notice that your Character and Puppet itself are under new "Root".
Select the PuppetMaster, and add "Default Humanoid Puppet" to Humanoid Config slot. - Use the Search Tool on Project Tab, and find "Humanoid Puppet" Animator. Copy the Sub-State Machines called "Behaviour Puppet" & "BehaviourFall", and paste them to your Characters Animator under ACTIONS on BASE Layer. Create Exit Transitions, add "CustomAction" Tags to getting up animations.
Make Puppet Die when Player dies. Send Event via the Controllers "On Dead" and tell PuppetMaster to Kill.
Footsteps System in PuppetMaster Rig for more Accurate Triggers- Copy the vFootStep Script from the Controller, and paste it to "PuppetMaster".
- Delete the Original Script in Controller.
- Find and Copy & Paste both FootStep_Triggers under the Main Rig and move them to
- same location under PuppetMaster Rig.
- Delete the Original FootStep_Triggers.
- Open the Footstep Script now under PuppetMaster, set the Inspector to Debug and fill the corresponding slots for the FootStep_Triggers.
|
|
|
Post by Invector on Nov 13, 2018 16:54:35 GMT
Very nice! Thanks for sharing the integration @devistute
|
|
|
Post by uberwiggett on Dec 23, 2018 2:48:04 GMT
dang, I got confused and bout Final IK on sale when I wanted puppet master for the cool hit reactions :P ohwell at least now my legs bend up on rocks!
|
|
|
Post by lolchik331 on Apr 7, 2019 16:25:39 GMT
Please VIDEO tutorial!
|
|
|
Post by Devistute on Apr 9, 2019 18:46:24 GMT
Invector & PuppetMaster Video Tutorial As requested, here is Video Tutorial of the Integration.
Remember to turn the Subtitles on. Follow it closely and your Puppet's will work correctly.
Transition Fix
|
|
|
Post by Invector on Apr 23, 2019 20:32:04 GMT
Very well done!
|
|
|
Post by william618 on Sept 12, 2019 23:50:35 GMT
Does it work with the new update of Puppetmaster? I haven't tried yet. It would be so amazing!
|
|
|
Post by Devistute on Sept 13, 2019 10:58:20 GMT
Does it work with the new update of Puppetmaster? I haven't tried yet. It would be so amazing! Haven't tried it either, but release notes indicate that it has almost no actual changes, but tons of improvements & fixes to the system. I'll look into it later, and update the Tutorial if needed. But i'd say this Tutorial works just fine with the newest version too. The new "Prop System" PM has now could be interesting, i shall also look into that and see how it works with Invector. Baker on other hand could be very useful with mobile games as the creator says himself, but that doesn't necessarily need any integration as the physics are baked directly to the Animation.
|
|
|
Post by william618 on Sept 13, 2019 17:45:13 GMT
Does it work with the new update of Puppetmaster? I haven't tried yet. It would be so amazing! Haven't tried it either, but release notes indicate that it has almost no actual changes, but tons of improvements & fixes to the system. I'll look into it later, and update the Tutorial if needed. But i'd say this Tutorial works just fine with the newest version too. The new "Prop System" PM has now could be interesting, i shall also look into that and see how it works with Invector. Baker on other hand could be very useful with mobile games as the creator says himself, but that doesn't necessarily need any integration as the physics are baked directly to the Animation. I have tested it just now. It works smoothly. I needed to create a new character. You are really awesome to have made this integration I am so happy. Without it I wouldn't have invested into puppetmaster hehe.
|
|
|
Post by william618 on Sept 21, 2019 22:06:19 GMT
Hi, any idea why I receive this error when I activate the puppetmaster on an AI? It appears when the AI dies only.. but beside this the puppetmaster seems to work correctly.
NullReferenceException: Object reference not set to an instance of an object RootMotion.Dynamics.BehaviourFall.OnFixedUpdate () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/Behaviours/BehaviourFall.cs:166) RootMotion.Dynamics.BehaviourBase.FixedUpdateB () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/Behaviours/BehaviourBase.cs:214) RootMotion.Dynamics.PuppetMaster.FixedUpdate () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/PuppetMaster.cs:948)
|
|
|
Post by william618 on Oct 4, 2019 17:43:30 GMT
Hi, any idea why I receive this error when I activate the puppetmaster on an AI? It appears when the AI dies only.. but beside this the puppetmaster seems to work correctly. NullReferenceException: Object reference not set to an instance of an object RootMotion.Dynamics.BehaviourFall.OnFixedUpdate () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/Behaviours/BehaviourFall.cs:166) RootMotion.Dynamics.BehaviourBase.FixedUpdateB () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/Behaviours/BehaviourBase.cs:214) RootMotion.Dynamics.PuppetMaster.FixedUpdate () (at Assets/Plugins/RootMotion/PuppetMaster/Scripts/PuppetMaster.cs:948) Ok I solved was pretty easy... needed to set into the AI Melee Controller Death by Animation. That's it
|
|
flow
New vMember
Posts: 21
|
Post by flow on Dec 3, 2019 3:14:46 GMT
Hey, just want to share a script here: It basically does Interact with the build-in Puppet Master collision system and the controller. Here is the script: pastebin.com/p12S1iFQ1. The script is inherited from the original vThirdPersonController so you have to put it on your character where all scripts are and replace it with the default controller 2. You probably want to regenerate the health per time so you can do this in the controller 3. Take a look at the script and read the comments Cheers, flow
|
|
|
Post by Devistute on Jan 12, 2020 14:26:36 GMT
Grenades! (PuppetMaster 0.9 & Newest Invector Shooter) Here's a working way to get Grenades blow your puppet to atmosphere when in range.
Expanding Collider on Grenades1. Drag "vGrenade" Prefab to your Scene, and Unpack the the Prefab.2. Create Game Object under Explosion Particle Effects, Call it "PuppetMaster Collider",add Sphere Collider to it and make it big enough to be the "Impact Area", and set the Colliders Layer to "Obstacles".
Add "vDestroyGameObject" to it and set the Delay to "1". 3. Create second Game Object and name it "Damage Collider", set its Layer to "Triggers".Add "vObjectDamage" Script to it, and Assign Player to Tags. Remember to set the Collider as Trigger.
4. Save the Grenade as Prefab. Assign it to Throw Managers "Object to Throw" slot.Additionally, you can animate the Collider to expand, which is what i did. Too quick Animation will shoot the Puppet to space, so keep it slow'ish.
|
|
|
Post by thegod on Jan 24, 2020 13:58:37 GMT
PuppetMaster & Invector Integration *Updated 06.01.20 *European Master Race Calendar
Works with PuppetMaster 0.9! *Tested by User AND ME. You should enable "IK Pass" on every Animator Layer for this to work the best.
Click here to Download Partel's Fixed Integration.
- Import the PuppetMaster Integration.
- Create new Layers, 30 as Obstacles and 31 as Ragdoll.
- Add "InvectorPuppetCreator.cs" to your Controller and fill in the required "Collission Layer" and "Ragdoll Layer" fields.
Go to "Plugins -> RootMotion -> PuppetMaster -> Prefabs" and drag "Puppet (with fall)" to the "Behaviour Puppet" field. - Right click the Script Header, and select "Create Puppet".
- Your Puppet is now created, and you will notice that your Character and Puppet itself are under new "Root".
Select the PuppetMaster, and add "Default Humanoid Puppet" to Humanoid Config slot. - Use the Search Tool on Project Tab, and find "Humanoid Puppet" Animator. Copy the Sub-State Machines called "Behaviour Puppet" & "BehaviourFall", and paste them to your Characters Animator under ACTIONS on BASE Layer. Create Exit Transitions, add "CustomAction" Tags to getting up animations.
Active PuppetsBefore going to edit the settings of PuppetMaster itself, you need to make few changes to ThirdPersonAnimator.csOpen the said script in Visual Studio or whatever you use and change line 95 to..
if (animator == null) return; Make Puppet Die when Player dies. Send Event via the Controllers "On Dead" and tell PuppetMaster to Kill. Footsteps System in PuppetMaster Rig for more Accurate Triggers If your Footsteps skip steps, or don't work correctly all together you need to add the FootStep Script under PuppetMaster and manually assign the Triggers.- Copy the vFootStep Script from the Controller, and paste it to "PuppetMaster".
- Delete the Original Script in Controller.
- Find and Copy & Paste both FootStep_Triggers under the Main Rig and move them to
- same location under PuppetMaster Rig.
- Delete the Original FootStep_Triggers.
- Open the Footstep Script now under PuppetMaster, set the Inspector to Debug and fill the corresponding slots for the FootStep_Triggers.
Hi, Pls help me, in my project it don't work
|
|
|
Post by Devistute on Jan 24, 2020 14:29:46 GMT
PuppetMaster & Invector Integration *Updated 06.01.20 *European Master Race Calendar
Works with PuppetMaster 0.9! *Tested by User AND ME. You should enable "IK Pass" on every Animator Layer for this to work the best.
Click here to Download Partel's Fixed Integration.
- Import the PuppetMaster Integration.
- Create new Layers, 30 as Obstacles and 31 as Ragdoll.
- Add "InvectorPuppetCreator.cs" to your Controller and fill in the required "Collission Layer" and "Ragdoll Layer" fields.
Go to "Plugins -> RootMotion -> PuppetMaster -> Prefabs" and drag "Puppet (with fall)" to the "Behaviour Puppet" field. - Right click the Script Header, and select "Create Puppet".
- Your Puppet is now created, and you will notice that your Character and Puppet itself are under new "Root".
Select the PuppetMaster, and add "Default Humanoid Puppet" to Humanoid Config slot. - Use the Search Tool on Project Tab, and find "Humanoid Puppet" Animator. Copy the Sub-State Machines called "Behaviour Puppet" & "BehaviourFall", and paste them to your Characters Animator under ACTIONS on BASE Layer. Create Exit Transitions, add "CustomAction" Tags to getting up animations.
Active PuppetsBefore going to edit the settings of PuppetMaster itself, you need to make few changes to ThirdPersonAnimator.csOpen the said script in Visual Studio or whatever you use and change line 95 to..
if (animator == null) return; Make Puppet Die when Player dies. Send Event via the Controllers "On Dead" and tell PuppetMaster to Kill. Footsteps System in PuppetMaster Rig for more Accurate Triggers If your Footsteps skip steps, or don't work correctly all together you need to add the FootStep Script under PuppetMaster and manually assign the Triggers.- Copy the vFootStep Script from the Controller, and paste it to "PuppetMaster".
- Delete the Original Script in Controller.
- Find and Copy & Paste both FootStep_Triggers under the Main Rig and move them to
- same location under PuppetMaster Rig.
- Delete the Original FootStep_Triggers.
- Open the Footstep Script now under PuppetMaster, set the Inspector to Debug and fill the corresponding slots for the FootStep_Triggers.
Hi, Pls help me, in my project it don't work Need more information, do you get any errors and stuff like that?
|
|