Unitiを使用した太陽系の作成
unityを使用して簡単な太陽系を作成する
講義を聞いていると、講師がオフラインなら宿題が出られると言っていましたが、もったいないと思い、この文章を書きました.
授業と同時に.は太陽と地球の目標充填材料であり、 である.地球の自転と公転は を実現した.キーボードおよびマウスを使用してズームカメラ を回転および移動する
以上の3つの状態を体現している.この記事では、上記で実装されたスクリプトコードで修正された部分 各惑星の自転軸角度と自転と公転角速度がどのように設定か デモビデオ この3つを順に見てみましょう
まず、地球に貼られたシナリオは以下の通りです.
修正されたコードでは、惑星が実際の位置順にunityで整列しているため、Start()はRotateRadiusを初期化します.
カメラのスクリプトは単独で触れていません.クラスでは、スクリプトのすべての機能を使用できます.
自転軸はunity内で回転するz座標を変えることで設定されます.
一方、韓国天文研究院は、地球の自転周期の各惑星の自転公転周期について、地球の自転角速度を静的と宣言した後、この値を基準に各惑星の自転角速度と公転角速度を設定した.
Planet抽象クラスが生成された後に継承されたコードが実現すれば,よりオブジェクトに向かうはずである.
上図をクリックしてYouTubeにリンクします.
クイックキャンパスゲーム開発者が就職するすべての超格差コースがオンラインです.講義
material : Solar system textures
惑星物理量参考資料:韓国天文研究院、ウィキペディア
緒論
講義を聞いていると、講師がオフラインなら宿題が出られると言っていましたが、もったいないと思い、この文章を書きました.
授業と同時に.
以上の3つの状態を体現している.この記事では、
コード修正セクション
まず、地球に貼られたシナリオは以下の通りです.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EarthOrbit : MonoBehaviour
{
private float rotateAngle = 0f;
private float selfRotateAngle = 0f;
public static float selfRotateSpeed = 1000f; // 지구의 자전 각속도; 임의로 설정
private float rotateSpeed = selfRotateSpeed / 365.26f; // 지구의 공전 각속도
private float rotateRadius = 1.0f;
void Start() {
rotateRadius = transform.localPosition.x;
Debug.Log(rotateRadius);
}
// Update is called once per frame
void Update()
{
// get desired position
float xPos = rotateRadius * Mathf.Cos(rotateAngle);
float zPos = rotateRadius * Mathf.Sin(rotateAngle);
transform.localPosition = new Vector3(xPos, 0f, zPos);
rotateAngle += rotateSpeed * Time.deltaTime;
selfRotateAngle = selfRotateSpeed * Time.deltaTime;
//transform.Rotate(Vector3.up, selfRotateAngle)
//이 메서드는 시계방향으로 회전시키므로 selfRotateAngle을 음수로 설정
transform.Rotate(Vector3.up, -selfRotateAngle);
}
}
カリキュラムでは、地球を実装するだけなので、公転角速度公転半径など、スクリプトですべての変数を初期化しました.修正されたコードでは、惑星が実際の位置順にunityで整列しているため、Start()はRotateRadiusを初期化します.
void Start() {
rotateRadius = transform.localPosition.x;
Debug.Log(rotateRadius);
}
すべての惑星の初期位置はy軸座標とz軸座標がゼロであるため、x軸の座標は回転半径である.カメラのスクリプトは単独で触れていません.クラスでは、スクリプトのすべての機能を使用できます.
自転軸と角速度の設定
自転軸はunity内で回転するz座標を変えることで設定されます.
一方、韓国天文研究院は、地球の自転周期の各惑星の自転公転周期について、地球の自転角速度を静的と宣言した後、この値を基準に各惑星の自転角速度と公転角速度を設定した.
// in EarthOrbit class
public static float selfRotateSpeed = 1000f; // 지구의 자전 각속도; 임의로 설정
private float rotateSpeed = selfRotateSpeed / 365.26f; // 지구의 공전 각속도
// in UranusOrbit class
void Start() {
rotateRadius = transform.localPosition.x;
selfRotateSpeed = EarthOrbit.selfRotateSpeed / 0.7f;
rotateSpeed = EarthOrbit.selfRotateSpeed / 30707.49f;
}
残りの惑星についても、似たようなコードをコピーすることができます.Planet抽象クラスが生成された後に継承されたコードが実現すれば,よりオブジェクトに向かうはずである.
デモビデオ
上図をクリックしてYouTubeにリンクします.
reference
クイックキャンパスゲーム開発者が就職するすべての超格差コースがオンラインです.講義
material : Solar system textures
惑星物理量参考資料:韓国天文研究院、ウィキペディア
Reference
この問題について(Unitiを使用した太陽系の作成), 我々は、より多くの情報をここで見つけました https://velog.io/@sangh00n/유니티로-태양계-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol