前提・実現したいこと
VSCODEを使っています。
Gizmo Quaternionが認識されないので認識させたい。
発生している問題・エラーメッセージ
エラーメッセージは出ていませんが、N角形が描画されません。
https://www.youtube.com/watch?v=fkRnUoXacHM&t=612s このチュートリアル通りにしました。
この中でGizmo QuaternionはVSCODE上で緑色で表示されていますが、自分の場合水色で表示されています。
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class KochGenerator : MonoBehaviour { protected enum _initiator { Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon } [SerializeField] protected _initiator initiator = new _initiator(); protected int _initiatorPointAmount; private Vector3[] _initiatorPoint; private Vector3 _rotateVector; private Vector3 _rotateAxis; [SerializeField] protected float _initiatorSize; private void OnDrawGizmo() { GetInitiatorPoints(); _initiatorPoint = new Vector3[_initiatorPointAmount]; _rotateVector = new Vector3(0, 0, 1); _rotateAxis = new Vector3(0, 1, 0); for (int i = 0; i < _initiatorPointAmount; i++) { _initiatorPoint[i] = _rotateVector * _initiatorSize; _rotateVector = Quaternion.AngleAxis(360 / _initiatorPointAmount, _rotateAxis) * _rotateVector; } for (int i = 0; i < _initiatorPointAmount; i++) { Gizmos.color = Color.white; if (i < _initiatorPointAmount - 1) { Gizmos.DrawLine(_initiatorPoint[i], _initiatorPoint[i + 1]); } else { Gizmos.DrawLine(_initiatorPoint[i], _initiatorPoint[0]); } } } private void GetInitiatorPoints() { switch (initiator) { case _initiator.Triangle: _initiatorPointAmount = 3; break; case _initiator.Square: _initiatorPointAmount = 4; break; case _initiator.Pentagon: _initiatorPointAmount = 5; break; case _initiator.Hexagon: _initiatorPointAmount = 6; break; case _initiator.Heptagon: _initiatorPointAmount = 7; break; case _initiator.Octagon: _initiatorPointAmount = 8; break; } } // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } }
試したこと
検索してみましたが、ヒットしませんでした。
補足情報(FW/ツールのバージョンなど)
Unityのversionは最新の2019.4.4f1です。
VSCODEも最新です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/16 19:01