Playmaker Forum

PlayMaker Help & Tips => PlayMaker Help => Topic started by: kimj224 on March 27, 2017, 04:53:05 AM

Title: Alternative to SmoothLookatDirection.
Post by: kimj224 on March 27, 2017, 04:53:05 AM
Hello.

I saw the tutorial on this link and created a character controller. "And I applied 'Grounder IK' in 'Final IK' to my character
I noticed that 'Pelvis' did not respond.
I have also seen that IK does not work properly when 'Smooth Look at Direction' is on the FSM node, so I want to know how to rotate a character naturally without using 'Smooth Look at Direction'.
I would really appreciate your reply.

Thanks

MongE
Title: Re: Alternative to SmoothLookatDirection.
Post by: mdotstrange on March 27, 2017, 06:11:09 AM
Don't know if this is your issue but its one I ran into with FinalIk and Playmaker-

When working with Final Ik- you have to make it so Look at scripts or others that alter the objects FinalIk is affecting execute after Final Ik-

As far as I know you are not able to do this with Playmaker actions at this time-

In order to make them work correctly they should have their script execution order a lower priority than FinalIk-

To do this I used a regular C# look at script instead of a Playmaker action-
Title: Re: Alternative to SmoothLookatDirection.
Post by: knownasa on March 29, 2017, 09:18:59 AM
I'm not sure if this is what you are asking for, but I've made something similar to this but using Look At function. It's pretty simple and it is as follows:

1 - On the main character (or if you have a rigged character add it to the head for example) add a new FSM.

2 - Add a Mouse Pick Action and use the 'Store Point' with your variable name. Tick 'Every Frame'. I also added a Layer Mask to the ground because I don't want the character to be looking to the top of stuff for now. This way he always looks 'forward'. You can also do this if it suits you.

3 - Add a 'Look At' action and on the 'Target Position' make sure the = sign is active and choose the variable you created previously. Tick 'Every Frame'.

Working Example:
I don't know if this is the best way of doing it but it's working pretty well for me.