Blendspace Rotation Issue

#1
Hey everyone,

I have bought the MobilityProMocap Asset in the Marketplace to setup everything for a character locomotion.
Afterwards I have recreated a 2D-BSpace_MoveStrafe Blendspace in crouched position but at some transitions the character decides to turn the opposite and longer way to it's goal instead of the short way.

What can cause this behaviour? I have tried several setups from video examples and the documentation site.
I have attached an Image of the Setup and the BlendSpace Preview, also an Example Video.

Thanks in advance,

Savi
Attachments
BlendSpacePreview.png
BlendSpacePreview.png (94.65 KiB) Viewed 745 times
PropertiesPreview.png
PropertiesPreview.png (40.02 KiB) Viewed 745 times

Re: Blendspace Rotation Issue

#3
Do you just post them randomly in the hope I didn't know them before? Thanks for sharing them but I have watched these videos already and also have a functional Rotation Blendspace already setup. They also don't combine movement and rotation. This video was really useful NeverFollow81-Blendspace-Stream too (for the case we open an archive here?).

I don't see a mistake in my setup and the fact that I already got Blendspaces working tells me that I at least understood the basics.
The Animations are bought from a known Asset so I guess they are not wrong too.
Does someone already have experienced something like that seen in my example video?

Re: Blendspace Rotation Issue

#4
Well, I had very similar issue with my setup. My character did some weird movements when crosswalking backwards. And my setup looked exactly same as yours. I had my custom character and custom anims though, but I will show you what I did to make it work. Still don't know why my current setup works better than previous, although it has LESS EXAMPLES.
I'll show you my setup in .bspace file cause you will see it more clearly.

My CURRENT setup:

Code: Select all

<ParaGroup>
 <Dimensions>
  <Param Name="MoveSpeed" Min="0.2" Max="2.5" Cells="9"/>
  <Param Name="TravelAngle" Min="-3.1400001" Max="3.1400001" Cells="21"/>
 </Dimensions>
 <ExampleList>
  <Example SetPara1="-3.1470001" AName="run_backward" PlaybackScale="0.15000001"/>
  <Example AName="run_backward_right" PlaybackScale="0.15000001"/>
  <Example AName="run_right" PlaybackScale="0.15000001"/>
  <Example AName="run_forward" PlaybackScale="0.15000001"/>
  <Example AName="run_forward_left" PlaybackScale="0.15000001"/>
  <Example AName="run_left" PlaybackScale="0.15000001"/>
  <Example SetPara1="3.1470001" AName="run_backward" PlaybackScale="0.15000001"/>
  <Example SetPara1="-3.1470001" AName="run_backward" PlaybackScale="4.5"/>
  <Example AName="run_backward_right" PlaybackScale="6"/>
  <Example AName="run_right" PlaybackScale="3.5"/>
  <Example AName="run_forward" PlaybackScale="3.4000001"/>
  <Example AName="run_forward_left" PlaybackScale="4.4000001"/>
  <Example AName="run_left" PlaybackScale="4.4000001"/>
  <Example SetPara1="3.1470001" AName="run_backward" PlaybackScale="4.4000001"/>
 </ExampleList>
 <Blendable>
  <Face p0="6" p1="5" p2="12" p3="13"/>
  <Face p0="5" p1="4" p2="11" p3="12"/>
  <Face p0="4" p1="3" p2="10" p3="11"/>
  <Face p0="3" p1="2" p2="9" p3="10"/>
  <Face p0="2" p1="1" p2="8" p3="9"/>
  <Face p0="1" p1="0" p2="7" p3="8"/>
 </Blendable>
</ParaGroup>


I know it seems weird because it lacks of Backward-left and Forward-right animations, but try it yourself! I hope I helped.


Edit:
I prepared .bspace file for your animations. Just create new .bspace file, call it whatever you want and paste all of that:

Code: Select all

