2020年4月
第一人称视角与玩家模型的面部剔除
第一人称视角与玩家模型的面部剔除
刚开始做的时候,遇到了这么一个问题:
抬头时头部穿模
我想实现的效果是既能看见身体下半部分以及腿、手这些部位的动作,又不会在四处望时导致脑袋穿模。
时间仿佛又回到了去年,在我上一个项目时也遇到过同样的问题,当时我是这样解决的:
用暴力把脑袋和手臂藏起来,第一人称视角玩起来毫无违和感
后来我也发现了,锤子的没有违和感啊!明明影子就会把你暴露得一干二净。
所以我上一个项目后来想出了个解决方法,是这样做的,设置两个摄像机,一个正常渲染,但是裁剪平面距离设置比较远(即看不见近处的东西),另一个专门渲染近处,但是不渲染自己的模型,这么做完全可以,但是会导致性能开销比较大,两个摄像机都要分别做剔除、后处理这些操作(这可能就是我上一个游戏优化很差的原因)
如果摄像机在眼睛前面的话,那么只有往前望的时候才不会有遮挡,但是摄像机会旋转,那么如果头部能跟随视线方向旋转呢?
于是我尝试把头部和视线绑定一起:
看起来还挺自然的,不过问题依旧存在。在我观察摄像机运动轨迹时,想起之前为了模拟真实视角,我把脖子部分扭动运动也加上去了,轨迹是这样的:
这里卡了我好一段时间,后来才想起来做剔除处理,保留影子。但是这样在镜子里看不见,不过也有解决办法,就是把另外一个光照层里正常的渲染到镜子里。
剔除后的效果:
自己做动画!
自己做动画!
我从来没有想过有一天会到自己做动画的地步,可能是因为受到过“六年工作经验动画师.gif”、"高端动画师求职,擅长大幅度动作平滑过渡.gif"的耳濡目染,一直感觉动画这一块儿是特别高深难的东西,听过手动k帧一个月的故事,心中充满了恐惧。
原计划是在成都找个地方租套动捕设备,花时间把所有动作给录了,但是挠挠头,这方面是一点经验也没有啊,可能还是得请个动画师。
不过和本项目开始的初衷一样,初生牛犊不怕虎,硬着头皮学一点吧,以后找工作可能也用得着,不说多了,至少了解一下也好。
目前主流的方式是FK/IK,从这里下手,大概找到了以前做视频时用关键帧插值的顺滑感觉,特别是IK,原以为很复杂,得自己写解算代码,后来发现自己想多了,这东西就像你点了只鸭子以为要自己处理,结果别人都帮你做好端上来了,你负责吃就行了。
朋友评价:我是一个面无表情的吃饭机器
昼夜交替
昼夜交替
昼夜交替做起来实际上很容易,不过对场景烘焙太不友好了,可能白天晚上都得分别烘焙一份,再动态切换lightmap,之前说写一份代码测试来着,结果我烘焙总是内存溢出,不知道是不是场景太大了,24G内存,我还分配了100G虚拟内存在固态,都还是不够,真的很迷。
升级渲染管线至HDRP 7.3.1
升级渲染管线至HDRP 7.3.1
实际上很早就琢磨着把unity从2019.2升级到2019.3,因为预览版的HDRP太多BUG了,之前遇到了些比较棘手的渲染问题,处理起来有心无力。
深知Unity版本升级是大忌,想起前不久的做影视动画《windup》的制作组也是和我一样用的2019.2 HDRP 6.9,他们材质全用的是Tessellation,结果升级到2019.3后连项目都打不开了……
于是我做了个备份,开始了漫长的升级之旅,第一次版本升级后,弹了各种错误,我把library重建后,错误消失差不多了,然后又按照官方文档替换volume中弃用的组件,先前本版的问题大多解决了,不过很多新问题又如雨后竹笋般出现了,反射探针曝光过度,SSR在某个角度会渲染出杂乱的图像,体积雾的参数发生了改动,导致得把场景中所有雾参数改一遍,同时,天空volume的曝光过渡会有奇怪的卡顿,无奈,把所有曝光调成一致,然后改后处理的间接光强度和自动曝光来实现同样的效果。地形贴图也开始疯狂闪耀,把draw instanced关了就好了,但是性能下降不少,真头疼。
版本更新后照了下镜子,吓死我了,这材质……
彩蛋
彩蛋
经 典 重 现
四月总结
四月总结
本月把人物的移动、交互、视角切换、基础动画打磨得差不多了。
把第一天做完了(除开Gameplay的剧情部分),但是效果不是很满意,对话、动作、表情显得太僵硬,不过目前也没有太好的办法,之后再想想办法。
下月计划:
- 优化材质
- 把几个僵硬的动作改了
- 第二天做完
- 完善山
- 把剩下的场景模型给建完
- 实现部分Gameplay功能
计划有点多,所以下月目标是挑一半的计划来做。
HDRP是真的很头痛……我试着换了两次,最后都还是回到非HDRP了