最近看到一個有意思的題做不出來,在unity中用射線檢測和transform組件實作開關門,不用影片的c#編程。
有會的大佬嘛


uj5u.com熱心網友回復:
可不可以詳細描述一下,這么看并不難呀,用射線檢測點擊位置是否是門,然后transform改變門的角度實作旋轉打開
不知道是不是這意思
uj5u.com熱心網友回復:
對的,就是這個意思。
uj5u.com熱心網友回復:
1.觸發開門操作(點擊? 點門?)2.門 設定個tag
我這是個閘門 水閘 點擊水閘 水閘自己打開的效果 再點擊自己關閉 轉到某個角度就停止,邏輯你自己設計
if (Input.GetMouseButtonDown(0))
{
Vector3 touchPos = Input.mousePosition;
Camera curCamera = IBSimulatorPresenter.Instance.SceneManager.GetCurrentCamera();
if (curCamera != null)
{
touchPos.z = curCamera.nearClipPlane;
touchPos = curCamera.ScreenToWorldPoint(touchPos);
Vector3 dir = touchPos - curCamera.transform.position;
RaycastHit[] hits = Physics.RaycastAll(curCamera.transform.position, dir);
for (int i = 0; i < hits.Length; i++)
{
RaycastHit hit = hits[i];
if (hit.transform.CompareTag(m_strClickArea_Tag)) //門的tag 設定一下 如果點擊的是門
{
//m_menGameObject.transform.Rotate(new Vector3(0, (float)menRotateSpeed * Time.deltaTime, 0));
}
uj5u.com熱心網友回復:
這個射線檢測 碰撞檢測都可以吧轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/22251.html
標籤:Unity3D
上一篇:關于攝像機跟隨物體移動的問題
下一篇:救救孩子吧!
