【Unity3D】学习笔记(第6记)鼠标选中敌人显示轮廓线

       之前做游戏时一直想实现这种效果,但从网上搜的资料都说是要写shader的,由于看不懂脚本,也就没去研究怎么写,后来发现材质中自带的着色器有这个功能;如下图,在材质中选择shader的Toon/Basic Outline,它的属性有个main color(整体颜色),Outline color(轮廓颜色),就是这个Outline color,可以改变物体的轮廓色,开始我琢磨想如何直接在脚本改变这个Outline color,但发现只能在shader里改,呃。。。,还是另想它法吧。


【Unity3D】学习笔记(第6记)鼠标选中敌人显示轮廓线_第1张图片

后来就想不能改属性,那可以把整个脚本换了啊,因为自带的shader脚本还有个Toon/Basic脚本,(如下图)这个脚本下是没有Outline color属性的,那么在游戏中就可以先给材质赋予Toon/Basic脚本,当敌人被选中时就通过脚本将材质的shader的改为Toon/Basic Outline,具体代码类似这样:

初始化时用这个:gameObject.renderer.material.shader=Shader.Find("Toon/Basic")(只是在面板设置可能会出错,需在脚本初始化)

选中时用这个gameObject.renderer.material.shader=Shader.Find("Toon/Basic Outline");(注意:gameObject表示具体的对象)

【Unity3D】学习笔记(第6记)鼠标选中敌人显示轮廓线_第2张图片

这种方法只是有点取巧的,如果换成其他的shader脚本,不一定有这Outline color属性,反正能用则用呗。



你可能感兴趣的:(unity3d,鼠标,Shader,显示轮廓,C#,Unity3D学习笔记)