ue3d在 Unity 中制作对象移动平台

在 Unity 中制作对象移动平台

分类:

要在 Unity 中制作一个对象移动平台。第一步需要在 Unity 中搭建一个小场景,可以按照图简单搭建一个,注意需要创建两个位置为 PointA 和 PointB 的空对象来移动平台。

例如…

在 Unity 中搭建的简单场景
在 Unity 中搭建的简单场景

下图为层次结构。

Moving_Platform、PointA 和 PointB 层次结构
Moving_Platform、PointA 和 PointB 层次结构

而且在列表中须创建一个名为移动平台的新脚本并将其添加到移动平台对象中。

在下面 “我是脚本” 中,有一些 vector 3 变量来存储初始 a 位置、b 位置和 currentTarget。

还有一些与运动相关的变量,比如速度。

在 start 函数中,须用 A 点和 B 点游戏对象的位置来初始化 A 点和 B 点,但是这里不使用这些对象的位置进行计算,因为它们随着平台移动。

在 Update 方法中,检查平台是否到达其中一个点以移动到另一个点,并使用函数 MoveToward 通过将函数的结果分配给平台位置来将平台移动到当前目标。

例如…

// 位置
private Vector3 _pointA,_point,currentTarget;

// 一般变量
[SerializeField]
private float _speed = 5.0f;
private float step;

// 在第一帧更新之前调用开始

void Start()
{
   _pointA = gameObject.transform.Find("PointA").transform.position;
   _pointB = gameObject.transform.Find("pointB").transform.position;
   currentTarget = _pointA;
}

// 每帧调用一次更新
void update()
{
   if (transform.position ==_pointA )
   {
   currentTarget = _pointB;
   }
   if (transform.position ==_pointB)
   {
   currentTarget = _pointA;
   }
   step = Time.deltaTime * _speed;
   transform.position = Vector3.MoveTowards(transform.position,currentTarget,step);
}

此时在 Unity 中就制作完成了一个对象移动平台了。

对象移动最终效果
对象移动最终效果

相关信息

  • 类型:知识
  • 字数:272
  • 字符:1183
  • 适用软件:Unity
  • 说明:无
  • 编号:90500

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!