在有游戏中 模型被打光了就会有影子的出现,那么我们怎么设置让影子不出现在场景内呢?
01.png其实只需要找到模型的Renderer然后设置 他的shadowCastingMode就行啦
现在的shadowCastingMode 一共有4种分别是
// No shadows are cast from this object.
Off = 0,
// Shadows are cast from this object.
On = 1,
// Shadows are cast from this object, treating it as two-sided.
TwoSided = 2,
// Object casts shadows, but is otherwise invisible in the Scene.
ShadowsOnly = 3
先是第一个off,当把shadowCastingMode 设置为off就关闭了影子就不会在场景中出现影子了
02.png第二个 on , 当把shadowCastingMode 设置为on 影子就会出现在场景中。
01.png
第三个 TwoSided , 当把shadowCastingMode 设置为TwoSided 影子就会出现在场景中,但是这个渲染体(当前渲染体是武器)就不会接受光照,也就是虽然会投射出影子但是它被 打的光影响。
03.png仔细对比图片2和图片3,图片3点武器明细暗一些。
第四个ShadowsOnly ,当把shadowCastingMode 设置为ShadowsOnly 影子就会出现在场景中,但是渲染体就消失在游戏里了。
04.png
那么我们具体操作代码如下
rootRenderer = this.gameObject.GetComponentInChildren<Renderer>();
rootRenderer.shadowCastingMode = (ShadowCastingMode)shadowType;
我也只是简单的测试一些,有一些地方说的不一定对,如有问题可以评论指出,谢谢大家。
网友评论