UScript插件学习(一)

来源:互联网 发布:外汇软件 编辑:程序博客网 时间:2024/06/05 21:13

uScript插件学习(一)

一、简介

    可视化脚本编辑语言uScript,具有高度的友好界面、整合性高、功能强大、修改容易等特点。开发者只祷将集成的功能模块用连线的方式,通过逻辑关系将模块连接,即可快速创建所铸脚本功能,作为一个程序员来说,思想和逻辑比代码更重要,所以才想去学习可视化脚本来提高开发效率,同时也非常适合非编程人员与项目制作使用。

    Unity插件可视化脚本编辑的还有一款很火的是PlayMaker,这一款我后续也会去学习然后记录下来。

    功能强大:它的实现原理是这样的.
    (1)
连接好模块后,保存模块为debugrelease模式后,U脚本会自动把逻辑快转换成U3DC#源码,然后供U3D调用.quick模式保存,不会转换源码,仅保存为模U,程序不工作.
    (2)U
脚本可以调用U3D已有的所有方法,自动将其转换成U模块供U脚本使用,理论上这样就可以实现想要实现的任何功能.
    (3)U
脚本可以用C#编写自己想要的任何自定义模块,官方有入门的教程,无需关闭U3D可以在运行状态编译模块.
    (4)
利用自定义模块和quick模式可以实现模版的重用和保存工作,大家无需使用原先繁杂的源码文件.用到某功能的时候,只需转换一下即可.
    (5)
模块设计的分类很科学,便于记忆与选取,这在使用过程中,非常容易入手.具有全屏截图功能,可以截图后分享示例模版,便于大家学习交流。

 

    uScripts学会后再学习PlayMakerBehavior DesignerShader可视化、虚幻4的蓝图等都是很有帮助的,所以我才想先研究学习uScripts

    我从网上下载了8小时的uSctips英文视频,我会根据视频的开发一步一步的记录下来并且与大家一起分享。

二、准备工作

1、导入uScript插件

    Unity商店中uScript插件价格135美刀,个人经济允许的话建议购买正版,如果在实际项目中运用的话那更要购买正版的,从百度下载下来的一方面版本老旧另一方便不能更新,有问题也不能请教等。

    而且作为一个开发者更希望尊重别人的杰作,当然你可以先从百度下载旧版本,然后学习后,发现该插件很不错并且可增强你的开发效率也可在实际项目中运用,那么你在去购买正版的也是OK(我也是准备这么做的)

    这也是我单纯想法毕竟我没办法限制别人的权利。

    uScript插件导入到新增项目中。

    Tool/uScript/uScript Editor可打开uScript编辑器或按Ctrl+U也可以。

    如果导入出错,或者打开uScript出现错误的话,可能是你uScript包太旧或者Unity版本太老等可能性。

    uScript的使用以及其他的介绍我会在开发中时,一步一步的说明记录,详细来阐述其中的功能。这里就先不说明了。

2、场景模型准备

  • 新建场景

         新增一个场景,删除场景中的Directional light和天空盒(当然你也可不用删除,只要自己学习到就行了,我也是跟着视频一步一步走防止出现未知的错误或者效果不符等问题,因为我也是刚开始学习)

         

  • 准备NPC

          所谓的NPC就是几个Cube和灯光组成的。

     

        将该NPCTag设置为Player,添加Rigidbody刚体组件。也就是所谓的玩家。

        Player物体下的Gun子物体碰撞器移除掉。

        设置好之后,做成预制物体即可。

  • 准备NPC移动场景

        4Cube和一个Panel组成的围栏杆。

  • 玩家移动

        打开uScript Editor,新建一个uScript文件,保存为PlayerScript

        文件路径默认即可,保存后提示你是否要加入到某个物体中,点击否即可,到时手动添加也行。

    上述步骤uScript脚本就新增完毕了,如果你要将该脚本添加到某个物体上,有两种办法如下所示:

    1)选中某个物体,菜单Component->uScript->Graphs->"你的脚本"

    2)选中某个物体,在AddComponent中进行添加组件。

    3)添加后物体显示

    如果好奇的话,可以去看看里面脚本的源码,当然现在脚本里面功能什么都没有。下面开始实现功能。

    4)添加功能模板

        添加功能模板有两种添加方式,点击空白区域添加,另一种在搜索栏中搜索添加。

    5)Input Events

    底部是该功能模块的参数说明,左边是参数的设置,右边是参数说明,告诉您这些参数都是干嘛的。

    Input Events输入事件随时从键盘,鼠标或操纵杆检测到输入。

    Output Comment如果为true,则当节点触发时,此注释文本将发送到Unity的控制台窗口。

    Comment在该节点上方显示的注释文本是uScript的画布。

    Instance与该节点相关联的游戏对象实例。这告诉uScript使用哪个具体的gameObject,它包含这个指定的事件,属性,脚本,触发器,对撞机等(这里不懂也没关系,其实我也不怎么懂,它应该就是一个该功能模板的物体单例或是该脚本物体的单例)

     

    后续的功能模块"Output Comment""Comment"都不介绍了,都是一样的。

    6)Input Events Filter

         "输入事件"节点上的"输入事件"输出过滤到按下,保持或释放的特定输入(键,鼠标,操纵杆)。

    Key Code:监听的键(比如:按下A键,左键等)

    如上图所示,设置好键后,并且与Input Events连接后,还要进行输出,将信息反馈给别人(当按下W键后,玩家需要进行前进,这时需要添加一个Translate模块,来设置物体的移动)

    7)Translate

        这个节点似乎是由反射产生的。它允许访问方法"UnityEngineTransformTranslatefloatfloatfloat"

    在上图中我们发现另一个功能模板它叫"Owner GameObject",在我看完视频后,它是比较常用的。

    8)Owner GameObject

        Owner GameObject变量是一种特殊的gameObject变量。它们代表这个uScript所附加的gameObject

    9)设置后退

        与前进的连接方式是一样的,后退只需要改一下按键以及参数值就可以了。

    最终效果:

    注意记得保存下,否则运行后,该脚本是无效的哦!

    运行后:

    如果对本插件感兴趣的朋友可以关注我的微信公众号(uhuaqing)"华清笔记",后续我会结合视频持续更新,当视频更新完后。如果效果不错的话可以在实际项目运用的话,我会翻译uScript插件英文API为中文API(作为英文白痴,只能利用谷歌翻译),也会在公众号和博客中发布。学习的过程中也给大家分享,方便大家少花时间学习尽快掌握。

         

原创粉丝点击