Unity 小项目:模拟太阳系

news/2025/1/12 20:54:48/

Unity 小项目:模拟太阳系

太阳系是以太阳为中心,和所有受到太阳的引力约束天体的集合体。包括八大行星(由离太阳从近到远的顺序:水星、金星、地球、火星、木星、土星、天王星、海王星 )、以及至少173颗已知的卫星、5颗已经辨认出来的矮行星和数以亿计的太阳系小天体。

文章目录

  • Unity 小项目:模拟太阳系
    • 1. 准备资源
    • 2. 布置场景
    • 3. 编辑脚本

1. 准备资源

由于太阳系的卫星以及小天体数目庞大,在本项目中,只模拟太阳和八大行星,以及地球的卫星月球。首先在网上搜索太阳系贴图,这里需要提醒一下大家,搜索的贴图不能是星球的照片,比如这种:
地球
否则覆盖到球体上就有黑色部分,会显得很奇怪。下面是在网上找到的所有贴图
星球贴纸
然后就要制作Material了。八大行星和月球的Material比较简单,而太阳和它们不一样,太阳是一个恒星,它本身可以发光,这才照亮了太阳系中其他天体。所以在太阳的Material中,我们修改其Shader为如图所示的Self-Illumin,即自发光
太阳
下图是准备好的Material
星球材质

2. 布置场景

建立十个球体,分别表示太阳,八大行星和月亮。按照大致的比例调整各个星球的大小距离即可。
太阳系
在太阳系中,太阳是唯一光源,删除Directional Light后会显得比较合乎实际,但是我们会发现,场景中只有太阳是亮的,它并没有发出光照亮其他天体,所以我们在太阳中添加子物体Point Light,调整其亮度和范围。然后将Main CameraClear Flags属性改为Solid Color,并且将背景色改为黑色,这样运行起来,我们的太阳系就仿佛在浩瀚的宇宙中。

3. 编辑脚本

实现各天体公转、自转的代码比较简单。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Rotate : MonoBehaviour {public Transform origin;	//各天体公转的圆心public float gspeed;		//公转速度public float zspeed;		//自转速度public float ry, rz;		//通过y轴、z轴调整公转的偏心率,使其不在同一平面公转void Start() {}void FixedUpdate () {Vector3 axis = new Vector3 (0, ry, rz);		//公转轴this.transform.RotateAround (origin.position, axis, gspeed * Time.deltaTime);	//公转this.transform.Rotate (Vector3.up * zspeed * Time.deltaTime);		//自转}  
}

将代码附到各天体上,分别设置好其公转速度,自转速度,公转偏心率**(错误:应该为公转平面的法线,偏心率是用于表示轨道形状,多谢评论指出)**,八大行星公转的圆心为太阳,月球的则是地球。最终的效果:
效果
上图是按照八大行星的实际偏心率所做出的效果,各天体轨道几乎在同一平面上,如果想要效果更明显一点,只需要稍稍修改各天体rz/ry的值就可以了。


http://www.ppmy.cn/news/160898.html

相关文章

Python+Yolov5人脸表情特征识别

程序示例精选 PythonYolov5人脸表情特征识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonYolov5人脸表情特征识别>>编写代码&#xff0c;代码整洁&#xff0c;规则&am…

黑苹果亮度调节 小太阳

前言&#xff1a;搞黑苹果有一段时间了&#xff0c;从 10.13 到现在的 10.15 &#xff0c;中间学习到很多黑苹果的一些必备知识&#xff0c;在此记录一下。 黑苹果亮度调节目前学习到的有两种方式&#xff1a; 一、第一种是使用Clover Configurator.app勾选亮度调节选项&…

购买学生护眼台灯几瓦最好?有哪些推荐护眼灯

现今的近视已然成为普遍现象&#xff0c;而且有往低年龄段发展的趋势。究其原因&#xff0c;长期使用电子设备是一方面&#xff0c;还是就是我们日常工作、学习、生活没有很好的护眼环境&#xff0c;很多时候我们不经意的错误习惯&#xff0c;久而久之就有可能诱发近视。对孩子…

太阳神

题目描述 太阳神拉很喜欢最小公倍数&#xff0c;有一天他想到了一个关于最小公倍数的题目。 求满足如下条件的数对(a,b)对数:a,b均为正整数且a,b<n而lcm(a,b)>n。其中的lcm当然表示最小公倍数。答案对1,000,000,007取模 推式子 我们先做个补集转化。 然后就是统计这…

Python turtle 绘制六角星、多角星、小太阳

绘制如下图的&#xff0c;多角图形。思路。 &#xff08;1&#xff09;每个角是一个标准的等边三角形&#xff0c;把绘制等边三角形作为一个标准函数。 &#xff08;2&#xff09;观察图形&#xff0c;可以看出&#xff0c;画的三角形在不断的旋转和移动&#xff0c;因此第一…

小功率MTTP太阳能充电器(一)

上次从x能买了一个小功率太阳能板&#xff0c;那会来评测后&#xff0c;一直没有派上用场。花了几大百&#xff0c;也觉得可惜&#xff0c;想到还是利用起来&#xff0c;说实话&#xff0c;这个带5v输出的稳压部分&#xff0c;效率比较低&#xff0c;要太阳很大才能给手机充电&…

xin-小太阳

小太阳歌手名:五月天 小太阳- 五月天 词曲&#xff1a;阿信 编曲&#xff1a;五月天 多么难忘 是你纯真的模样 突然的吻 弥漫着茶香 多么向往 梦想总是在他方 你说等我 不管多漫长 你就是太阳 蒸发了彷徨 所以挖开土壤 种下希望 离开了故乡 看着你的眼眶 忍着泪 闪着光 我会很快…

有哪家台灯好又便宜的适合学生党使用?真正合格的小学生台灯

都说眼睛是心灵的窗户&#xff0c;但是现在很多小朋友还没上初中&#xff0c;可能就早早的近视了。究其原因&#xff0c;除了和频繁观看电子屏幕密不可分之外&#xff0c;不良的用眼习惯也是一大关键。孩子写作业时不时揉眼睛的动作&#xff0c;其实只要时间一长&#xff0c;眼…