unityでDirectXを用いて物体を描画したいのですが,うまくいきません.
http://tips.hecomi.com/entry/2016/06/06/003119
上記のリンク先に掲載されているサンプルプログラムを参考に書いてみたのですが,表示できませんでした.
描画しようとしたのは上記のリンク先の"Mesh Topology"というところで,以下のようなコードを書きました.(リンク先のコードをまるまるコピーしています)
C#
1using UnityEngine; 2 3public class ProceduralPointMesh : MonoBehaviour 4{ 5 void Start() 6 { 7 var mesh = new Mesh(); 8 9 var count = 100; 10 var verts = new Vector3[count]; 11 var indices = new int[count]; 12 13 for (var i = 0; i < count; ++i) { 14 var phi = i * Mathf.PI / count; 15 verts[i] = new Vector3(Mathf.Cos(phi), Mathf.Sin(phi), 0.0f); 16 } 17 18 for (var i = 0; i < count; ++i) { 19 indices[i] = i; 20 } 21 22 mesh.vertices = verts; 23 mesh.subMeshCount = 1; 24 mesh.SetIndices(indices, MeshTopology.Points, 0); 25 26 GetComponent<MeshFilter>().mesh = mesh; 27 } 28}
また,Unlit Shadarとして,以下のようなシェーダを作成しました.
C#
1Shader "Line Shader" 2{ 3Properties 4{ 5 _Color("Color", Color) = (1, 0.5, 0.5, 1) 6} 7SubShader 8{ 9 Pass 10 { 11 BindChannels { Bind "vertex", vertex } 12 SetTexture[_MainTex] { constantColor[_Color] combine constant } 13 } 14} 15}
上のC#スクリプト(シェーダじゃないほう)を空のGameObjectにアタッチし,Playしても何も描画されませんでした.
Unityはド初心者のため,根本的なことが間違っているのかもしれませんが,どなたか描画方法を教えていただけると幸いです.
また,DirectXは使えるように設定はしたつもりで,Unityエディターのウィンドウ タイトル名の最後に “<DX11>” が付加されています.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/26 04:47