Unity怎么弄传送门

时间:2026-02-14 09:23:53

1、首先我们建立一个unity工程,用来做我们测试的工程,然后我们建立一个简单的物体运动控制系统,这个可以在下面的经验里找到

Unity怎么弄传送门

2、我们建立两个Cube,用来做传送用的地标

Unity怎么弄传送门

3、然后我们新建一个c#脚本,该脚本用于实现传送门的传送机制,利用的是碰撞的检测后进行位置转移.

转移时需要计算相对位置,以免物体传送后进入信标内部

Unity怎么弄传送门

4、具体代码

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Script_chuansong : MonoBehaviour

{

    public GameObject target;

    // Start is called before the first frame update

    void Start()

    {

    }

    // Update is called once per frame

    void Update()

    {

    }

    void OnCollisionEnter(Collision collision)

    {

        Vector3 tempVec =(collision.gameObject.transform.position - this.transform.position)*1.1f;

        if (collision.gameObject.name== "CubePlay") {

            print(233);

            collision.gameObject.transform.position = target.transform.position + tempVec;

        }

    }

}

Unity怎么弄传送门

5、最后将写好的脚本绑定到信标上,脚本有个空开属性,该属性是传送的目标游戏对象,我们把Cube_1的放置为Cube_2,Cube_2的放置为Cube_1,这样就可以实现互相传送了

Unity怎么弄传送门

Unity怎么弄传送门

Unity怎么弄传送门

6、这样当我们控制的角色碰到信标时就会被传送的另一个信标旁边

Unity怎么弄传送门

Unity怎么弄传送门

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com