測試.png
using UnityEngine;
/// <summary>
/// 腳本掛載到模型即可,模型添加 collider加缘,isTrigger為true
/// </summary>
public class ModelRotation : MonoBehaviour
{
public float mRotationSpeed = 800f;
/// <summary>
/// 如果初始模型Y軸有旋轉(zhuǎn)坎弯,需要把模型旋轉(zhuǎn)值賦值到這里
/// </summary>
private float mYRaation = 180;
void Update()
{
if (Input.GetMouseButton(0))
{
// 射線檢測
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
{
if (hitInfo.collider.isTrigger)
{
//獲取鼠標(biāo)輸入
mYRaation += Input.GetAxis("Mouse X") * mRotationSpeed;
//計算旋轉(zhuǎn)
Quaternion mRotation = Quaternion.Euler(transform.rotation.x, -mYRaation, 0);
// 插值旋轉(zhuǎn)
transform.rotation = Quaternion.Lerp(transform.rotation, mRotation, Time.deltaTime * mRotationSpeed);
}
}
}
}
}
3d相機