본문 바로가기

Blender

[Blender]탱크 모델링, 유니티로 불러 이동시키기

탱크 모델링하는 아래 영상 참조해 Blender 2.93에서 대충 따라하기. 

탱크의 무한궤도 모델링하는 파트가 제일 인상적이었다. 
Ctrl-A, Curve-Circle로 BezierCircle을 생성하고 Edit Mode에서 궤도 형태 잡고
Ctrl-A, Mesh-Cube 생성한 뒤 Array 모디파이어(Relative Offset-X/Y/Z: 0/1/0), Curve 모디파이어(Curve Object에서 위에 만든 BezierCircle 지정, Deform Axis: -Y)로 지정한 뒤 Edit Mode에서 무한궤도의 한 토막 모델링을 하면 무한 궤도가 완성된다. 
궤도 수는 Array의 Count로 조절하고 어느 정도 맞춘 뒤 Object Mode에서 Scale을 조절해 궤도가 완전히 연결되게 한다. (위 모디파이어의 설정 중 X, Y등의 축 선택은 모델링할 때의 상황에 따라 달라진다)

 

유니티로 불러들인 탱크 FBX

탱크 FBX로 Export 하고 Unity2019에서 불러들인 뒤 Rigidbody, BoxCollider, PlayerMov.cs 추가하여 간단히 키보드로 전후좌우 움직이기 테스트. 

[Blender에서 FBX 익스포트 세팅]
Blender 2.8에서 자동차 모델을 선택한 뒤 File-Export-FBX(.fbx) 선택.
세팅 중 Selected Objects 체크, Apply Scalings: FBX Units Scale로 선택, !EXPERIMENTAL! Apply Transform 체크(이걸 체크하면 유니티에서 회전시킬 필요없다)한 뒤 Export FBX 버튼을 눌러 익스포트한다. 

[Unity 2019에서의 세팅]
Unity 2019에서 fbx 불러들이고 매핑한 텍스처인 SmallPalette.png도 불러들인다.
SmallPalette.png 선택하고 Filter Mode: Point(no filter), Compression: None 선택.
새 머티리얼 생성, 'CommonMat'라 명명, SmallPalette.png를 Albedo에 끌어넣고 Smoothness: 0으로 설정. 


PlayerMov.cs=================================

using UnityEngine;

public class PlayerMov : MonoBehaviour {
    public float spd = 5f;
    public float rotSpd = 2f;
    Rigidbody rBody;

    float h, v;
    Vector3 moves;

    void Start() {
        rBody = GetComponent< Rigidbody>();
    }
    void Update() {
        Rot();

        h = Input.GetAxisRaw("Horizontal" );
        v = Input.GetAxisRaw("Vertical" );

        Move(h, v);
    }

    void Move( float h, float v) {
        moves.Set(h, 0, v);
        moves = (moves.normalized * -spd * Time.deltaTime);
        rBody.MovePosition(transform.position + moves);
    }
    void Rot() {
        if (h == 0 && v == 0) return ;

        Quaternion rotN = Quaternion .LookRotation(moves);
        rBody.rotation = Quaternion.Slerp(rBody.rotation, rotN, rotSpd * Time.deltaTime);
    }
}

 


'Let's model A CYBER TANK (with animated tracks) in 10 MINUTES - Ep. 92 - Blender 2.93(27:04/Imphenzia)' https://www.youtube.com/watch?v=WkMJQy2i33k

21/9/24 금