飞行器仿真软件开发——unity3d实现简单的飞行器旋转及变轨操作

本文介绍了使用Unity3D开发飞行器旋转及变轨操作的算法。通过transform.RotateAround实现飞行器旋转,利用Trail Renderer组件显示旋转轨迹。对于变轨操作,通过持续判断飞行器距离来实现平滑变轨。目前存在的问题是如何在变轨过程中模拟飞行器速度减慢的效果。
摘要由CSDN通过智能技术生成

上周由于中秋节放假,人比较懒散,只是在和同学一起完成了关于飞行器旋转及变轨操作后,便早早地溜回了宿舍,趁着今天下午没课,把上周完成的算法大概介绍一下。

在开始写飞行器旋转算法之前,我参考了《unity制作简单的太阳系》一文
https://blog.csdn.net/hcud024/article/details/51360068
因为首先我们要做到飞行器正常地旋转即可,这里我们只需要用到transform.RotateAround(origin.position, axis, speed * Time.deltaTime)方法即可,其中括号里的三个参数,分别代表着:绕点位置、旋转角度、旋转速度,只需要一个函数即可做到飞行器旋转。

飞行器旋转轨迹
然后关于显现飞行器旋转轨迹,我们只需要在unity中设置好 Trail Renderer 组件即可,设置的方法点击 Add Component,输入组件即可。

飞行器的旋转比较简单,然后关于变轨操作,这里一开始,我也没弄懂思路,一味的用transform.Translate(x,y,z)方法在一帧内实现在固定距离的移动,最后可以做到突然变轨,但这显然并不是飞行器合理的变轨现象,在同学的帮助指导下,才明白了作为所谓的程序员思想,即我们不能简单地考虑一个动作的执行,而要把整个操作过程交给计算机进行重复判断执行过程,一下将展示代码:

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值