我想知道我能否获得与编辑器中相同的轮廓。 Like this
答案 0 :(得分:0)
我不确定您如何在链接到的Github存储库中应用脚本。看起来轮廓着色器仅应用于您发布的3D模型上的叶子材质,但是我认为此轮廓效果旨在作为后期处理或替换着色器运行。我认为您应该将脚本或参考书附加到树上的叶子上时,才应将其附加到摄像机上。
更新:我下载了该存储库,并更改了“ UnityOutlineFX.cs”脚本以使用多种材料(问题是该脚本最初仅概述了索引0中的材料)。该修复程序位于RecreateCommandBuffer()
函数中,我添加了以下代码(请注意不同材料的for循环):
// render selected objects into a mask buffer, with different colors for visible vs occluded ones
float id = 0f;
foreach (var collection in _objectRenderers)
{
id += 0.25f;
_commandBuffer.SetGlobalFloat("_ObjectId", id);
foreach (var render in collection)
{
for(var i=0; i<render.sharedMaterials.Length; i++) {
_commandBuffer.DrawRenderer(render, _outlineMaterial, i, 1);
_commandBuffer.DrawRenderer(render, _outlineMaterial, i, 0);
}
}
}
最初的问题(仅勾勒出一种材料,该图片中的蓝色和橙色对象是一个网格的一部分)