이 글은 Unity Object 이동 및 회전과 애니메이션의 속도 조절하는 Tip을 설명합니다.



1. 우선 움직일 Object(돌고래)를 아래 링크로 다운을 받습니다.

      다운 링크 : https://www.assetstore.unity3d.com/kr/#!/content/3547 

      그후 import를 하여 예제 프로젝트에 추가합니다.

      정상적으로 import를 하였다면 Project Tab -> Favorites -> All Models에 돌고래가 보일 겁니다.

    




2. 돌고래를 이동 시키기 위한 Object를 추가하고, 그 안에 돌고래를 넣습니다.





3. 돌고래를 이동 및 회전 시키기 위한 자바스크립트 파일 생성


      돌고래 이동은 transform.position의 인자인 x, y, z값을 가지고 제어 합니다.

      돌고래 회전은 GameObject.Find("우리가 추가한 Object 명").transform.Rotate(Vector3(X, Y, Z) * speed * Time.deltaTime); X, Y, Z 값을 가지고 원하는 방향으로 회전 시킵니다.

      

      // File Name : Move.js


function Start() {
}

var speed : float = 1;
var max : int = 0;
var rateValue : int = 80;

function Update () {
    max = max + 1
    
    if (max < 200) {
        transform.position.x += (0.24 / rateValue);
        transform.position.y -= (0.17 / rateValue);
        rateValue = 80;
    } else if (max < 400) {
        transform.position.x += (0.24 / rateValue);
        transform.position.y -= (0.17 / rateValue);
        rateValue = 60;
    } else if (max < 500) {
        transform.position.x += (0.24 / rateValue);
        transform.position.y -= (0.17 / rateValue);
        rateValue = 35;
    } else if (max < 900) {
        transform.position.x += (0.08 / rateValue);
        transform.position.y -= (0.13 / rateValue);
        GameObject.Find("Object").transform.Rotate(Vector3(10, -50, -10) * speed * Time.deltaTime);
        rateValue = 20;
    } else {
        transform.position.x += (0.34 / rateValue);
        transform.position.y -= (0.17 / rateValue);
    }
    
    if (max > 1500) {  // 초기 상태로 Roll Back Source Code
        GameObject.Find("Object").transform.position = new Vector3(-5.52.5, -5);
        GameObject.Find("Object").transform.localEulerAngles = new Vector3(3303100);
        max = 0;
    }
}



4. 위에서 만든 자바스크립트 파일을 Object의 Component에 Drag하여 추가 합니다.

    - Object의 Position(x, y, z)를 설정하여 초기 시작 위치를 설정

    - Object의 Rotation(x, y, z)를 설정하여 초기 시작 방향 설정





5. 이제 돌고래의 애니메이션 속도, 크기를 설정 합니다.


 - "humpback_whale_model_baked_animation"의 'Scale'값으로 초기 시작할때 돌고래 크기를 설정 합니다. 

   저는 처음에 조금하게 보여야 하기에 0.1로 설정 하였습니다.




 - 위 그림과 같이 'DolphinMove' 자바스크립트 파일로 애니메이션 속도 및 돌고래 크기를 조절 합니다.

   현재 사용하고 있는 애니메이션을 Get하여 속도를 '7'로 설정 하였습니다.

   'max'값이 1500이 되기 전까지 'scale'값을 계속 0.0006씩 상승 시켜서 점점 커지게 하였습니다.

   

               // File Name : DolphinMove.js


#pragma strict
var animAnimation;
function Start () {
    for (var state : AnimationState in anim) {
        state.speed = 7;
    }
}
var max : int = 0;
function Update () {
     max += 1;
     if (max < 1500) {
        transform.localScale.x += 0.0006;
        transform.localScale.y += 0.0006;
        transform.localScale.z += 0.0006;
    }
    
    if (max > 1500) {
        transform.localScale.x = 0.1;
        transform.localScale.y = 0.1;
        transform.localScale.z = 0.1;
        max = 0;
    }

}



이상


'Unity' 카테고리의 다른 글

[Unity] Chromakey 동영상 투명하게 플레이 하는 Tip  (192) 2015.05.28

+ Recent posts