java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转
公转指的是什么?
公转(英语:Orbital revolution),是指一物体以另一物体为中心,沿一定轨道所作的循环运动;所沿着的轨道可以为圆、椭圆、双曲线或抛物线。在天文学上,一般用来形容行星、彗星等星体环绕恒星;卫星、人造卫星等环绕行星;小规模星系、星云、宇宙尘埃等环绕大规模星系;以及更大规模的天体间环绕的运动。
如图为地球围绕太阳公转。
制作模拟(地球围绕太阳)公转步骤:
(1)建立地球和太阳模型
首先Create以下游戏对象:两个Sphere,一个Direction Light;并将其中一个Sphere命名为Earth,另一个Sphere命名为Sun;设置Sun的Scale为(3,3,3),让太阳这个大球体显得大一点;而将Earth的Position设置为(5,0,0),让Earth显示在太阳的右边;
(2)为太阳添加材质球
为了让太阳更像太阳一点,我们在Project中Create一个Material(材质,所谓材质就是修饰游戏对象的),命名为SunMaterial,这里主要是为太阳增加一个颜色。
选中SunMaterial,双击Main Color,弹出颜色选择器,在颜色选择器中选则一个深黄色的区域。
(3)为地球添加贴图
为了让地球更像地球一点,这里我们为地球增加一个背景图片—地球贴图。(可以从网上搜索下载)下载完成之后,将地球贴图拖动到项目中,最后将贴图拖动到Earth对象上。最后效果如下图所示。
(4)建立运行脚本代码
新增一个C# Script,命名为EarthControl。双击该脚本文件,在编辑器中写入以下代码。
这里要注意,常用的游戏对象一般设置为全局变量,并且在Start方法中进行初始化(这里是通过GameObject的Find静态方法获取,你可以理解为JavaScript的Dom操作GetElementById("Earth"))。游戏对象的transform组件用于控制物体的位置,旋转和缩放。
1 usingUnityEngine;2 usingSystem.Collections;3
4 public classEarthControl : MonoBehaviour5 {6 //定义游戏对象
7 publicGameObject earth;8 publicGameObject sun;9
10 //Use this for initialization
11 voidStart()12 {13 //启动时获取游戏对象
14 earth = GameObject.Find("Earth");15 sun = GameObject.Find("Sun");16 }17
18 //Update is called once per frame
19 voidUpdate()20 {21 //使地球对象围绕着太阳旋转
22 earth.transform.RotateAround(sun.transform.position, Vector3.up, 0.3f);23 }24 }
使用RotateAround()方法,让地球始终围绕着太阳在Y轴方向旋转。参数1表示围绕旋转参照点的位置(太阳的位置),参数2表示围绕旋转的角度,Vector3.up就是表示Y轴旋转,参数3表示一次旋转的速度(long类型,越大则越快)。
(5)绑定脚本并运行
脚本写好之后,将该脚本拖动到Earth上进行绑定。最后,点击预览按钮,即可看到地球围绕太阳转的效果了。
本篇中用到了空间几何等知识,参考文献:
java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转相关推荐
- H5小案例—地球围绕太阳旋转
一.地球围绕太阳旋转 实现思路:通过H5的canvas画布getContext()方法实现绘图功能.
- Java绘制海螺_ps设计实例-打造精致小海螺
您可能感兴趣的话题: ps 核心提示:本教程为大家介绍一下如何使用photoshop打造精致的小海螺,小海螺构造并不复杂,不过构成的段还是很多的,同时需要绘制的面也是很多的. 本教程为大家介绍一下如何 ...
- 《java入门第一季》之类String类小案例
String类有许多获取方法,API文档里面可查看.针对获取方法,给出小案例. /** 需求:遍历获取字符串中的每一个字符* 分析: 用到两个方法:char charAt(int index) 表示获 ...
- 《java入门第一季》之面向对象综合小案例
需求: /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 跟乒乓球相关的人员都需要学习英语. 分析,这 ...
- 恒星绕太阳转css,地球绕太阳转,太阳绕银河系中心转,银河系绕着什么转?
本文参加百家号 #科学了不起# 系列征文赛. 爱因斯坦的相对论表明,宇宙中没有绝对静止的参照系,所谓的静止不过是相对的概念,运动才是绝对的.小到粒子,大到天体都存在某种运动,它们并不会保持绝对静止. ...
- openGL绘制带纹理太阳、地球、月亮,并且地球自转并且围绕太阳旋转。月亮自转也会围绕地球旋转
openGL系列文章目录 前言 使用openGL绘制太阳.地球.月亮,太阳自转,地球自转并且围绕太阳旋转.月亮自转也会围绕地球旋转,其实月亮也会围绕太阳旋转的. 一.效果 还是有不满意的地方: 1.没 ...
- two.js实现地球绕太阳转,月亮绕地球转,兔子绕月球转
一.大致流程: 1.首先引入two.js <script src="two.js"></script> 2.绘制太阳,地球轨道,地球,地球组合,使其能绕太阳 ...
- 地球绕太阳一圈有多远
"坐地日行八万里,巡天遥看一千河."我坐在电脑前码字,你可能在开着车在高速公路上飞驰着,他可能在公园里面散着步.然而你我他都在地球上.因为地球的自转,不知不觉之中地球已经带着我们转 ...
- 【Unity】RotateAround和Rotate 地球围绕太阳旋转 公转和自转
记录学习过程 创建日期:2019-04-09 1.知识点 /// < summary> /// 一个物体对应的轴围绕着一个点以一定的角度进行旋转 /// </ summary> ...
最新文章
- 小心内存也会引起蓝屏
- 输出apk_KT被横扫吞下五连败果 APK拿下首胜 小夫笑得十分开心
- android怎么长按一张图片保存到相册_instagram怎么保存图片?
- linux利用grep查看打印匹配的下几行或前后几行的命令
- 【LeetCode】深搜DFS(共85题)
- SAP Analytics Cloud里的Smart Discovery功能介绍
- 根据RTL图编写Verilog程序
- ES6-12 array/数值拓展、ArrayOf、ArrayFrom
- 还不懂Redis?看完这个故事就明白了!
- 共享文件原理_fishhook 的实现原理浅析
- windows下consul安装启动
- zk的数据一致性问题
- Android学习--10-数据存储
- 论文中的三线表及表格规范
- MongoDB的使用以及和python的交互
- YUV 420 444 421 422 的正解(转载)
- 200 OK (from cache) 与 304 Not Modified
- Cobalt Strike|Beacon原理浅析
- 能满足各种应用场景的数据可视化大屏
- [附源码]计算机毕业设计Python的连锁药店销售管理系统(程序+源码+LW文档)