Flora

Flickr Stream

Unity – LookAt関数で顔などをスムーズに向きたい方向に向く方法

もし、HIK(Human IK)でキャラクターを作ってつねに動いてる敵とかに対して、

顔を敵に合わせて向きたい時とか、腕などを特定のところに差したい時に使える。

LootAtという関数で単純な方向を転換は可能だ。
今回は顔を向きたい時の例となる。

UnityにキャラクターのFBXを入れる

・まずは首を動かしたいキャラクターを入れよう
・InspectorでキャラクターもAnimtion TypeはHumanoidに設定

キャラクタをSceneに入れる

・まあ、入れないと見れないから、入れないとね!

Java Script Codeを書く

・自分のAssetのどっかにLootAtという名前で空データを作る。
・そのデータを開いて下のコードを書く。

キャラクターの首にLootAt ScriptデータをDrag and Dropで入れる

・作ったScriptデータをつかんで、Hierarchyに入ってるキャラクターの首に入れる。

首に向きたいTarget設定

・空のGame Objectを作ろう(Aという名前で)
・Scriptを入れた首を選択するとInspectorにTarget設定が可能な項目が追加されてる。
ここにさっきのAに設定する。
・スピード調節の項目もあるから、調節しよう。

Playボタンで最終確認

・PlayしてみてAを動かしてみてついてくるなら成功。
・失敗なら、違うサイトに行くか、ここにコメントをしよう。

LookAt 注意点

LookAtはZ軸に向くということになってるから、顔だと真っ書面がZ軸だから、ちゃんとなってるけど、
たまに正面がZ軸じゃない時がある。自分の場合は腕がZ軸じゃなくX軸だった。

とういうことで、XをZのようにさせる必要があったため、肩だけはやり方を変える必要があった。

・肩の骨と同じ位置に空のGame Objectを入れる。
・空のGame ObjectのZ軸を向きたい方向に回転する。
・空のGame Objectを肩の骨の親にする。

これで自分は解決できたが、親子関係にしたくなく、コードで表現したい人には残念だけど、
自分はやり方がわからない。Programingには知識がないんでww

どんな軸でも対応が聞く新しいLootAt発見

韓国のあるサイトで発見したもので、これなら、Inspecterで軸の設定も可能だから、
こっちの方がいいかも!

http://hwanggoon.tistory.com/

気に入ったら共有してください!
  •  
  •  
  •  
  •  
  •  
  •  
  •  

About 残念ソンミン

あなたのあったかい一言が”残念時代”をいい時代に変えることができます。 よかったら「いいね」と「コメント」をお願いします。

Post A Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Translate »