Slide 71
Slide 71 text
第 5 章 オルタ 3 シミュレータのデバッグ機能開発 5.5 最後に
_arcImage.fillAmount = Mathf.Abs(_angleMax - _angleMin) / 360.0f;
}
private void OnRenderObject()
{
var axis = -transform.forward;
var angle = _angleMax - _angleMin;
var radialMin = transform.right;
var radialMax = Quaternion.AngleAxis(angle, axis) * radialMin;
_material.SetPass(0);
GL.PushMatrix();
GL.Begin(GL.LINES);
DrawRadialRay(axis, Color.red, new Color(1, 0, 0, 0));
DrawRadialRay(radialMin, Color.green, new Color(0, 1, 0, 0));
DrawRadialRay(radialMax, Color.green, new Color(0, 1, 0, 0));
GL.End();
GL.PopMatrix();
}
private void DrawRadialRay(Vector3 dir, Color color1, Color color2)
{
DrawRay(transform.position, dir, color1, color2);
}
private void DrawRay(Vector3 start, Vector3 dir, Color color1, Color color2)
{
GL.Color(color1);
GL.Vertex(start);
GL.Color(color2);
GL.Vertex(start + dir);
}
5.5 最後に
本章では,オルタ 3 シミュレータにおけるデバッグ表⽰機能について,実装⽅法の⽐較
や解説を⾏いました。技術的にはマニュアル等でカバーできる内容ではありますが,具体
的な要件を想定した⼿法⽐較や個々の要素の組み合わせといった応⽤例として参考にして
もらえればと思います。紹介した内容⾃体はゲームではないものでしたが,そこに含まれ
るいくつかの内容はゲームにも活⽤できるかと思います。また,オルタ 3 シミュレータに
ついては冒頭で触れるのみでしたが,こちらのシステムについてもいつかどこかで紹介で
きたらと思います。
本章の執筆にあたり題材となる部分の実装コードの⾒直しとまとめを⾏う過程で,実装
をより改善できたり⾃分⾃⾝の理解を深めることができたりと,執筆駆動開発の可能性を
65