博客
关于我
用Unity3D实现太阳系仿真
阅读量:677 次
发布时间:2019-03-17

本文共 2657 字,大约阅读时间需要 8 分钟。

目录


一.目的

1.想知道: 用Unity3D实现太阳系仿真

 

二.参考

1.用Unity3D实现太阳系仿真

  1. 总结:超级好,亲测有用

 

 

1.Unity制作太阳

  1. 总结:网上找不到太阳的资源,所以我自己做了一个

 

三.操作:一:完成:超级好,下面有上传的工程资源

1.下载地址

 

MyTestSolarSystem.rar  

  1. 这个是Unity2018.4.0f1
  2. 整个工程都在里面

 

1.运行结果

  1. 其他星球围绕太阳的转速必须不一样,且不在一个法平面上

运行结果

 

 

1.主要代码

  1. 总结:我这里没有使用到月球,所以将其注释了
using System.Collections;using System.Collections.Generic;using UnityEngine;public class MySunSystem : MonoBehaviour{    // Start is called before the first frame update    void Start()    {    }    // Update is called once per frame    void Update()    {        GameObject.Find("Sun").transform.Rotate(Vector3.up * Time.deltaTime * 5);        GameObject.Find("Mercury").transform.RotateAround(Vector3.zero, new Vector3(0.1f, 1, 0), 60 * Time.deltaTime);        GameObject.Find("Mercury").transform.Rotate(Vector3.up * Time.deltaTime * 1 / 58);        GameObject.Find("Venus").transform.RotateAround(Vector3.zero, new Vector3(0, 1, -0.1f), 55 * Time.deltaTime);        GameObject.Find("Venus").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 243);        GameObject.Find("Earth").transform.RotateAround(Vector3.zero, new Vector3(0, 1, 0), 50 * Time.deltaTime);        GameObject.Find("Earth").transform.Rotate(Vector3.up * Time.deltaTime * 10);        只设置公转 不设置自传        //GameObject.Find("EarthClone").transform.RotateAround(Vector3.zero, new Vector3(0, 1, 0), 50 * Time.deltaTime);        令Moon相对与不自转的EarthClone公转        //GameObject.Find("Moon").transform.RotateAround(GameObject.Find("EarthClone").transform.position, new Vector3(0, 1, 0), 250 * Time.deltaTime);        //GameObject.Find("Moon").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 27);        GameObject.Find("Mars").transform.RotateAround(Vector3.zero, new Vector3(0.2f, 1, 0), 45 * Time.deltaTime);        GameObject.Find("Mars").transform.Rotate(Vector3.up * Time.deltaTime * 10);        GameObject.Find("Jupiter").transform.RotateAround(Vector3.zero, new Vector3(-0.1f, 2, 0), 35 * Time.deltaTime);        GameObject.Find("Jupiter").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 0.3f);        GameObject.Find("Saturn").transform.RotateAround(Vector3.zero, new Vector3(0, 1, 0.2f), 20 * Time.deltaTime);        GameObject.Find("Saturn").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 0.4f);        GameObject.Find("Uranus").transform.RotateAround(Vector3.zero, new Vector3(0, 2, 0.1f), 15 * Time.deltaTime);        GameObject.Find("Uranus").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 0.6f);        GameObject.Find("Neptune").transform.RotateAround(Vector3.zero, new Vector3(-0.1f, 1, -0.1f), 10 * Time.deltaTime);        GameObject.Find("Neptune").transform.Rotate(Vector3.up * Time.deltaTime * 10 / 0.7f);    }}

 

转载地址:http://sydhz.baihongyu.com/

你可能感兴趣的文章
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>