github: https://github.com/yangrc1234/VolumeCloud 更新的内容在底部 最近在知乎上看到一篇文章讲云层的渲染(https://zhuanlan.zhihu.com/p/34836881?utm_medium=social&utm_source=qq) 原文简单的讲了噪声生成云体的办法,以及一个光照模型. 看了之后很感兴趣,加上本科毕设做的就是体渲染,于是打算在unity里山寨一个出来. 原原文(知乎上的文章引用的文章)是2015年地平线黎明时分制作团…
在Unity中渲染一个黑洞 前言 N年前观看<星际穿越>时,被其中的"卡冈图雅"黑洞所震撼.制作团队表示这是一个最贴近实际的黑洞效果,因为它是通过各种科学理论实现的.当时就想自己也做一个差不多的出来,无奈技术太菜.现在以掉了一堆头发为代价,终于实现出来了,分享给大家.这是最终效果: 本项目使用Unity 2018.4.23f1制作,完整项目请移步GitHub:https://github.com/RenChiyu/UnityBlackHole 转载请注明出处:https:/…
转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某些Android设备)使用了基于瓦片的延迟渲染(TBDR)架构,把所有的渲染图像装入一个个瓦片中,再由硬件找到可见的片元,而只有这些可见片元才会执行片元着色器.另一些基于瓦片的GPU架构,如Adreno(高通的芯片)和Mali(ARM的芯片)则会适应early-Z 或相似的技术进行一个低精度的深度检测,来剔除…
0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper--Progressive来提供烘焙全局照明并且提供了更多的混合光照模式,但是Enlighten仍然是Unity中全局照明的主要提供者. 所以,本文就来聊聊Unity5.6以及Unity2017中和Enlighten.混合光照相关的话题吧. 0x01 直接光和间接光 大家都知道在Unity中,我…
Canvas Render Modes(渲染模式) 1.在screen空间中渲染2.在world空间中渲染 Screen Space-Overlay 在这个渲染模式中,UI元素将在场景的上面.如果场景改变大小或改变分辨率,Canvas将自动改变大小去适配. Screen Space-Camera 这和Screen Space-Overlay类似,但是在这个模式中,这个Canvas放置在了给定距离的摄像机的前面.这些UI元素都是通过摄像机绘制的.这意味着摄像机影响UI的外观.如果摄像机设置为Per…
http://forum.china.unity3d.com/thread-32271-1-1.html 我们已经发布了Unite 2018 江毅冰的<发条乐师>.Hit-Point的<旅行青蛙>.育碧<Eagle Flight>演讲分享,不少开发者在后台留言希望小编尽快分享米哈游技术总监贺甲<崩坏3>的案例分享,因为这场是干货满满的爆场.我们非常感谢米哈游以及贺甲长期以来对Unite大会的支持,由于篇幅限制,本次演讲内容将拆分成上下二篇. 下面为演讲内容:…
http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在Unity上实现高品质卡通渲染的效果>下篇,上篇请点击此处阅读. 下面为演讲内容: 接下来我们就来介绍一下头发的渲染.头发是卡通渲染角色较为重要且独特的部分.我们想要实现根据光源动态变化的高光和阴影渐变,并且这个实现还应具备直观的所见即所得的色彩调节能力. 和皮肤的材质一样,对于头发的漫反射渲染我们同样…
本文转自博主:Teng的世界 https://blog.csdn.net/teng_ontheway/article/details/47188141 GameObject.Find().Transform.Find查找游戏对象 1.前置条件 2.相关API 2.1 GameObject.Find 2.2 Transform.Find 2.3 其他查找 3 实际测试 4 即使隐藏root节点gameObject也能进行查找的方法 GameObject.Find().Transform.Find查…
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.…
每个shader里面有很多的subshader,如果所以的subshader都不执行的话就,就执行fallback.每个subshader都可以设置一个LOD,整个shader也有一个LOD. 系统就去找第一个LOD小于等于shader的LOD的subshader执行,其他的subshader就不会被执行. LOD 1:LOD Level of Detail, 根据LOD来设置使用不同版本的Shader;2:着色器中给SubShader一个LOD值,程序来设置这个shader的LOD值,只有第一…