[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart5 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart5 http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
45: 名前は開発中のものです。 [sage] 2021/09/03(金) 04:48:56.84 ID:LGIFZOLo >>34 そうだったですか、ただ今回はFloatを渡しているので、あまり関係はないかも知れませんよね。 >>35 アドバイスの方有り難うございます。 ビルトインインシェーダ関数の_WorldSpaceCameraPosを使っても、結果は一緒でした。 C#で渡していたのもカメラのワールド座標だったので、多分同じことをしているのだと思います。 何か解決策はないでしょうか・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/45
48: 名前は開発中のものです。 [sage] 2021/09/03(金) 18:31:33.35 ID:LGIFZOLo >>47 描画用シェーダだけだと、今は最もプリミティブなものを作っているのでこんな感じです。 vs_out vert (uint id : SV_VERTEXID) { Out.pos = float4(float3(tubeBuffer[id]), 1); return Out; } [maxvertexcount(128)] void geom (point vs_out input[1], inout TriangleStream<gs_out> outStream) { gs_out o; float4 pos = input[0].pos; o.pos = pos; outStream.Append(o); } fixed4 frag (gs_out In) : COLOR { return _Color; } http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/48
49: 名前は開発中のものです。 [sage] 2021/09/03(金) 18:34:05.75 ID:LGIFZOLo 計算は、コンピュートシェーダーでやっています。 _Origin_x, _Origin_y, _Origin_z は、予めC#の方で計算しておいた、カメラのワールド座標とベクトルから求めた、カメラから一定の距離にある、カメラ正面の座標です。 [numthreads(64,1,1)] void tubeAl (uint id : SV_DispatchThreadID) { float3 position; for (int i = 0; i < 16; i++) { float radius = 1.0 + (0.5 * i); for(int j = 0; j < 7 + (6 * i); j++) { float a = radius * cos(j * 0.785 * (1 / (i + 1 ))); float b = radius * sin(j * 0.785 * (1 / (i + 1 ))); position.x = a + _Origin_x; position.y = b + _Origin_y; position.z = _Origin_z; } } tubeBuffer[id] = position; } http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/49
50: 名前は開発中のものです。 [sage] 2021/09/03(金) 18:37:08.93 ID:LGIFZOLo 法線等考慮していないので、もし形成できたとしてもカメラに向かって円状にはなりませんが、 今はとにかくカメラの移動に伴ってメッシュが生成されていけば http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/50
51: 名前は開発中のものです。 [sage] 2021/09/03(金) 18:38:05.81 ID:LGIFZOLo OK、という段階です。 C#の方は、多分問題なくコンピュートシェーダーの初期化、バッファの宣言、初期化、ディスパッチや描画命令等出来ていると思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/51
52: 名前は開発中のものです。 [sage] 2021/09/03(金) 18:45:02.87 ID:LGIFZOLo あとフラグメントシェーダですが、シェーダのプロパティで Properties{ _Color ("Color", Color) = (1,1,1,1) } を差し当たり直に設定しています。 http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/52
54: 名前は開発中のものです。 [sage] 2021/09/03(金) 19:15:20.16 ID:LGIFZOLo >>53 そうですね、GPUベースでやってみたかったですし、できるはずだと思いますが、 大量のパーティクルと違ってそこまで処理も重くないでしょうから、C#の方でメッシュ形成した方が、結局は早いかも知れませんね。 http://mevius.5ch.net/test/read.cgi/gamedev/1630059204/54
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s