(1) Assetのインポート
3Dプロジェクトを作成し、次の2つのAssetをインポートします。
・Avatars Game Animation (エキストラとして利用)
・Locomotion System (エキストラの動作)
・DoTween (エキストラの移動)
(2) 地面の設定(Terrain)
Game Object -> 3D Object -> Terrain
座標を変えておきます。
Assets -> import Package -> Environment
TerrainにTextureをつけておきます。
(3)エキストラの設置
一人原点あたりにおいてみます。さらにAnimator Controllerを作成します。ここではB12Controllerとしています。
Animatorタブを開いて、状態をIdleとWalkを追加します。
IdleのMotionを追加します。
Locomotion Systemのものを選択します。
この時、Foot IKにチェックを入れておくと地面にめり込んでいったりしなくなります。同じようにWalkも設定しておきます。
ここまでの設定はその場での動きとするので(移動はDoTween)、Apply Root Motionのチェックは外しておきます。
(3) DoTweenで移動設定
DoTweenでデフォルトであるSequenceを使っていきます。
今回はTerrainにスクリプトを追加します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
using System.Collections; | |
using DG.Tweening; | |
public class Sequences : MonoBehaviour | |
{ | |
public Transform target; | |
void Start() | |
{ | |
Vector3 position = target.position; | |
Sequence mySequence = DOTween.Sequence(); | |
mySequence.Append(target.DORotate(new Vector3(0, 270, 0), 1)); | |
mySequence.Append(target.DOMove(new Vector3(-10, 0, 0), 10)); | |
mySequence.Append(target.DORotate(new Vector3(0, 180, 0), 1)); | |
mySequence.Append(target.DOMove(new Vector3(-10, 0, -20), 10)); | |
mySequence.Append(target.DORotate(new Vector3(0, 90, 0), 1)); | |
mySequence.Append(target.DOMove(new Vector3(10, 0, -20), 10)); | |
mySequence.Append(target.DORotate(new Vector3(0, 0, 0), 1)); | |
mySequence.Append(target.DOMove(new Vector3(10, 0, 0), 10)); | |
mySequence.Append(target.DORotate(new Vector3(0, 270, 0), 1)); | |
mySequence.Append(target.DOMove(position, 10)); | |
mySequence.SetLoops(4, LoopType.Restart); | |
} | |
} |
現在位置から周りを回るようにルートを組みます。
参考
http://hiyotama.hatenablog.com/entry/2015/06/27/090000
0 件のコメント:
コメントを投稿