哆啦A梦的任意门可以看到另一头的世界
我们在3D游戏中也可以加上这个环节 作为加载新场景的过度
首先给出我简单搭建的效果图
正面
反面
门的另一端
因为参数等的一些原因 看起来比较粗糙
大家可以自己调整一些参数达到想要的效果
实现过程
首先我们导入一个场景和一个具有开门和关门的动画
任意门最核心的就是Render Texture的使用了
首先创建一个 然后在传送门另一端的场景中找一个合适的位置
添加一个摄像机
给摄像机赋值
里边的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上
这样我们的简单的任意门就做好了
剩下的细节需要我们自己去完善 比如摄像机的参数等