【Unity3D】学习笔记(第6记)鼠标选中敌人显示轮廓线
2014-12-14 12:57
567 查看
之前做游戏时一直想实现这种效果,但从网上搜的资料都说是要写shader的,由于看不懂脚本,也就没去研究怎么写,后来发现材质中自带的着色器有这个功能;如下图,在材质中选择shader的Toon/Basic Outline,它的属性有个main color(整体颜色),Outline color(轮廓颜色),就是这个Outline color,可以改变物体的轮廓色,开始我琢磨想如何直接在脚本改变这个Outline color,但发现只能在shader里改,呃。。。,还是另想它法吧。
后来就想不能改属性,那可以把整个脚本换了啊,因为自带的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表示具体的对象)
这种方法只是有点取巧的,如果换成其他的shader脚本,不一定有这Outline color属性,反正能用则用呗。
后来就想不能改属性,那可以把整个脚本换了啊,因为自带的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表示具体的对象)
这种方法只是有点取巧的,如果换成其他的shader脚本,不一定有这Outline color属性,反正能用则用呗。
相关文章推荐
- MFC学习笔记四 用鼠标设定文字显示开始位置
- Unity3D实现鼠标选中“高亮”显示功能
- 【Unity3D】学习笔记(第1记) 敌人AI之Seek(靠近)
- Unity3D学习1——鼠标点击效果显示
- opencv学习笔记11 在图片中添加文字,点击鼠标显示位置坐标
- Unity学习笔记——鼠标移动到物品上显示物品名字,点击后显示物品信息
- OpenCV学习笔记——点击显示鼠标坐标
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字 - 流星絮语 JAVA学习笔记 - CSDNBlog
- unity3D学习笔记之八 利用RawImage和RenderTexture在uGUI上显示Model
- 学习笔记——文本框显示默认,点击后默认输入消失。鼠标离开后又出现
- unity3d 学习笔记___虚拟轴、鼠标事件、双击事件的应用处理
- JavaScript学习笔记1:鼠标划过选中
- Silverlight学习笔记一:DataGrid如何处理鼠标的滚轮事件
- mojoportal学习笔记之显示所有菜单
- jQuery-focus()和blur()方法-文本框单击字体消失及移开灰色显示 学习笔记七
- CEGUI学习笔记三-- 如何显示中文和中文输入 (转kun(小龙))
- ALVGRID学习笔记----红绿灯显示
- SDL学习笔记一 图片和字体显示
- torque学习笔记:自定义显示模式
- OWC学习笔记之web页面显示Excel文件