12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 5196|回复: 12
打印 上一主题 下一主题

[教程] ​uScript 实作练习(一)使用Trigger制作红色警示区域

[复制链接]

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

跳转到指定楼层
楼主
发表于 2013-3-12 01:15:09 |只看该作者 |倒序浏览
pstatus"> 本帖最后由 艾西格亚 于 2013-9-10 16:03 编辑

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 (三)使用Trigger进行灯光颜色的变换
http://www.narkii.com/club/bbs_289351.shtml


在uScript 的前面的几个教程里面,相信大家对于uScript的节点操作已经有了初步的认识,
同时也有朋友提出一个问题,Playmaker的可视化操作与uScript比较起来谁更具优势?

简单来说,uScript比较偏向逻辑性操作,也就是具备了程序化的思维,从前面的几个范例流程里面大约可理解了uScript的节点运用与物件之间的关联性。接下来的教程里面,我们将以一个控制台的开关来说明uScript的逻辑操作,在教程的第一个阶段我们将设定角色走向大门内的警示区,这时门口两边的红色警示灯开始旋转,同时发出巨大的警报声并关闭大门。

1.jpg


第二个部分是设定警示区的关闭,在角色靠近控制台时,系统提示按下H键关闭警示区域的,然后角色就可顺利通过大门而进到内部的空间,在解除警示区的同时,控制台与大门上方的也会进行颜色的替换。

2.jpg

3.jpg

范例所在位置:Examples > AlarmGameplay (需安装uScript的范例资源包)

如图所示,在场景内的两个Trigger(绿色框物件)分别触发不同的功能,在左边控制台的Trigger用来提示解除警示区的按键,大门的Trigger则是触发警示区的光线与警报声。

4.jpg


在Hierarchy架构里面可以看到Alarm_Setup是整个警示功能群组,Trigger_Alarm为门口的触发器物件,Trigger_Console物件则是用在控制台的前方区域。

5.jpg

Ok,现在开始第一个部分的制作,按下Ctrl + U键打开uScript编辑视窗,首先建立一个Ttigger Events,直接将Events > Trigger Events拖曳到编辑视窗内即可。

6.jpg

接着将Alarm_Setup > Trigger_Alarm这个触发物件拖曳到 Trigger Events > Instance的栏位,这个作用是让Trigger_Alarm具备传送触发事件的功能。

7.jpg

然后将Alarm_Light_Left, Alarm_Light_Right这两个光源以GameObject模式拖曳进来,如图所示。

8.jpg

将Action > Toggle > Toggle Component拖曳到编辑视窗,Toggle Component的作用类似开关的功能,接着将OnEnterTrigger连接到Toggle Component > Turn On,Target则连接到Alarm_Light_Left, Alarm_Light_Right这两个GameObject。

9.jpg

10.jpg


从这个连接的方式来看不难理解,只要Trigger_Alarm被触发(OnEnterTrigger),Alarm_Light_Left, Alarm_Light_Right这两个光源就成为启用的状态。

请注意,Alarm_Light的默认已经被我们设定成关闭,所以在Trigger_Alarm被触发后就成为开启的状态。

按下Component Name创建一个Create Linked Variable的节点,在Value的栏位内键入Light,
表示在节点里面是调用了Light的组件作为开关。

11.jpg

13.jpg

在编辑视窗内进行uScript储存,选择File Menu > Save As..将目前的设置储存为一个新的名称,然后进行Play测试,当角色移动进入大门的前方区域是,两边的红色警示灯就成为开启的状态。

14.jpg

在测试的时候我们发现一个问题,那就是角色触发Trigger_Alarm启动了红色的警示灯,但是角色离开该区域后,警示灯并没有关闭,这时只要将OnExitTrigger连接到Turn Off的位置,如此在角色离开Trigger_Alarm的范围,红色警示灯就会回到原来的关闭状态。

15.jpg

16.jpg

警示灯的启用只是将红色灯光打开,并没有进行其他的动作,所以我们需要在灯光上做些效果,将Actions > Game Objects > Rotate 拖曳进来,Degrees 设定为360度,Axis设定为Y轴,Seconds为2秒,然后将Target连接到Alarm_Light_Right。

18.jpg

19.jpg

从Rotate的节点连接之后来看就很容易理解uScript的逻辑,简单的描述一下就是: Trigger_Alarm被触发时就启用Alarm_Light的两个红色灯光,并以Y轴进行每秒180度的旋转,如果将Seconds设定为1,就表示灯光每秒旋转一圈。

Rotate > Target只连接到Alarm_Light_Right,如果我们将两个光源连接到相同的节点,这样两个灯光会变成相同的旋转方向,这时需要复制出另一个Rotate节点与Alarm_Light_Left进行连接,点击Rotate按下Ctrl +C键,Ctrl + V键复制出另一个Rotate节点,在复制出来的Rotate节点里面修改Degrees为-360(反向旋转),然后连接Target 到Alarm_Light_Left,如图所示。

20.jpg

储存后再进行测试时就会看到两个灯光在Tigger_Alarm触发后会做出不同反向的旋转,在角色离开Trigger_Alarm的作用范围后,警示灯光也会随之关闭。

21.jpg

灯光的效果处理完成后,还少了警示的音效作用,将Actions > Audio > Play Sound 拖曳进来,这个节点是用来播放场景或是物件上面的音效。

22.jpg

在Play Sound的属性栏里面,将场景内First Person Controller/Main Camera拖曳到Target > Game Object的栏位,Volume音量设定为1, 勾选Loop使其能循环播放。

24.jpg

将Variables > Audio Clip拖曳进来,并与Play Sound > Audio Clip连接,这个操作方式与之前的uScript版本有些不同,建议使用圈子提供的版本进行练习,接着在Audio Clip栏位里面选择alarm(Audio目录下)为指定的音效。将Toggle Component > Turned On连接到Play, Turned On 连接到Stop,使警示音效在角色触发Trigger_Alarm时能开启,并在离开后关闭。

23.jpg



音效的设置完成后,门口的部分还需要制作关闭的效果以防止角色进入,如图所示,在Trigger_Alarm触发时,门口会进行关闭的动作。

25.jpg

26.jpg

我们需要对Door_Panels里面的Left与Right这两个物件设置Position.x的位移动画制作,操作方式是选择Door_Panels,在Animation里面新增一个ModoAnim的动画文件,然后分别对Door_Panel_Left与Door_Panel_Right进行关键帧设定。

27.jpg

如图,我们在Door_Panel_Left的X轴移动设定了1秒的关门动作,移动的距离是2个单位,
Door_Panel_Right也做了2单位的移动,如此大门可以控制在1秒内进行关闭的动作。

28.jpg

设定完成后将Actions > Animation > Play Animation 拖曳进来,然后连接Toggle Component > Turned On与Play Animation > In的节点。

29.jpg

将Door_Panels拖曳进来成为Game Object的节点,然后与Target进行连接,Animation输入我们设定好的关键帧动画的文件名ModoAnim, Speed Factor设定3的数值来加速门的关闭,
勾选Stop Other Animation是让物件上其他的动画暂时停止。



选择Play Animation,使用Ctrl+C,Ctrl+V方式复制出另一个节点,在复制出来的Play Animation里面将Speed Factor设定为-3,同样的将Target连接到Door_Panels,最后将Toggle Component > Turned Off连接到复制出来的Play Aniamtion > In的节点,如图所示。

31.jpg

32.jpg

按照上面的操作完成后进行Play测试,角色移动到Trigger_Alarm区域后触发警示灯与警报声,同时门口也会自动关闭,当角色离开警示区域后,警报解除,门也会再度打开。

练习完成第一个部分的操作后,对于uScript触发设定可说是有了更进一步的了解,
,在下一个教程里面,我们将使用控制台的触发来解除警示区的动作,透过这两个阶段的练习,相信对于uScript的综合运用会有全面的提升,同时也希望有更多的朋友能一起探讨uScript的未来发展与技术交流!
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2013-3-12 01:47:33 |只看该作者
这个应用不错,先顶一个!
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2013-3-12 16:27:48 |只看该作者
这个很好,比起Playmaker的设计思路好很多
回复

使用道具 举报

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2013-3-14 02:04:25 |只看该作者
希望有更多方面的教程可以参考,谢谢!
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2013-3-16 11:08:19 |只看该作者
uScript的一些命令与Playmaker不太一样,不过总的来说,u脚本是直观多了。
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

6#
发表于 2013-5-15 14:22:50 |只看该作者
原文章遗失的图片已经补齐
回复

使用道具 举报

12

主题

1

听众

609

积分

初级设计师

Rank: 3Rank: 3

纳金币
309
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2013-5-16 08:51:48 |只看该作者
谢谢楼主分享。。
回复

使用道具 举报

40

主题

0

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
279
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2013-5-16 10:09:05 |只看该作者
谢谢楼主分享。。。
回复

使用道具 举报

0

主题

2

听众

7

积分

设计初学者

Rank: 1

纳金币
0
精华
0

活跃会员 灌水之王

9#
发表于 2013-5-18 23:34:46 |只看该作者
给美工有的东西,呵呵,我用不上
回复

使用道具 举报

0

主题

1

听众

25

积分

设计初学者

Rank: 1

纳金币
5
精华
0

活跃会员 灌水之王

10#
发表于 2013-7-5 17:04:25 |只看该作者
果断先收藏了
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-5 13:54 , Processed in 0.102866 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部