游戏对象运动的本质是什么?
游戏对象的运动,在本质上是在离散的时间点上,物体按照物理引擎说运算出的,呈现出不同的位置。
请用三种方法以上方法,实现物体的抛物线运动。(如,修改Transform属性,使用向量Vector3的方法…)
方法一:矢量叠加法
众所周知,一个抛物运动由水平方向的匀速和竖直方向的匀加速运动构成。
方法二:collider 的gravity 模拟
类似于上面,但云加速运动部分采用collider组件自带的gravity功能。
方法三:transform.position 描述表达式法
写一个程序,实现一个完整的太阳系, 其他星球围绕太阳的转速必须不一样,且不在一个法平面上。
实现思路:利用transform的rotate、lookat、等方法,看上去像但并不真实的模拟出太阳系的运动。
另一种实现思路:使用万有引力定律和牛顿第二运动定律,列出物体动力学方程。
第二种方法的优点:可以模拟出水星的章动(椭圆周期运动上叠加小周期简谐振动)、各行星的椭圆轨道、冥王星和海王星的引力影响轨道。
引力模拟代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
publi