unity学习2——基于物理模拟的太阳系模型

本文介绍了一个使用Unity进行的太阳系模型项目,目前项目正在进行中,计划逐步添加所有行星及小行星带。项目源码可在GitHub上找到。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

游戏对象运动的本质是什么?
游戏对象的运动,在本质上是在离散的时间点上,物体按照物理引擎说运算出的,呈现出不同的位置。

请用三种方法以上方法,实现物体的抛物线运动。(如,修改Transform属性,使用向量Vector3的方法…)
方法一:矢量叠加法
众所周知,一个抛物运动由水平方向的匀速和竖直方向的匀加速运动构成。
方法二:collider 的gravity 模拟
类似于上面,但云加速运动部分采用collider组件自带的gravity功能。
方法三:transform.position 描述表达式法

写一个程序,实现一个完整的太阳系, 其他星球围绕太阳的转速必须不一样,且不在一个法平面上。


实现思路:利用transform的rotate、lookat、等方法,看上去像但并不真实的模拟出太阳系的运动。
另一种实现思路:使用万有引力定律和牛顿第二运动定律,列出物体动力学方程。

第二种方法的优点:可以模拟出水星的章动(椭圆周期运动上叠加小周期简谐振动)、各行星的椭圆轨道、冥王星和海王星的引力影响轨道。

引力模拟代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GravitySimulate : MonoBehaviour {
    public List<GameObject> graviEffectWith;
    publi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值