(A)基本設定
「天の川」シェーダリポジトリに、ズームパラメータを設定し、カメラが彼らを包みました。
キャンバスセットの解像度は1920×1080、好ましくはワールド空間からRenderModeである。図に示すように、位置を調整します。
(B)必要なシーンセレクト設定パッチ、位置(0,0、-2000)、NULLオブジェクトセット(0,0,0)、オブジェクト空間のサブオブジェクトとしてシートの表面を設定します。GameItemようなプリフォームは、コードを使用して、自動的に生成されました。
ゲームはGameItemSpan GameItem下で生成、実行されているでは、それぞれの選択プライベートフロートm_Angleの材質の[]、回転角度を定義します。
using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class GameItemSelect : MonoBehaviour { public static GameItemSelect _Instance; public Material[] m_gameItemMatArr; public GameObject go_GameItem; private float m_Angle; public int Index = 0; private void Awake() { _Instance = this; m_Angle = 360.0f / m_gameItemMatArr.Length; for (int i = 0; i < m_gameItemMatArr.Length; i++) { GameObject go = Instantiate(go_GameItem, transform); go.transform.localEulerAngles = new Vector3(0, i * m_Angle, 0); go.GetComponentInChildren<MeshRenderer>().material = m_gameItemMatArr[i]; go.GetComponentInChildren<GameItem>().SetVideoName(m_gameItemMatArr[i].name); go.GetComponentInChildren<GameItem>().Index = i; } } public void RotateForWord() { Index++; if (Index >= m_gameItemMatArr.Length) { Index = 0; } transform.DORotate(new Vector3(0, -Index * m_Angle, 0), 0.3f); } public void RotateBack() { Index--; if (Index < 0) { Index = m_gameItemMatArr.Length - 1; } transform.DORotate(new Vector3(0, -Index * m_Angle, 0), 0.3f); } }