特效显示与模型遮挡问题

第一篇博客献给CSDN,最近项目特效出来了,但是会遇到体型比较大的模型遮挡特效的情况,搜索了网上各位前辈的解决方案,大概两种,一种是改变模型Shard,https://blog.csdn.net/zkq666666/article/details/48489355,粒子特效的Shard改成这个,但是效果不好,大家可以试试,第二种是把特效层级分离出来,单独显示到画布上,问题是用RenderTexture,只显示特效一层的话,RenderTexture本身的颜色会遮挡后面的场景。下面给大家说我找到的解决方法,只用了一个摄像机。

我们做的是2.5D的MONO,所以会一直有个相机跟随主角移动,我们看到的场景就是这个摄像机拍到的,首先在场景里再创建一个摄像机,参数是这样的,

特效显示与模型遮挡问题_第1张图片

把需要显示的特效单独放一个层级,主摄像机不照射这个层级,只让这个摄像机照射,ClearFlags选择Depth,Culling Mask选择特效这一层,Projection选择Persoective,其他参数根据自己的实际项目来,然后,要想生成特效位置正确,这个摄像机要跟主摄像机位置一致,代码里让他们位置一直相同,最后最重要一步,这个新建的摄像机进入场景前得是关闭的,等到需要用时打开,不然不起作用,我也是很迷这点,有知道的朋友,望告知,这样效果就出来了,需要在模型前面显示的,放到特效层就可以,就酱紫。

 

你可能感兴趣的:(特效显示与模型遮挡问题)