现在来做点别的东西。Nintendo Switch上刚推出的《超级马里奥》中,有一些关卡混合了2D和3D的画面,这种效果十分让人印象深刻。如何在Unity中实现这个效果呢?

正常情况下,摄像机会直接渲染到你的屏幕。我们如何能让摄像机看到内容并显示在另一个对象上呢?你可能注意到摄像机有一个属性,叫目标纹理(Target Texture)。

我们要在Asset文件夹里新建一个渲染纹理(Render Texture),添加到摄像机上。你可以在项目窗口依次点击Create -> Render Texture来新建渲染纹理。创建好后,你可以将它拖到摄像机上的Target Texture属性中。摄像机这时会将所有对象都渲染到这个纹理上。如果现在进入运行模式,游戏画面将呈现为一片漆黑,因为目前没有激活的摄像机渲染到屏幕上。

现在,我们要加入一个新摄像机到场景中,摄像机的Projection属性为Perspective。在摄像机前添加一个新的3D对象,本例中,我们添加的是圆柱体。然后创建新材质,其Shader属性设为Unlit/Texture,再将刚刚创建的渲染纹理拖到这个材质上的Main Texture部分。

得到的效果如下图。

这样一来,我们就实现了类似《超级马里奥》中的2D和3D混合效果,是不是很简单!

资源下载

项目《超级马里奥》下载地址:

https://pan.baidu.com/s/1f3aoPLFr2vPk_ioaN1EyKQ

Unity制作出《超级马里奥》的2D和3D混合效果的更多相关文章

  1. 【Unity3D基础教程】给初学者看的Unity教程(四):通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider2D

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...

  2. 介绍用C#和VS2015开发基于Unity架构的2D、3D游戏的技术

    [Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图 ...

  3. 如何使用Unity制作虚拟导览(一)

    https://www.cnblogs.com/yangyisen/p/5108289.html Unity用来制作游戏已经是目前市场上的一个发展趋势,而且有越来越多的公司与开发者不断的加入,那么Un ...

  4. Unity制作游戏中的场景

    Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity ...

  5. 使用Unity制作游戏关卡的教程(三)

    转自:http://gamerboom.com/archives/75593 作者:Matthias Zarzecki 本文是“使用Unity制作<The Fork Of Truth>的关 ...

  6. 使用Unity制作游戏关卡的教程(二)

    转自:http://gamerboom.com/archives/75554 作者:by Matthias Zarzecki 本文是“使用Unity制作<The Fork Of Truth> ...

  7. 使用Unity制作游戏关卡的教程(一)

    转自: http://gamerboom.com/archives/74131 作者:Matthias Zarzecki 我正在制作<Looking For Group – The Fork O ...

  8. 【转】通过制作Flappy Bird了解Native 2D中的RigidBody2D和Collider

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 在第一篇文章[Unity3D基础教程] ...

  9. Unity 制作安装程序和卸载程序

    1.最简单的方式通过winrar制作 但是做出来的页面好low的感觉 参考链接:https://www.cnblogs.com/fetty/p/5185913.html 2.通过inno制作安装程序: ...

随机推荐

  1. Workerman MySQL组件Connection用法总结

    一.初始化连接 $db = new \Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name'); 二.获取所有 ...

  2. 捕获Ctrl + C中断 优雅的退出程序 golang

    捕获Ctrl + C中断 优雅的退出程序 Gracefully terminate a program in Go os/signal 来捕获系统中断等信号 // Notify方法将signal发送到 ...

  3. out文件 dev c++

    解决办法:工具→编译选项→代码生成/优化→代码性能→生成代码性能信息选Yes→确定

  4. Bean property ‘mapperHelper’ is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

    spring boot 报错: Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property ...

  5. GC线程是不是守护线程

    是 线程的话分为守护线程和非守护线程(即用户线程) 只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作; 只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作,守护线程 ...

  6. ArcGIS for Server 10.2 发布Feature Service

    折腾一下午,终于把自带的例子发布成Feature Service了,这样就可以通过web编辑了.记录一下步骤. 环境:已经安装好SQL Server 2008 R2,ArcGIS for Deskto ...

  7. DT系统开发之-在线询盘信息的调取实现

    调用标签 <!--{tag("table=message&condition=status=3 and typeid=1&areaid=$cityid&cati ...

  8. 20180429模拟赛T1——添边问题

    [问题描述] 没有环的有向图称为有向无环图,这是一个多么美好的结构吖. 如果有一张有 N 个点的有向图,我们可能需要删掉一些边使它变成一张有向无环图.假设初始时我们只有 N 个互不相连的点,当然它也是 ...

  9. NetEQ主要文件简介

    accelerate.h,accelerate.cc 加速操作,对语音信号处理以实现快速播放. Accelerate类继承自父类TimeStretch,大多数功能由TimeStretch实现. Ret ...

  10. TestNg用例管理

    一.TestNg的数据驱动 1. 数据驱动 1)什么是数据驱动? ·数据驱动是指在一个脚本固定的情况下,用数据来控制该脚本是否运行,以及运行的次数,还有每次运行时对应的参数 2)数据驱动的应用场景: ...