Unity 3D 移动端简单阴影的实现_unity ui上显示模型阴影-程序员宅基地

技术标签: Unity3D  Unity  影子  Unity进阶  移动端  性能优化  

版本:unity 5.4.1  语言:C#

 

参考实战核心技术的第八章。一般移动端受到机能的限制,最多只在脚下绘制一团小黑影来代表影子,实时渲染是基本不可能的。

 

不过书中提供了一种方法来实现影子,乍看之下决然不输于渲染出来的影子。

 

思路其实很简单,我稍微提一下:就是用一个正交相机捕捉需要影子的物体,再将其捕捉产生的图片通过Shader的处理,放到地上的一个面片上,从而产生一个黑影。

 

具体代码如下:

public RenderTexture rTex;  //正交相机输出的图片
 
GameObject shadow;  //地上的面片
Camera shadowCamera;    //正交相机,始终维持在人物的上方
 
// Use this for initialization
void Start () {
    // 获取相关组件和节点
    shadow = transform.FindChild("Plane").gameObject;
    shadowCamera = transform.FindChild("Camera").GetComponent<Camera>();
 
    // 新建输出图像
    rTex = new RenderTexture(256, 256, 0);
    shadowCamera.targetTexture = rTex;
}
// Update is called once per frame
void Update () {
    shadow.GetComponent<Renderer>().material.mainTexture = rTex;    //每帧替换阴影
}



通过这样的方法就产生影子了,后来书中提到透明度的问题,我尝试把它Shader套进去,但Shader本身编译就报错了,书用的应该是5之前的版本,Shader蛮多不通用的,我也找不出错误的所在。

 

Shader的思路我基本了解了,就是透明度在小于某个阈值时显示全透明,而大于时就完全不透明。

 

等我仔细学习了Shader之后再回来看看这边代码的问题。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012632851/article/details/58253124

智能推荐

mysql索引视图-程序员宅基地

文章浏览阅读363次,点赞9次,收藏7次。> Ssex varchar(20)check (Ssex='男' or Ssex='女'),-> Ssept varchar(20) default '计算机');

C语言--输入一个数字判断是否是素数(详细解答+代码优化)_输入一个数判断是不是素数-程序员宅基地

文章浏览阅读4.7k次,点赞10次,收藏19次。判断一个数是否是素数(详细解析+代码优化)_输入一个数判断是不是素数

测试环境搭建_搭建测试环境是什么意思-程序员宅基地

文章浏览阅读1.5w次,点赞61次,收藏695次。一、什么是测试环境测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与测试软件交互的软件,包括驱动和桩测试环境是指为了完成软件测试工作所必需的计算机硬件,软件,网络设备,历史数据的总称测试环境=软件+硬件+网络+数据准备+测试工具(硬件和网络一般由公司运维考虑,历史数据由开发或者运维考虑,测试主要做软件的搭建和测试工具的搭建)二、测试环境的分类开发环境:开发环境是程序员们专门..._搭建测试环境是什么意思

【华为OD】C卷真题 200分:查找一个有向网络的头节点和尾节点 有向图的构建及环的判断 C++源码实现-程序员宅基地

文章浏览阅读575次,点赞12次,收藏4次。查找一个有向网络的头节点和尾节点 给定一个有向图,图中可能包含有环,图使用二维矩阵表示,每一行的第一列表示起始节点,第二列表示终止节点,如[0, 1]表示从0到1的路径。每个节点用正整数表示。求这个数据的首节点与尾节点,题目给的用例会是一个首节点,但可能存在多个尾节点。同时,图中可能含有环。如果图中含有环,返回[-1]。说明:入度为0是首节点,出度为0是尾节点。输入描述第一行为后续输入的键值对数量N>=0,第二行为2N个数字。每两个为一个起点,一个终点。如:输出描述输出一行头节点和尾节点。如果有多个尾节点,_查找一个有向网络的头节点和尾节点

Myeclipse调试_myeclipse运行点甲壳虫-程序员宅基地

文章浏览阅读667次。F6很简单就是从断点处向下走一行表达式;F5如果当前行有方法则进入次方法,通俗点说就是F5按照程序的执行顺序走一步F7从F5中跳出,记F5+F7相当于一个F6F8就是跳过当前断点,跳到下一个断点,如果没有断点了则执行完。_myeclipse运行点甲壳虫

