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上進行綁定。最后,點擊預覽按鈕,即可看到地球圍繞太陽轉的效果了。
本篇中用到了空間幾何等知識,參考文獻:👉
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java类函数默认的保护级别_事件说明
- 下一篇: java readtimeout_Jav