Answered

humanoid characters can throw weapons?

Anonymous 1 year ago updated by Peter - Soxware Developer 1 year ago 2

안녕하세요.

인간형 캐릭터가 무기를 던질 수 있는지 궁금해서 질문드립니다.

휴머노이드의 일반 개체를 활성화하기 위해 무기 개체를 엉덩이 뼈 아래에 배치했습니다. 이 경우 문제는 캐릭터의 엉덩이 뼈가 움직일 때마다 무기도 함께 움직인다는 것입니다.

또한 손 뼈 아래에 무기를 배치하더라도 무기가 손, 팔, 어깨 뼈를 따라 움직이기 때문에 독립형 애니메이션을 만드는 것이 불가능합니다.

캐릭터가 무기를 던지고 다시 잡는 애니메이션이 유모션에서만 가능한지, 휴머노이드가 아닌 제네릭에서만 가능한지 자세한 내용이 궁금합니다.

도와주세요

UMotion Version:
Unity Version:

Answer

Answer
Answered

Hi,
thank you very much for your support request.

An animation file can only animate objects that are children of the animation/animator component. In other words, it's like you said. An animation alone can't get this job done, you need to use a combination of an animation and scripting. Make an animation that performs the throwing animation. Then at the right frame, trigger an animation event (so that your script knows that it needs to throw the weapon). Then in the script, spawn a new weapon GameObject at the position of the weapon of the animation. Hide the weapon of the animation (by setting MeshRenderer.enable = false;) and apply a force to the newly created weapon.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

sorry. I couldn't translate it by mistake.



hello.

I am asking because I am curious about whether humanoid characters can throw weapons.

To activate normal objects in humanoids, weapon objects were placed below the hip bones. In this case, the problem is that whenever the character's hip bones move, the weapon moves with them.

Additionally, even when a weapon is placed below the hand bone, the weapon moves along the hand, arm, and shoulder bone, making it impossible to create a stand-alone animation.

I'm curious about the details of whether the animation of a character throwing a weapon and catching it again is possible in Umotion, or only in Gneric, not humanoids.

please help me

Answer
Answered

Hi,
thank you very much for your support request.

An animation file can only animate objects that are children of the animation/animator component. In other words, it's like you said. An animation alone can't get this job done, you need to use a combination of an animation and scripting. Make an animation that performs the throwing animation. Then at the right frame, trigger an animation event (so that your script knows that it needs to throw the weapon). Then in the script, spawn a new weapon GameObject at the position of the weapon of the animation. Hide the weapon of the animation (by setting MeshRenderer.enable = false;) and apply a force to the newly created weapon.

Please let me know in case you have any follow-up questions.

Best regards,
Peter