Unity怎么弄传送门

2025-11-06 15:07:20

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怎么弄传送门

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