はじめに
人間やロボットの関節の角度を指定した座標に目標オブジェクト座標が到達するように自動で計算してくれるIK(逆運動学)のAssetはFinalIKが有名ですが、先日のUnityStationで@chikutaさんがBioIKを紹介されていました。
使い方を調べたところ、READMEに翻訳をかけてみると変な文章になったり、FinalIKに比べて圧倒的に情報が少ないため、調べて記事として掲載することにしました。
※サンプルシーンを見れば使い方を理解できるよー、って方は見る必要がない記事だと思います。自分はFinalIKと使い方が少し違うので、直ぐに理解できなかったです。
UnityStationのBioIK説明LT
- @chikutaさんに直接色々質問していたら、GitHubにソースコードを公開して頂けました。本当にありがとうございます!
IKアセット
FinalIKと比べると格安なので、FinalIKをセールで買えていない人は検討してみては如何でしょうか?
BioIK
- $22
- URDFに対応している?←対応方法調査中
FinalIK
- $99
- ボーンに対応している
右腕を動かす場合の基本的な流れ
-
稼働域の設定が必要な場合はLowerLimit UpperLimitに下限、上限角度を設定し、指定不要の場合はConstrainedを設定する。
-
ターゲットの座標に合わせたいオブジェクトを選択し、AddObjectiveからAddPositionを選択し、適当にターゲットオブジェクトを生成し、TargetTransformにアタッチする。
-
その他関節も調整する
以下動画で可動域等の設定を行っています。
以上