[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart5 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart5 http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
212: 名前は開発中のものです。 [sage] 2021/09/18(土) 12:36:54 ID:HxJIaQmv >>88 亀ですが、アドバイスありがとうございます。 その方針でもう一度だけ挑戦と思って、やっています。 位置情報をリングバッファ的に扱い、テキスチャに書き込んでいくコードが、次の毎フレーム実行される関数 public void update_Tunnel() { renderingShader_Material.SetPass(0); Color[] posColors = new Color[64]; if(posColors.Length == 0){ for (int j = 0; j < 64; j++) { posColors[j] = new Color(0.0f, 0.0f, 0.0f, 0.0f); } }else{ for(int i = 63; i < 1; i-- ) { posColors[i] = posColors[i - 1]; } posColors[0] = new Color(Origin_X, Origin_Y, Origin_Z, 0.0f); } updateTunnel.SetPixels(posColors); updateTunnel.Apply(); renderingShader_Material.SetTexture("_PosTex", updateTunnel); Graphics.DrawProceduralNow(MeshTopology.Points, 128); } http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/212
213: 名前は開発中のものです。 [sage] 2021/09/18(土) 12:38:37 ID:HxJIaQmv vs_out vert (uint id : SV_VertexID) { vs_out Out; UNITY_INITIALIZE_OUTPUT(vs_out, Out); float4 d = tex2Dlod(_PosTex, float4(0,0,0,0)); Out.pos = d; return Out; } [maxvertexcount(16)] void geom (point vs_out input[1], inout TriangleStream<vs_out> outStream) { vs_out o; UNITY_INITIALIZE_OUTPUT(vs_out, o); float4 pos = input[0].pos; float radius = 1.0; for(int j = 0; j < 6; j++) { float a = radius * cos(j * 0.785); float b = radius * sin(j * 0.785); pos.x = a + pos.x; pos.y = b + pos.y; pos.z = pos.z; o.pos = UnityWorldToClipPos(pos); outStream.Append(o); } } http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/213
214: 名前は開発中のものです。 [sage] 2021/09/18(土) 12:44:54 ID:HxJIaQmv ↑シェーダ部分です。 座標の変換系は、UnityObjectClipPosをUnityWorldToClipPosにしたり、 ジオメトリシェーダ部分でなく頂点シェーダの部分で使ったりしましたが、 時間をかけて再生しても何も画面に表示されないのは精神にきますね・・・ 多分テキスチャが適切に読み込まれていないという気がしていて、頂点シェーダ部分で 位置情報を格納したテキスチャから位置を読み込んでいるのが float4 d = tex2Dlod(_PosTex, float4(0,0,0,0)); だと思うのですが、これを float4 d = tex2Dlod(_PosTex, float4(v.texcoord.xy,0,0)); などとしても、変わらない、というかtex2Dlodの第二引数の意味がよく分かっていません。 どうしたらよいのでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/214
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s