キャラクター改良の続きです。
今回は「高低差がある地形の上を移動出来る様にする」です。
参考資料:Amazon Lumberyard character made with mixamo, blender, and script canvas.
Amazon Game TechのYoutubeチャンネル
以前作成したキャラクターの移動は平面上だけに限られていました。地面の上を歩いていたのも実は見掛けだけで、実際は地平面の位置にキャラクターの高さを合わせていただけに過ぎません。
今回はキャラクター(アクター)にフィジックスを適用し、重力を作用させて、地面のコリジョンの上に接触しながら移動する様にします。
まずLumberyardの機能を使って地形を作成しましょう。
これはいつものキャラクターのレベルです。
Tools - Terrain Editorを実行します。
Terrain Editorが開きました。
Terrain Editorは地形を作成する為のツールです。今回は自動生成で地形を作る事にします。
最初に地形の最も高い部分の高さを決めます。
Terrain EditorのModify - Set Terrain Max Heightを実行します。
数値入力ウィンドウが出ますので、高さの数値を入力します。今回は100としました。
OKをクリックして戻ります。
次にTerrain EditorのTools - Generate Terrain...を実行します。
地形生成に使う各パラメータが表示されます。今回はデフォルト設定を使う事にし、そのままOKをクリックします。
地形が生成され、グレイスケール画像が表示されました。Terrain Editorを閉じて下さい。
地面に高さがついているのが確認出来ます。
地面が持ち上がったのでキャラクターとカメラはその下になってしまっています。
キャラクターとカメラを地面の上に持ってきました。
ここで試しにGame - Play Gameを実行してみます。キャラクターが待機モーションになりましたが、まだフィジックスを入れていないので重力が作用していません。
フィジックスをキャラクターに追加してみましょう。
Escキーを押してゲームから抜けます。
キャラクターを選択してからEntity Inspectorを見て下さい。キャラクターは現在この様なコンポーネント構成になっています。Add Componentをクリックして、コンポーネントのリストを表示して下さい。
Character Physicsを選択します。
Character Physicsが追加されました。
次にスクリプトの一部を書き換えます。
キャラクター移動の部分は現在この様になっています。
この中のMove EntityをAdd Impulseに置き換えます。(Impulseとはこういう事だそうです。)そして、調整の為に入力に掛け算していた数値も変更します。今回は変更前の500倍にしました。
書き換えが終わったらスクリプトをセーブし、Play Gameでテストです。
キャラクターが地形の上を歩く様になりました。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment