Unity GLを使って3D空間上に四角形や線を表示させています。
その線に合わせてゲームオブジェクト(Splite)を配置しようとしています。
しかし、UnityGLにて描画した線・四角形が常に前面に表示されてしまうため、ゲームオブジェクトを線の手前に表示させることができません。
ちなみにこのサイトでは、3D空間上のGLに被せてゲームオブジェクトが表示されているような感じなので、不可能ではないのではないかと思っています。
UnityのGLを使って、HoloLensで線を描画してみる
GLをOnRenderObject関数で描画させているからなのでしょうか?
質問の書き方が下手ですが、助けてくださるとうれしいです。
##追記事項
Unity GL公式ページにあるCreateLineMaterial関数と同じ機能を持った関数を下記に追記しました。
下記の設定を行っても改善しませんでした。
また、ZWriteを1にするとGL平面が薄すぎるせいかうまく描画されませんでした。
C#
1void CreateLineMaterial() 2 { 3 if (!lineMaterial) 4 { 5 // Unity has a built-in shader that is useful for drawing 6 // simple colored things. 7 Shader shader = Shader.Find("Hidden/Internal-Colored"); 8 lineMaterial = new Material(shader); 9 lineMaterial.hideFlags = HideFlags.HideAndDontSave; 10 // Turn on alpha blending 11 lineMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha); 12 lineMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); 13 // Turn backface culling off 14 lineMaterial.SetInt("_Cull", (int)UnityEngine.Rendering.CullMode.Off); 15 // Turn off depth writes 16 lineMaterial.SetInt("_ZWrite", 0); 17 lineMaterial.SetInt("_ZTest", (int)UnityEngine.Rendering.CompareFunction.Less); 18 } 19 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/10 06:25
2019/12/10 08:23
退会済みユーザー
2019/12/11 03:58
2019/12/11 04:04