Unity Visual Scripting是一个插件,它为Unity编辑器添加了一个可视化的脚本环境。使用Visual Scripting,开发者可以通过拖放节点和连接它们来创建游戏逻辑,这种方式被称为节点式编程。
📂 系列教程索引
📄(1)基础知识
📄(2)使用if语句、按键输入和协程显示 “Hello World“
📄(3)连击游戏:如何计算时间和分数
📄(4)连击游戏:切换场景和显示分数
📄(5)对象基本操作:使用 AddForce 和 TransForm
📄(6)使用 Collision 添加碰撞检测
📄(7)使用 Raycast 和 List 创建目标游戏(第 1 部分)
📄(8)使用 Raycast 和 List 创建目标游戏(第 2 部分)
💯 使用 AddForce 移动
将空游戏对象添加到 Hierarchy 并将其命名为 [ObjectController]。
将 Script Machine 附加到 [ObjectController]。
单击 New (新建) 创建图表。
单击 Script Machine 上的 New (新建) 以创建图形。
创建一个名为 Macros 的文件夹,并将其另存为 [ObjectManager] 在该文件夹中。
将立方体添加到 Hierarchy,将其 Position 设置为 (0, 0.5, 0),然后从 AddComponent 添加 [Rigidbody]。
这一次,我们将移动此对象。
刚体是 Unity 中用于处理物理计算的功能。
它允许您向对象添加重力或施加力。
接下来,将 Plane 添加到 Hierarchy 以放置此对象。
将其 Position 设置为 (0, 0, 0)。
将 GameObject 类型变量添加到 ObjectController 的 Variables,将其命名为 [Cube],并将其 Value 设置为 Cube。
添加节点以在按下空格键时响应,并按如下所示连接它们。
将 Add Force 节点添加到 Graph Editor。
在 Force 值中输入要施加力的方向。
AddForce 是将力应用于对象的节点。
这一次,我们想让对象跳转,所以我们输入了 (0,300,0)。请随意尝试其他值。
AddForce 顶部的第二个节点连接到要移动的对象。
将 [Cube] 从 Variables 添加到 Graph Editor,然后连接节点,如下所示。
运行程序。
按空格键跳跃。
💯 使用 Transform 移动对象
移动
将 Get Position、Set Position、Vector3Literal 和 Add 添加到 Graph Editor。
断开 AddForce 并从 Cube 中删除刚体。
要删除已添加的组件,请单击右侧的三个点,然后选择 Remove Component (删除组件)。
将 Variables (变量) 中的另一个 Cube 添加到 Graph Editor (图表编辑器)。在 Vector3Literal 中,输入按下空格键时要移动的距离。
这次,输入 (0,1,0)。
Get Position 检索连接到节点的对象的坐标。
Set Position 将连接到底部端口的坐标分配给连接到中间端口的节点的位置。
重新连接节点,如下所示。
让我们运行它。
缩放
将 Get Local Scale 和 Set Local Scale 添加到 Graph Editor。
断开 Get Position 和 Set Position 连接。
将 Vector3Literal 的值更改为 (1,1,1)。
Get Local Scale 检索连接到节点的对象的缩放。
Set Local Scale (设置局部缩放) 将连接到底部端口的刻度分配给连接到中间端口的节点的刻度。
连接节点,如下所示。
运行程序。每按一次空格键,物体就会增长 1 米。
旋转
将 Rotate 添加到 Graph Editor。
Rotation 的计算方式与 Position 和 Scale 不同,因此提供了一个名为 Rotate 的单独函数。
断开用于扩展的节点,然后重新连接它们,如下所示。
这一次,我们每次都会将对象旋转 30 度,因此请输入 (30,0,0) 作为 Vector3 值。
对于 Rotate (旋转),将当前角度连接到从顶部开始的第二个端口,并将要旋转的量连接到从顶部到第三个端口。
运行程序。每按一次空格键,对象就会旋转 30 度。
旋转到特定角度
将 Euler (Euler) 和 Set Rotation 添加到 Graph Editor。
断开用于旋转的节点,然后重新连接它们,如下所示。将 Euler 的值设置为 (0,30,0)。
对于 Set Rotation (设置旋转),将要修改的对象连接到中间端口,并将 Quaternion type 变量连接到底部端口。
运行程序。当您按空格键时,Cube 将在 Y 轴上旋转 30 度。
这一次,我们学习了如何移动对象。
在下节课中,我们将介绍碰撞检测。
📂 《初探 Unity 可视化脚本》系列文章索引:
📄(1)基础知识
📄(2)使用if语句、按键输入和协程显示 “Hello World“
📄(3)连击游戏:如何计算时间和分数
📄(4)连击游戏:切换场景和显示分数
📄(5)对象基本操作:使用 AddForce 和 TransForm
📄(6)使用 Collision 添加碰撞检测
📄(7)使用 Raycast 和 List 创建目标游戏(第 1 部分)
📄(8)使用 Raycast 和 List 创建目标游戏(第 2 部分)
🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕
【博主简介】:10年以上软件开发经验,精通C语言
、C++
、C#
、Java
等开发语言,开发过大型 Android 项目,现主要自主开发经营 休闲益智类小游戏。
【粉丝福利】:博主收藏了大量游戏开发资源和素材。这些资源经过博主多年整理沉淀,现筛选一批精品资源,分享给大家学习研究。
Unity打怪军团 广招天下勇士加入 Unity学习互助小组 有意进群的同学联系我,互3互推也请联系我…