<ParaGroup>
 <Dimensions>
  <Param Name="MoveSpeed" Min="0.2" Max="2.5" Cells="9"/>
  <Param Name="TravelAngle" Min="-3.1400001" Max="3.1400001" Cells="21"/>
 </Dimensions>
 <ExampleList>
  <Example SetPara1="-3.1470001" AName="mob1_m1_crouchwalk_b" PlaybackScale="0.15000001"/>
  <Example AName="mob1_m1_crouchwalk_br_bkpd_loop" PlaybackScale="0.15000001"/>
  <Example AName="mob1_m1_crouchwalk_r" PlaybackScale="0.15000001"/>
  <Example AName="mob1_m1_crouchwalk_f" PlaybackScale="0.15000001"/>
  <Example AName="mob1_m1_crouchwalk_fl_loop" PlaybackScale="0.15000001"/>
  <Example AName="mob1_m1_crouchwalk_l" PlaybackScale="0.15000001"/>
  <Example SetPara1="3.1470001" AName="mob1_m1_crouchwalk_b" PlaybackScale="0.15000001"/>
  <Example SetPara1="-3.1470001" AName="mob1_m1_crouchwalk_b" PlaybackScale="4.5"/>
  <Example AName="mob1_m1_crouchwalk_br_bkpd_loop" PlaybackScale="6"/>
  <Example AName="mob1_m1_crouchwalk_r" PlaybackScale="3.5"/>
  <Example AName="mob1_m1_crouchwalk_f" PlaybackScale="3.4000001"/>
  <Example AName="mob1_m1_crouchwalk_fl_loop" PlaybackScale="4.4000001"/>
  <Example AName="mob1_m1_crouchwalk_l" PlaybackScale="4.4000001"/>
  <Example SetPara1="3.1470001" AName="mob1_m1_crouchwalk_b" PlaybackScale="4.4000001"/>
 </ExampleList>
 <Blendable>
  <Face p0="6" p1="5" p2="12" p3="13"/>
  <Face p0="5" p1="4" p2="11" p3="12"/>
  <Face p0="4" p1="3" p2="10" p3="11"/>
  <Face p0="3" p1="2" p2="9" p3="10"/>
  <Face p0="2" p1="1" p2="8" p3="9"/>
  <Face p0="1" p1="0" p2="7" p3="8"/>
 </Blendable>
</ParaGroup>

Cryengine tutorial videos on my Youtube channel! Check it out !
https://www.youtube.com/user/MusicForLifePL20

Re: Blendspace Rotation Issue

#5
Hey fury22uk,

THANKS for that awesome post and even giving me a copy paste example. Unfortunately it doesn't solve my issue though.. I had them removed too in a test because it was like that on the Blendspace documentation site. The Bug occurs in this setup between 10, 9 and 9,8. But if you tell me that this setup works with your animations then the issue must be something with the animations, must it?

The interesting thing is that it fixes it on the positive values (on the left side on the Blendspace).
Attachments
BlendSpacePreview2.png
How it looks with the new Setup (just for comparison)
BlendSpacePreview2.png (90.44 KiB) Viewed 714 times

Re: Blendspace Rotation Issue

#6
Yeah it's a bit weird. Have no Idea why these things happen. As I said, my issue was exactly the same but removing these 2 anims solved that for me. I don't think anything's wrong with your animations though. They are pro - made assets. It wouldn't be in marketplace if they were broken/unfinished.

You said that it fixes it on the positive values. And this is when you don't have Back-Left and Front-Right crosswalk anims. What happens if you do it opposite way? I mean .. replace Back-Right and Front-Left with Back-Left and Front-Right. See if it fixes the issue on the NEGATIVE values.
Cryengine tutorial videos on my Youtube channel! Check it out !
https://www.youtube.com/user/MusicForLifePL20

Re: Blendspace Rotation Issue

#7
If I do this the bug occurs twice on each side hahaha... *cry*
The 360° Spin occurs in the transitions of:
10, 9
8, 7
11, 12
12, 13

This is so weird.. They are pro assets from the store but they got exported another time by us with the CryExporter in 3DsMax. There shouldn't be any error with the animations but just want to say that it could be a source of error though. But they all look fine when looked at them separately.
Attachments
BlendSpacePreview2Flipped.png
Flipped previous
BlendSpacePreview2Flipped.png (65 KiB) Viewed 711 times

Re: Blendspace Rotation Issue

#8
Wow, didn't expect that to happen! As I can see your knowledge about blendspace system is good, better than mine, to I don't think I will be able to help. I'll keep digging in my free time though and I'll let you know if I think something up. Also if you figure it out, please post it here, just in case something similar happens to somebody else.

It is just blending between animations like Back-Right and Back, so how this seems to me is like opposite animation comes and disturbs(God knows how!) in the blending process.
Damn it, but bspace system in this case only extracts angles from the animations, and your animations ARE 45* (which is 2.35 or -2.35 in bspace system).
Unfortunately this is not a character made by you. If it was, you could animations even in between those. I know this would be pain in the ass, there would like 20 examples just for the simple movement! Just wondering what would it effect whole blendspace. I mean making another animation in between, for example Back -> Back_Right1 -> Back_Right2 -> Back_Right3 -> Right ... and so on. You know, now you have angles of 0*, 45* and 90* (in one quarter of the circle), wondering what would happen if there was like 0*, 22.5*, 45*, 67.5*, 90*.

But as I said this would be pointless, pain in the ass, unecessary, but for the testing purposes..
However I'll keep digging and will let you know.
Cryengine tutorial videos on my Youtube channel! Check it out !
https://www.youtube.com/user/MusicForLifePL20

Re: Blendspace Rotation Issue

#9
I'm using the animations and character that shipped with CRYENGINE 5.3.4 ; the ones in the Third Person Shooter example project. I've also bought the Motus Basic animation pack, so have access to the basic level of crouch animations. I have a working blendspace for move straffing including walk, job and run. I've also got a working blendspace for crouching at 0.5x to 2.0x with the Motus crouch animations.

