簡體   English   中英

FPSController的子對象上的OnMouseUp [Unity 3d]

[英]OnMouseUp on a child object of an FPSController [Unity 3d]

我有一個帶有子對象的FPSController,該對象被定義為子對象,因為它應該與玩家走路時一起移動。 然后,使用以下簡單代碼將帶有onMouseUP()的腳本放在該對象上,並在其上放置盒對撞機組件:

public void OnMouseUp() {
    Debug.Log("It works");

}

當我單擊它時,它什么也不會做。 如果我從FPSController的子級中刪除該對象,則單擊可以正常工作。 可能會發生什么以及如何解決?

您可以將Rigidbody組件添加到此子對象,OnMouseUp()將起作用。

據我所知,單擊子碰撞器時,父剛體是唯一會調用的控件,除非您給它自己的剛體或將其移出層次結構。

檢查:

a)您的課程從MonoBehaviour擴展

b)Physics.queriesHitTriggers已啟用

我可以使用raycast使它正常工作,onMouseUp根本無法工作,我希望能有一個與之配合使用的解決方案,以防onMouseEnter或任何其他“ OnMouse”觸發器需要它。

使用raycast時,我必須檢查一下hit.collider.transform.name才能真正獲得子對象的名稱,僅使用hit.transform.name即可返回父名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM