欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

unity开发简单的任意门

程序员文章站 2022-07-08 10:11:53
哆啦A梦的任意门可以看到另一头的世界我们在3D游戏中也可以加上这个环节 作为加载新场景的过度首先给出我简单搭建的效果图正面反面门的另一端因为参数等的一些原因 看起来比较粗糙大家可以自己调整一些参数达到想要的效果实现过程首先我们导入一个场景和一个具有开门和关门的动画任意门最核心的就是Render Texture的使用了首先创建一个 然后在传送门另一端的场景中找一个合适的位置添加一个摄像机给摄像机赋值里边的Door就是刚刚创建的Render texture我们还需要一个第...

哆啦A梦的任意门可以看到另一头的世界
我们在3D游戏中也可以加上这个环节 作为加载新场景的过度
首先给出我简单搭建的效果图

正面
unity开发简单的任意门

反面
unity开发简单的任意门

门的另一端
unity开发简单的任意门

因为参数等的一些原因 看起来比较粗糙
大家可以自己调整一些参数达到想要的效果

实现过程

首先我们导入一个场景和一个具有开门和关门的动画

任意门最核心的就是Render Texture的使用了
unity开发简单的任意门
首先创建一个 然后在传送门另一端的场景中找一个合适的位置
添加一个摄像机
给摄像机赋值
unity开发简单的任意门
里边的Door就是刚刚创建的Render texture

我们还需要一个第一人称的控制器 给大家一个我之前写的作参考

然后对于开门和关门(门的动画)我就不写了这部分也不难 就是动画的基础
之后再写一个摄像机(地图另一端)相对玩家的位置的脚本

public GameObject door1;//传送门
    public GameObject door2;//传送门另一端场景的位置
    public GameObject player;//第一人称玩家
    private Vector3 offset;
    private void Update()
    {
        offset = player.transform.position - door1.transform.position;
        this.transform.position = door2.transform.position + offset;
    }

挂在地图另一端的摄像机上 然后给其中参数赋值
任意门和另一端的地形在同一个场景中

然后创建一个Plane 和任意门重合 把刚刚创建的Render Texture拖上去
很神奇的发现那个摄像机的画面出现在了Plane上

这样我们的简单的任意门就做好了
剩下的细节需要我们自己去完善 比如摄像机的参数等

这个效果用在3D游戏的跳转场景 是很棒的(简单的碰撞即可)

如果大家也喜欢游戏开发 欢迎关注我
我会在这里持续更新我的学习过程

主页有联系方式 有问题或者是合作都可以联系我(知无不答)

本文地址:https://blog.csdn.net/weixin_44302602/article/details/107882249