Udon 001:如何写出一个Udon代码
第1章:Udon的组成
Udon一共由三个重要的核心组成,分别是:变量- 组件(方法)-事件
什么是变量:
1: 变量代表一个有名字的、具有特定属性的一个存储单元;
2: 变量用来存放数据,也就是存放变量的值;
3: 变量的值可以改变;
4: 变量有特定的类型,类型决定了存储单元的大小和变量值的范围;
变量的本质
从本质上看,变量代表了一段可操作的内存,也可以认为变量是内存的符号化表示。当程序中需要使用内存时,可以定义某种类型的变量。此时编译器根据变量的数据类型分配一定大小的内存空间。程序就可以通过变量名来访问对应的内存了。
在Udon视角下,这个概念有以下修正:
在内存中,Udon的变量并非已经分化的特定形式,而是统一的Udon变量形式,只有在实际使用的时候才会解包转化为对应形式。
也就是说:在内存中所有的Udon变量的符号都为Udon变量,只有使用的时候才会转化为普通的如Int,Float,String的形式
在大部分时候你都不需要注意这个,因为除非你使用了SetProgramVariable或者类似的方法,但是你需要知道。
什么是组件(方法):
一、组件的基本概念与作用
在Unity中,组件是一切功能实现的基础。组件提供了一种实现游戏对象行为和特性的高度模块化的方式。 它们可以被视为可以塑造游戏对象行为的构造块。比如,Animator组件控制动画播放,Collider组件处理物理碰撞等。
二、组件与GAMEOBJECT的关系
每个游戏对象都是一个容器,可以附加多个组件以定义其行为。这种设计理念使得游戏对象可以通过添加和删除组件来动态调整其功能,增强了游戏对象的灵活性及扩展性。组件和GameObject的紧密结合形成了Unity强大的灵活性。
三、如何通过脚本操作组件
掌握通过脚本操作组件是进行VRChatWorld编程的关键。通过使用Udon,VRChat开发者可以在运行时创建、修改或删除组件,这些操作是实现动态和响应式游戏行为的基石。
四、组件间的通讯机制
为了实现不同组件间的数据共享和行为触发,Unity提供了多种通讯机制。这包括直接引用、消息广播和事件等机制。
什么是事件:
事件是Udon脚本指定的,用于触发一系列Udon行动或逻辑的入口。
可以触发事件的方法有很多种,包括但不限于:
输入事件:如玩家移动,转换视角
玩家行为:点击按钮,打开开关,掉入虚空
脚本触发:通过调用SendCustomEvent方法触发事件
等等
事件允许内部调用也允许外部调用(取决于修饰符public/private)是触发执行Udon脚本方法的唯一方式。
总结:组件、事件、方法、变量
组件:组件是事件、方法、变量的集合体,在场景中每一个组件都是独立的个体,是我们进行编程操作的对象。组件是操作的对象
方法:一段被起了名字、可以反复调用的代码块;它用来完成一件(或一类)具体的小任务。方法内可以写任意条语句:判断、循环、调用别的 API、访问组件……总之是真正能“跑”的逻辑。方法是组件的逻辑
事件:事件是所有Udon方法的触发方法,当有任何外部或者内部通过事件系统引用其并且向其发送事件调用时,Udon事件会检查其是否存在对应名称的方法,并且激活这个方法。事件是方法的入口
变量:变量是组件与组件之间差异的根本,是数据的存储区域。
No comments to display
No comments to display