반응형

하이 라키 뷰에 빈 오브젝트를 만들고 이름을 Gun으로 하고 Transform position과 Rotation을 0으로 맞춥니다

 

 

FBX 파일에서 M4A1_FBX_2 오브젝트를 드래그하여 하이 라키 뷰의 Gun 오브젝트의 자식으로 놓습니다 

그리고 Position 값을 0으로 맞춥니다

 

그림과 같이 총의 위치가 되면 됨니다

 

GunCtrl 스크립트 작성

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GunCtrl : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
      
    }
    private void Update()
    {
        RotateGun();
    }

    //총회전 
    void RotateGun()
    {
        //카메라부터 거리를 설정
        Vector3 pos = Input.mousePosition;

        //화면의 기준으로 총의 움직임을 제한한다
        pos.x = Mathf.Clamp(pos.x, 0, Screen.width);
        pos.y = Mathf.Clamp(pos.y, 0, Screen.height);

        //카메라로 부터의 거리
        pos.z = 13.2f;
        //마우스 위치를 월드 좌표로 변환
        Vector3 view = Camera.main.ScreenToWorldPoint(pos);

        //총의 회전
        transform.LookAt(view);

    }

}

 

 

 

작성한 스크립트를 Gun 오브젝트에 드래그하여 붙입니다 

 

영상과 같이 마우스를 움직였을 때 총이 회전하면 됩니다 

 

반응형

+ Recent posts