Unity3D —— 移动

目录

(一)通过Transform组件移动物体

(二)通过Rigidbody组件移动物体

(三)通过CharacterController组件移动物体


(一)通过Transform组件移动物体

  • Transform.position

Transform 组件用于描述物体在空间中的状态,它包括 位置(position),旋转(rotation),缩放(scale)。

可直接操作Transform来修改物体的位置(position)。

  • Transform.Translate ➜ public function Translate ( translation:Vector3,relativeTo:Space = Space.Self ):void;

该方法可以将物体从当前位置,移动到指定位置(从指定A点移动到B点时),并且可以选择参照的坐标系。

当需要进行坐标系转换时,可以考虑使用该方法以省去转换坐标系的步骤。

 

Vector3.Lerp:线性插值;➜ public static Vector3 Lerp ( Vector3 from,Vector3 to,float time );

它的作用就是按照 time 计算 from 和 to 之间的插值。

time的取值范围是[0, 1],当time = 0, 返回值是from,当time = 1,返回值是to,当time = 0.1,返回值是from到to的10%;

 

Vector3.Slerp:球形插值;➜ public static Vector3 Slerp ( Vector3 from,Vector3 to,float time );

Vectors视为方向而不再是点。返回的向量方向;

 

Vector3.MoveTowards:在Lerp的基础上增加了限制最大速度功能;

➜ public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);

作用是将当前值current移向目标target。(对Vector3是沿两点间直线)

maxDistanceDelta就是每次移动的最大长度。

返回值是当current值加上maxDistanceDelta的值,如果这个值超过了target,返回的就是target的值。

(注:Vector3 既可以表示三维空间中的一个点,也可以表示一个向量。)

 

Vector3.SmoothDamp:该方法是可以平滑的从A逐渐移动到B点,并且可以控制速度,最常见的用法是相机跟随目标;

 

(二)通过Rigidbody组件移动物体

使用场合:

      Rigidbody组件用于模拟物体的物理状态,比如物体受重力影响,物体被碰撞后的击飞等等。

使用方法:

      Rigidbody.velocity:设置刚体速度可以让物体运动并且忽略静摩擦力,这会让物体快速从静止状态进入运动状态;

      Rigidbody.AddForce:给刚体添加一个方向的力,这种方式适合模拟物体在外力的作用下的运动状态;

      Rigidbody.MovePosition:刚体受到物理约束的情况下,移动到指定点;

(注意:关于Rigidbody的调用均应放在FixedUpdate方法中,该方法会在每一次执行物理模拟前被调用。)

 

(三)通过CharacterController组件移动物体

使用场合:

      CharacterController用于控制第一人称或第三人称角色的运动

      模拟人的一些行为,比如限制角色爬坡的最大斜度,步伐的高度等。

使用方法:

      CharacterController.SimpleMove:用于模拟简单运动,并且自动应用重力,返回值表示角色当前是否着地;

      CharacterController.Move:模拟更复杂的运动,重力需要通过代码实现,返回值表示角色与周围的碰撞信息;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D格斗游戏源码是一种让开发者能够开发自己的格斗游戏的一种资源,而“仿最终幻想”是模仿最终幻想系列游戏来设计和开发的游戏。这种源码提供了许多基本的游戏元素和功能,开发者可以根据自己的需求来创建自己想要的游戏。 在Unity3D格斗游戏源码中,主要包含了以下几个方面的内容: 1. 角色控制:开发者可以通过源码来实现角色的移动、攻击、防御等基本动作。游戏中的角色可以使用键盘、鼠标或者手柄进行操控,使得玩家能够与游戏世界进行交互。 2. 动画系统:为了增强游戏的流畅性和真实感,该源码还提供了动画系统。开发者可以根据需要创建角色的各种动画,例如攻击动画、受伤动画和死亡动画等,使得游戏体验更加逼真。 3. AI系统:为了让游戏增加一定的挑战性,该源码还提供了AI系统。开发者可以通过代码设置敌方角色的行为和策略,使得游戏中的敌人具有一定的智能和反应能力。 4. 特效和音效:为了提升游戏的视听效果,该源码还包括了一些特效和音效资源。开发者可以根据自己的需要添加各种特效和音效,增强游戏的氛围和乐趣。 5. 可定制性:该源码还提供了一些可配置的参数和选项,开发者可以根据自己的需求来调整游戏的各种设置,包括角色属性、技能系统和游戏难度等,以便创造出不同的游戏体验。 总之,Unity3D格斗游戏源码可以帮助开发者快速搭建一个仿照最终幻想系列的格斗游戏。通过使用该源码,开发者可以省下许多开发时间和精力,同时也能够在这个基础上进行二次开发,实现自己的创意和想法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值