반응형
유니티 C# 3D 오브젝트 상하좌우 화면 터치 드래그로 회전시키기
- 코드 작성
using UnityEngine;
public class ObjectRotationByDrag : MonoBehaviour
{
public float rotationSpeed = 100f; // 회전 속도 설정
private Vector3 lastMousePosition;
void Update()
{
// 마우스 입력이 있는지 확인
if (Input.GetMouseButtonDown(0))
{
// 마우스 버튼을 눌렀을 때, 현재 마우스 위치 저장
lastMousePosition = Input.mousePosition;
}
if (Input.GetMouseButton(0))
{
// 마우스 드래그 중일 때
Vector3 deltaMousePosition = Input.mousePosition - lastMousePosition;
// X축으로 드래그 시 좌우 회전
float rotationX = deltaMousePosition.x * rotationSpeed * Time.deltaTime;
// Y축으로 드래그 시 상하 회전
float rotationY = deltaMousePosition.y * rotationSpeed * Time.deltaTime;
// 오브젝트 회전 적용
transform.Rotate(Vector3.up, -rotationX, Space.World); // 좌우 회전
transform.Rotate(Vector3.right, rotationY, Space.World); // 상하 회전
// 현재 마우스 위치 업데이트
lastMousePosition = Input.mousePosition;
}
}
}
반응형