纳金网

标题: 初识uScript (三)使用Trigger进行灯光颜色的变换 [打印本页]

作者: 艾西格亚    时间: 2013-3-8 17:39
标题: 初识uScript (三)使用Trigger进行灯光颜色的变换
本帖最后由 艾西格亚 于 2013-5-15 15:06 编辑

uScript V 0.9.2236下载:
http://www.narkii.com/club/bbs_286674.shtml

初识uScript (一)程序安装与范例文件的使用
http://www.narkii.com/club/bbs_288802.shtml

初识uScript (二)小球吃钱币的设计逻辑与思路研究
http://www.narkii.com/club/bbs_289006.shtml

在初识uScript 的系列教程里面,我们已经了解到uScript的基本操作与节点的关联性,并且与圈子内的朋友也做了内容的探讨,普遍来说,大家对于uScript的一些操作思路仍有不解之处,所以在接下来的教程中,我们将使用一个简单范例来说明uScript是如何在几个步骤内完成一个灯光的切换功能。

如图,场景里面包含了两个圆柱体,一个蓝色的灯光源,另外是控制相机活动的第一人称物件。

1.jpg

我们希望的效果是,在第一人称的物件靠近两个圆柱体之间时,灯光的颜色由蓝转成黄色,这个方式就像是启用一个光源的开关。
2.jpg

使用 Game Object > Cerate Empty 建立一个空的GameObject物件,然后更名为Trigger,我们准备用这个物件来作为触发的开关。

3.jpg

接下来在Trigger上面增加 Box Collider, 使其具备碰撞的属性,缩放其大小以配合两个圆柱体之间的宽度,目的是让胶囊体能在通过Trigger物件时产生触发作用。

4.jpg

5.jpg

此外需勾选Is Trigger 选项才能使Trigger物件具备触发的属性。

5_1.jpg

打开uScript编辑器,这里我们可以直接按下Ctrl + U键来完成这个动作,在Toolbox右边的搜索框里面输入trigger找到Trigger Events 这个节点,然后拖曳到编辑视窗内。

6.jpg

将Hierarchy里面的Trigger物件拖曳到编辑视窗内,这时视窗会弹出一个选项,直接选择Place Variable :GameObject即可。

7.jpg

如图,拖曳进来的Trigger物件就会以GameObject的形态显示在编辑视窗内。

8.jpg

将Trigger 连接到 Trigger Events > Instance ,这个作用让Trigger物件具备触发事件的功能。

9.jpg

在搜索框输入Set Color,将Variables > Color > Set Color拖曳到编辑视窗内,然后将OnEnterTrigger连接到Set Color > In,接着在Properties > Value栏位里面将颜色更换为黄色(或是其他的颜色皆可)。





12.jpg


设定完成变换的灯光颜色后,我们还需要指定场景内的光源,在搜索框内输入color,找到UnityEngine.Light > Color后将其拖曳到编辑视窗内,如图所示。

13.jpg

将Set Color > Target (目标)连接到UnityEngine.Light的节点,从图示里面来看,我们可以很清楚的看到uScript的逻辑是很容易理解与判断的,只要有物件进入Trgger区域(OnEnterTrigger),触发之后就进行Set Color的动作,也就是将原本颜色更换为我们指定的黄色,并且将光源作为希望改变的目标。



在UnityEngine.Light > Instance 里面将场景内光源(MyLight)指定为目标物件,这样就完成了所有节点的设定。

15.jpg

现在进行播放测试,在一开始的时候灯光还是原来的蓝色,当我们将第一人称物件靠近两个圆柱体中间时,灯光就会因为触发事件而改换成黄色。

16.jpg

17.jpg

了解Trigger Events的基本操作后,相信大家对uScript里面的触发功能设定有了初步的了解,在下一个教程里面,我们会继续将重点放在更多关于Trigger的应用,并希望圈子里面能有更多Unity爱好者交流uScript插件的技术应用。






作者: Zack    时间: 2013-3-8 21:30
学习了,希望在Trigger的应用上面能有更多的教程!

作者: comicbb    时间: 2013-3-9 00:34
学习了  xiexie

作者: Sora    时间: 2013-3-9 09:17
太棒了 感謝樓主清晰的教學



作者: 所罗门封印    时间: 2013-3-9 20:28
这个例子比较简单易学。
作者: 艾西格亚    时间: 2013-5-15 15:07
原遗失的图片已补齐
作者: 5473857    时间: 2013-9-2 17:10
楼主   没找到   UnityEngine.Light   这个节点啊
作者: 5473857    时间: 2013-9-3 08:28
楼主   没找到   UnityEngine.Light   这个节点啊
作者: yangbo8088    时间: 2013-9-3 10:08
谢谢楼主分享 其实我是来混金币的
作者: cmmjava    时间: 2013-10-2 02:24
感謝樓主清晰的教學




欢迎光临 纳金网 (http://rs.narkii.com/club/) Powered by Discuz! X2.5