MATLAB函数解析:colormap——查看并设置当前颜色图_colormap函数-程序员宅基地

文章浏览阅读8.8k次,点赞13次,收藏26次。MATLAB函数解析:colormap语法说明示例更改图窗的颜色图将颜色图设置回默认值对图窗中的每个坐标区使用不同的颜色图指定颜色图的颜色数创建自定义颜色图返回用在绘图中的颜色图值返回特定坐标区的颜色图值将图窗的颜色图更改为图像输入参数map - 新颜色方案的颜色图颜色图名称三列矩阵target - 目标输出参数资源传送门「️ 感谢大家」语法colormap mapcolormap(map)colormap(target,map)cmap = colormapcmap = colormap(t_colormap函数

随便推点

关于BIOS的那些事----不要老整三岁的脑筋急转弯,咱们来整点五岁的(中)_整点五岁以下的-程序员宅基地

文章浏览阅读1.8k次。 现在来看第二部分,第二部分其实是把要用的模块文件压缩了一个接一个放在一起就行了。压缩算法的名字叫lh5,一提到算法,国内研究这种“低层次”东西的人就少了(大家都搞往窗体上拖放几个控件就能实现功能的高层次的应用程序)。好在我在国外的网站上无意中发现了lh5压缩算法的源码,用TC写的,我又从网上把TC这个老古董下载下来,最后居然编译成功了(当然做过一些修改),编译生成的文件名叫ar.exe(文中_整点五岁以下的

微信小程序 uniapp+vue课程教学在线学习考试系统-程序员宅基地

文章浏览阅读574次,点赞21次,收藏12次。本在线学习系统使用的框架为开源框架,在开发部署上具有一定的优势,可以帮助程序开发者快速构建基本的程序框架出来,通过调用开源框架可以减少程序开发者编写的代码量,从而提升在线学习系统的安全性和稳定性,这有益于程序开发者完成功能模块的处理和数据调用。本文设计目标为设计在线学习系统,在线学习系统是一种创新的系统,创新点包含了系统框架进行结合,在仔细研究了前后端开源框架之后,最后选择使用开源框架SpringBoot,且在开源框架的基础上实现了在线学习系统。(1)确定项目名称、项目研究内容,开题报告提交及修改。

Cortex-M内核知识点总结_cortex内核-程序员宅基地

文章浏览阅读714次,点赞2次,收藏11次。我们使用外部中断的高电平触发方式来解释中断的过程 , 如上图中断请求表示外部输入引脚高电平持续的时间 ,内核检测到中断请求后,将悬起对应的中断(中断标志置位) , 中断悬起后,可能不是立马执行服务程序 , 比如当前在临界区,退出临界区后,处理器模式切换成Handler 模式,并开始执行中断服务程序,清除中断标志,执行完成后 ,退出服务,处理器模式切换成线程模式。sp我们知道是栈指针 , 每次使用 push 指令,sp都将自动生长(减小,栈是向低地址方向生长),每次使用pop指令时,sp都将增大。_cortex内核

即构SDK新增变声、立体声(3D环绕)、混响三大功能_fmod 低音-程序员宅基地

文章浏览阅读2.1k次。近日,即构SDK完成了新的迭代,新增变声、立体声(3D环绕)、混响三大功能,让玩家能体验到更多新鲜的玩法。 第一,变声功能现在流行的吃鸡游戏中,萌妹子开语音玩,只要稍微撒个娇,就能收获队友送来的福利,如果是壮汉,就没这个待遇了。有些壮汉就想了各种办法,比如另外安装一个变声软件,伪装成萌妹子。如果游戏自带变声功能,是不是就不用这么麻烦? 又比如,在语聊房、私聊、在线K歌、连麦直播..._fmod 低音

【学习心得】图解Git命令-程序员宅基地

文章浏览阅读919次,点赞15次,收藏28次。【学习心得】图解Git命令

/usr/bin/ld: 找不到 can‘t find -xxx++-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏8次。ld是一个链接器文件,后面报错一般都是什么库找不到,so文件。一般都会在lib64下面找到,注意后面带版本号的是实际文件。_/usr/bin/ld: 找不到

推荐文章

热门文章

相关标签