Unity入门系列之Transform位移相关

目录

1.位移计算公式

2.直接计算的方法

3.API计算方法


1.位移计算公式

一维坐标系:路程=速度*时间;

多维坐标系:路程=速度*方向*时间;

2.直接计算的方法

position=当前位置+移动距离

this.transform.position=this.transform.position+this.transform.up*1*Time.deltaTime;

它会始终朝向自己面向的位置移动。

方向非常重要,因为它决定了前进方向

this.transform.position+=Vector3.forward*1*Time.deltaTime;

3.API计算方法

参数一:位移的多少。

参数二:相对的是什么坐标系

//1相对世界坐标系Z轴动

this.transform.Translate(Vector3.forward*1*Time.deltaTime,Space.World);

//2相对世界坐标的,自己的面朝向去动,始终朝自己的面朝向移动

this.transform.Translate(this.transform.forward*1*Time.deltaTime,Space.World);

//3相对于自己的坐标系下,自己面朝向量移动(一定不会让物体这样移动)

this.transform.Translate(this.transform.forward*1*Time.deltaTime,Space.Self);

//4相对于自己的坐标系下Z轴正方向移动,始终朝自己的面朝向移动

this.transform.Translate(Vector3.forward*1*Time.deltaTime,Space.Self);

一般使用API来进行位移。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity中,RectTransformTransform都可以用来表示游戏对象的位置、旋转和缩放。RectTransform主要用于UI元素在画布上的定位和排版,而Transform则用于3D场景中游戏对象的定位和排版。它们的位置转换可以通过以下方式实现: 1. 从RectTransformTransform的转换 要将RectTransform的位置转换为Transform的位置,需要使用RectTransform的anchoredPosition属性和anchorMin、anchorMax属性,以及Canvas的scaleFactor属性。具体步骤如下: - 获取RectTransform的anchoredPosition属性,并将其转换为Canvas坐标系下的位置。 - 获取RectTransform的anchorMin和anchorMax属性,计算出UI元素的宽度和高度。 - 获取Canvas的scaleFactor属性,计算出Canvas坐标系和世界坐标系之间的缩放比例。 - 将Canvas坐标系下的位置转换为世界坐标系下的位置,即可得到Transform的位置。 2. 从Transform到RectTransform的转换 要将Transform的位置转换为RectTransform的位置,需要使用Canvas的RenderMode属性和RectTransform的anchoredPosition属性。具体步骤如下: - 获取Canvas的RenderMode属性,判断Canvas的渲染模式是Screen Space还是World Space。 - 如果Canvas的渲染模式是Screen Space,直接将Transform的位置转换为屏幕坐标系下的位置。 - 如果Canvas的渲染模式是World Space,需要将Transform的位置转换为Canvas坐标系下的位置,然后再转换为RectTransform的anchoredPosition属性。具体步骤同从RectTransformTransform的转换。 需要注意的是,RectTransformTransform的坐标系不同,转换时需要注意坐标系的转换。此外,RectTransformTransform的旋转和缩放也需要进行转换。可以使用Transform的localRotation和localScale属性,或使用RectTransform的rotation和sizeDelta属性来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Nicole Potter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值