-1
我對Unity比較陌生。我正在製作一個國際象棋遊戲。在下面的截圖中,您將看到以下GameObjects:Physics.Raycast未檢測到攪拌器模型
- 3D平面爲正方形。
- 棋子的攪拌機模型。
現在,這裏有一個非常基本的腳本,我用它來檢測點擊的對象並刪除它(稍後會添加更多的功能)。
void Update() {
if (Input.GetMouseButtonDown(0))
{
Ray ray = mainCamera.GetComponent<Camera>().ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
//highlightPiece(hit.transform.gameObject, whiteSelectedTexture, false);
Destroy(hit.transform.gameObject);
}
}
}
的問題是原產於團結(使正方形平面物體)的GameObjects由光線投射檢測,但攪拌機機型都沒有。這是由截圖確認的,因爲應該檢測到最近的對象。腳本最終刪除了正方形,但不是棋子(我實際上計劃選擇和處理)。
這工作就像一個魅力。非常感謝!順便說一句我的棋子是嵌套的(我加了一個額外的父母)。將「BoxCollider」添加到父項不起作用。使用'Renderer'將它添加到子對象中! –
如果您想添加到父級,您可能需要手動設置「檢查器!」[BoxCollider]中的'BoxCollider' /'CapsuleCollider'的尺寸(https://docs.unity3d.com/uploads/Main/ Inspector-BoxCollider.png) – Hellium
在這個答案中的一切都是正確的和出色的,做得好@Hellium,但你絕對不應該使用***網狀對撞機:這是Unity中最令人困惑的事情之一,用於全新遊戲愛好者。 – Fattie