The move strafe one works pretty well:

Code: Select all

<ParaGroup>
 <Dimensions>
  <Param Name="MoveSpeed" Min="0.2" Max="6.5" Cells="23"/>
  <Param Name="TravelAngle" Min="-3.1400001" Max="3.1400001" Cells="29"/>
 </Dimensions>
 <ExampleList>
  <Example SetPara1="-3.1470001" AName="walk_bck_3p"/>
  <Example AName="walkcross_bck_rgt_3p"/>
  <Example AName="walkstrafe_rgt_3p"/>
  <Example AName="walkcross_fwd_rgt_3p"/>
  <Example AName="walk_fwd_3p"/>
  <Example AName="walkcross_fwd_lft_3p"/>
  <Example AName="walkstrafe_lft_3p"/>
  <Example SetPara1="3.1470001" AName="walk_bck_3p"/>
 
  <Example SetPara1="-3.1470001" AName="jog_bck_3p"/>
  <Example AName="jogcross_bck_rgt_3p"/>
  <Example AName="jogstrafe_rgt_3p"/>
  <Example AName="jogcross_fwd_rgt_3p"/>
  <Example AName="jog_fwd_3p" />
  <Example AName="jogcross_fwd_lft_3p"/>
  <Example AName="jogstrafe_lft_3p"/>
  <Example SetPara1="3.1415901" AName="jog_bck_3p"/>

  <Example AName="runstrafe_rgt_3p"/>
  <Example AName="runcross_fwd_rgt_3p"/>
  <Example AName="run_fwd_3p" />
  <Example AName="runcross_fwd_lft_3p"/>
  <Example AName="runstrafe_lft_3p"/>

 </ExampleList>
 <Blendable>
  <Face p0="0" p1="8" p2="9" p3="1"/>
  <Face p0="1" p1="9" p2="10" p3="2"/>
  <Face p0="2" p1="10" p2="11" p3="3"/>
  <Face p0="3" p1="11" p2="12" p3="4"/>
  <Face p0="4" p1="12" p2="13" p3="5"/>
  <Face p0="5" p1="13" p2="14" p3="6"/>
  <Face p0="6" p1="14" p2="15" p3="7"/>

  <Face p0="10" p1="16" p2="17" p3="11"/>
  <Face p0="11" p1="17" p2="18" p3="12"/>
  <Face p0="12" p1="18" p2="19" p3="13"/>
  <Face p0="13" p1="19" p2="20" p3="14"/>
 </Blendable>
</ParaGroup>


The crouch one is a bit janky with cross backward movement, but works ok apart from that.

Code: Select all

<ParaGroup>
 <Dimensions>
  <Param Name="MoveSpeed" Min="0.2" Max="2.1000001" Cells="6"/>
  <Param Name="TravelAngle" Min="-3.1400001" Max="3.1400001" Cells="12"/>
 </Dimensions>
 <ExampleList>
  <Example AName="crouchwalk_b"/>
  <Example AName="crouchwalk_r"/>
  <Example AName="crouchwalk_f"/>
  <Example AName="crouchwalk_l"/>
  <Example SetPara1="3.1415901" AName="crouchwalk_b"/>
  <Example AName="crouchwalk_b" PlaybackScale="0.5"/>
  <Example AName="crouchwalk_r" PlaybackScale="0.5"/>
  <Example AName="crouchwalk_f" PlaybackScale="0.5"/>
  <Example AName="crouchwalk_l" PlaybackScale="0.5"/>
  <Example SetPara1="3.1415901" AName="crouchwalk_b" PlaybackScale="0.5"/>
  <Example AName="crouchwalk_b" PlaybackScale="2"/>
  <Example AName="crouchwalk_r" PlaybackScale="2"/>
  <Example AName="crouchwalk_f" PlaybackScale="2"/>
  <Example AName="crouchwalk_l" PlaybackScale="2"/>
  <Example SetPara1="3.1415901" AName="crouchwalk_b" PlaybackScale="2"/>
 </ExampleList>
 <Blendable>
  <Face p0="5" p1="0" p2="1" p3="6"/>
  <Face p0="6" p1="1" p2="2" p3="7"/>
  <Face p0="7" p1="2" p2="3" p3="8"/>
  <Face p0="8" p1="3" p2="4" p3="9"/>
  <Face p0="0" p1="10" p2="11" p3="1"/>
  <Face p0="1" p1="11" p2="12" p3="2"/>
  <Face p0="2" p1="12" p2="13" p3="3"/>
  <Face p0="3" p1="13" p2="14" p3="4"/>
 </Blendable>
</ParaGroup>


NOTE: I renamed the animations because there was really no reason for the long ass names they had. It's pretty easy to see which files they correspond to and change it for testing purposes. Hope they help!

Who is online

Users browsing this forum: No registered users and 2 guests