既然发了文章,就顺便记录一点其他东西,看心情以后可能会继续更新
起因
学校新建了一栋教学楼,许多教室都没有排课,来自习的人也很少。
带上电脑来到教学楼,找到一间僻静的教室坐下。在忙完学校的各种琐事之后,其余的时间便全属于自己。
我每天都享受着这样的生活,直到换了校区…
大概是因为怀念这种远离喧嚣的宁静与孤独,所以有了接下来这些东西(?)
RealtimeGI
(其实折腾这部分距离现在已经有一段时间了,使用的是Unity2021.2.0b7,URP管线)
首先是一栋教学楼,原型自然是学校新建的那栋(MagicaVoxel体素建模)。
将模型放入Unity,加入光照变化(展示的动态光大致模拟了现实光照的变化,只是修改了直射光的方向,没有修改强度和环境光照等其他参数):
完全没有真实感!(当然模型太简陋也是原因之一)
一通研究后加上了RealtimeGI:
效果还挺不错?
可惜因为精度的原因,总是有着一些光照错误,比如漏光:
在翻遍了(大概?)官方文档和国内外相关讨论也没能完全解决后(不想把墙壁加的太厚),决定看看其他实时光照的解决方案。随便翻了翻,嗯,学习的道路还很漫长。
后处理
因为RealtimeGI一时半会儿解决不了,于是尝试风格化渲染(什么没有间接光,这是风格),毕竟卡通风格我还是很喜欢的。
于是打开Bloom SSAO,调整画面颜色,然后自己看了看Shader,加了个Outline(图中似乎不是特别明显),于是乎:
这种亮闪闪的有些梦幻般的感觉我还是很喜欢的。
说实话后处理Shader写起来的感觉更像是在搞图像处理。不过做完这个之后发现自己确实对Shader缺乏更系统的学习,再加上当时学校那边有很多事情要处理,对画面表现的追求就这么暂时搁置了。(然后鸽到现在也没有继续)
最后放一张RealtimeGI+后处理的效果图:
动态骨骼
中间一段时间确定了要继续读研,选择了图形学方向,还跟着导师重新过了一遍图形学,了解了DirectX和Shader(因为当时只是听,没怎么动手做,现在想想好像已经忘得差不多了hhh ),于是决定重新回来完成这个未竟的事业(没有被抛弃的项目,感动)。结果回来后看了看画面感觉十分满意,就折腾其他的去了。(?)
学校怎么可能完全没有学生?于是做了两个小人(同样是MagicaVoxel),一个男生一个女生。把小人放在场景里动来动去,然后…等等,这个女生的头发怎么这么僵硬?…(做进动画里是不可能的)
一通折腾,写了段代码,模拟了头发/布料的飘动效果(使用了VoxelImporter导入模型并绑定骨骼)
移动时的摆动效果(旋转角度限制在了一定范围内,防止摆到身体里):
旋转时的效果(同样限制了角度,防止突然180度旋转时扭成麻花):
重力(外力)效果:
实际游戏场景下整体表现还是非常不错的~