初探 Unity 可视化脚本 |(5)对象基本操作:使用 AddForce 和 TransForm

📂 Unity 开发资源汇总 | 插件 | 模型 | 源码

💓 欢迎访问 Unity 打怪升级大本营

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 部分)


TheEnd


跳跃

📂 Unity 开发资源汇总 | 插件 | 模型 | 源码

💓 欢迎访问 Unity 打怪升级大本营

🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕
关注我

博主头像
【博主简介】:10年以上软件开发经验,精通 C语言C++C#Java 等开发语言,开发过大型 Android 项目,现主要自主开发经营 休闲益智类小游戏

【粉丝福利】:博主收藏了大量游戏开发资源和素材。这些资源经过博主多年整理沉淀,现筛选一批精品资源,分享给大家学习研究。

Unity打怪军团 广招天下勇士加入 Unity学习互助小组 有意进群的同学联系我,互3互推也请联系我…
联系我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity打怪升级

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值