Skip to main content

碰撞盒触发

简单实用,实用 Udon 现成的方法:OnCollisionEnter(Collision collision)

实现两个物体碰撞后消失,并出现第三个物体,

创建 ABC 三个默认立方体,

在 Udon 脚本中定义两个物体,将脚本挂在A物体上,

B、C物体,拖入脚本对应位置。C物体处于未激活状态,

 [SerializeField]

 private GameObject B;

 [SerializeField]

 private GameObject C;

OnCollisionEnter(Collision collision)内:

 if ( collision.gameObject == B) //当A物体碰撞检测到的物体是B

 {

     this .gameObject.SetActive(false);  

     B.SetActive(false);

     C.SetActive (true);隐藏AB显示C

 }

记得给所有物体挂上 VRC Pickup 和 VRC Object Sync ,以便拾取

using UdonSharp;
using UnityEngine;

public class boxsystem : UdonSharpBehaviour
{
    [SerializeField]
    private GameObject B;

    [SerializeField]
    private GameObject C;

    private void OnCollisionEnter(Collision collision)
    {
        if ( collision.gameObject == B)
        {
            this.gameObject.SetActive(false);
            B.SetActive(false);
            C.SetActive (true);
        }
    }

}

QQ图片20240417123519.png

QQ图片20240417123605.png