[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart9 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
787: 名前は開発中のものです。 [] 2023/03/08(水) 18:22:47.52 ID:e5p06EpU(1) AAS
>>770770(1): 名前は開発中のものです。 [] 2023/03/08(水) 00:14:52.85 ID:EVfGXQzD(1) AAS
>>769
トランジションはグラデーションがかかった画像を
シェーダーのプログラムが制御して紋様がある
遷移を実現することが多い
しかしその動画はそのやり方ではなく要素ひとつひとつを
アニメーションで制御してトランジション風の
演出を作ってるように見える
なるほどね、ちょっと仕組み解った気がするありがとう
788: 名前は開発中のものです。 [773] 2023/03/08(水) 18:28:40.83 ID:govS8Ndx(2/2) AAS
どなたかお願い致します。
タービュランスアルゴリズムで一つのオブジェクトの位置を更新することは出来ています。
しかし恐らく、普通にコンピュートシェーダーをアタッチしたオブジェクトをインスタンシングしても、同一バッファを参照しているのでうまくいかないのだと思います。
今回パーティクルなどと違って、オーディオソースコンポーネントやコライダーコンポーネントを各インスタンスにアタッチしたい理由があるので、そういう場合どうしたらいいでしょうか。
789(1): 名前は開発中のものです。 [sage] 2023/03/08(水) 20:59:51.57 ID:4XLSy7o4(2/2) AAS
同一じゃなくせばよくね?
790: 名前は開発中のものです。 [] 2023/03/09(木) 06:56:32.63 ID:+1Nsy7Re(1) AAS
下の階層に作るとか?
791: 名前は開発中のものです。 [773] 2023/03/09(木) 08:05:08.99 ID:EDXv2CV7(1) AAS
>>789
今回、そのオブジェクトを10000個くらいインスタンスさせたいのです。
なのでスクリプトでバッファを10000個作る必要があります。
それはStart関数でforループで出来るにしても、同一のコンピュートシェーダーでは、その内部に書くバッファ名が異なってくると思うので、単純には行かなそうです。
バッファのバッファ、というかバッファの配列みたいな書き方をして、一つのコンピュートシェーダーで済ますなどできるのでしょうか?
792: 名前は開発中のものです。 [sage] 2023/03/09(木) 08:35:14.34 ID:pIGQKGhM(1/2) AAS
書いてみりゃ分かるんじゃね?
793(1): 名前は開発中のものです。 [] 2023/03/09(木) 13:42:45.38 ID:H9MU9+y9(1) AAS
シーン移動時にパネルを暗くしてフェードアウトするようにしたいです。
(画面奥) ボタン<Sprite RenderのOrder in Layerを1にした画像<パネル (画面手前)
の順にしたいのですがボタン<パネル<Order in Layerを1にした画像の順になってしまいます。
パネルを最前面にするにはどうすればいいですか?
794(1): 名前は開発中のものです。 [sage] 2023/03/09(木) 15:25:29.03 ID:cqkvSUGR(1/3) AAS
Particle Systemについての質問です
動画リンク[YouTube]
今作っているエフェクトです。4つのParticle Systemから出来ています
外側の煙は時間経過でゆっくり透明になりますが、内側の濃いエフェクトはパッと表示されてパッと消えています
内側のエフェクトもゆっくり透明になるように、Particle System の color over lifetime で外側と同様の設定をしていますが反映されません。
内側はFBXのメッシュがついていて、シェーダーが設定されています。
内側のエフェクトのシェーダー
画像リンク
シェーダーの設定のせいで Particle System の color over lifetime が反映されないのでしょうか?
シェーダーとParticle Systemについて詳しい方いたら教えてください
795: 名前は開発中のものです。 [sage] 2023/03/09(木) 17:30:33.97 ID:pIGQKGhM(2/2) AAS
>>793
それパネルじゃないとあかんのん?
796: 名前は開発中のものです。 [sage] 2023/03/09(木) 18:01:41.57 ID:Pcxi72FO(1/5) AAS
>>794
これなんだっけ
覚えてないから元ファイル触りたい所なんだけど
lifetimeというかパーティクルの寿命はparticle system側の値で、多分Shaderに寿命の値が渡ってない
Vertex streamだっけ
そこにlifetimeっての入れられなかった?
そのlifetimeをShader graph側でUVノードとかで対応するチャンネルから値を取り出すみたいな
すごい謎システムだった気がする
797: 名前は開発中のものです。 [sage] 2023/03/09(木) 18:32:14.87 ID:Pcxi72FO(2/5) AAS
思い出した
Particle SystemのRendererの中にあるCustom Vertex Streamにチェックを入れるとなんか謎のPosition, Normal, Color, UVとかいうのが現れると思うけど
これを無視して角の方にある+アイコンからlifetimeの中のAgePercentを追加する
するとTEXCOORD0.zっていう場所に割りあてられたAgePercentが表に追加されるんだけど
この表にある全ての値はShader Graphなどに渡すことができるようになる
で、Shader Graphではその値をUVノードのUV0のBチャンネル(XYZW, RGBAに対応してる)から取り出せるので、splitとかで分離してパーティクルごとに0から1で寿命が動いていく値が受け取れるのでgradientノードとSample Gradientノードで寿命に対応するAlphaを作ってShader Graphの1番最後のところでmultiply
798: 名前は開発中のものです。 [sage] 2023/03/09(木) 18:33:34.09 ID:Pcxi72FO(3/5) AAS
ちなみにTEXCOORDはシェーダーが外部から値を受け取るためのボーナス空間みたいなもので
TEXCOORD0のu,vにあたるr,g(またはx,y)以外は外部から好きな値詰め込める
799: 名前は開発中のものです。 [sage] 2023/03/09(木) 18:40:07.24 ID:Pcxi72FO(4/5) AAS
まあこんな細かく言わなくてもそんだけParticle SystemとShader Graph組み合わせて使えてるなら「Particle SystemのRendererのとこにあるCustom Vertex Streamにチェック入れるとTEXCOORD(UV)に好きな値詰め込める」ってだけ覚えとけば大丈夫
800(1): 名前は開発中のものです。 [sage] 2023/03/09(木) 19:52:21.46 ID:cqkvSUGR(2/3) AAS
外部リンク:drive.google.com
一応グーグルドライブにプロジェクトを丸ごとアップしてしました
解説動画を見ながらそっくり作っただけなので、Particle SystemとShader Graphについては全く理解してませんでした
動画リンク[YouTube]
解説動画ではそのままエフェクトが完成していたので、特別な事はしなくてもすぐ終わると思ってたんですよね
でも話を聞いたら、Particle Systemに追加項目を入れてShader Graphをまた大工事する感じで今の自分には手に負えない感じです
とにかくやり方は教えてもらったので、すぐ理解できませんが完成させたいと思っています
詳しい情報を有難うございます
801: 名前は開発中のものです。 [sage] 2023/03/09(木) 21:22:40.49 ID:Pcxi72FO(5/5) AAS
撮ってきた
動画リンク[YouTube]
直した状態のものと、直す前の状態のプレファブが詰まったunitypackage
外部リンク:cdn.discordapp.com
802: 名前は開発中のものです。 [sage] 2023/03/09(木) 23:06:49.79 ID:cqkvSUGR(3/3) AAS
ご親切にありがとうございます!
今動画を確認しながら、そっくり真似をしていて最後綺麗にグラデーションで透明になりました!
おかげ様でシェーダーは完成しましたが、作ってもらったunitypackageも保存しておきました
わざわざ動画まで作って教えてもらえるとは思いませんでした。
途方にくれてたので質問してよかったです。本当に感謝します!!
803(1): 名前は開発中のものです。 [] 2023/03/09(木) 23:18:11.97 ID:NOO+nIAE(1) AAS
>>800
GoogleドライブにはUnityプロジェクト入れない方がいいらしい
プロジェクトのファイルの完全性を保証してくれないという話だ
そういう話を見た
804: 名前は開発中のものです。 [sage] 2023/03/10(金) 11:22:41.42 ID:v+0QHCrH(1) AAS
>>803
わかりました
ファイルが破損してしまったりするんでしょうかね
Googleドライブに入れるのはやめておきます
805: 名前は開発中のものです。 [sage] 2023/03/10(金) 11:52:09.70 ID:OkB4FvGW(1/2) AAS
キャラクターごとに専用のテクスチャを用意するのが一般的だと思うんですが
そうではなく金属や肌や布といった素材テクスチャを用意して
これを別々のキャラクターのパーツに指定して共有させるのって何か問題がありますか
キャラごとに専用のテクスチャ持たせるよりVRAMは節約できそうですが
806(1): 名前は開発中のものです。 [sage] 2023/03/10(金) 12:02:45.85 ID:ioQPLob0(1/2) AAS
使い回しは多キャラの基本
807: 名前は開発中のものです。 [sage] 2023/03/10(金) 12:09:02.76 ID:OkB4FvGW(2/2) AAS
>>806
使い回したいですよね
らくちんですし
808(1): 名前は開発中のものです。 [] 2023/03/10(金) 12:38:52.62 ID:HHLKr0P7(1/2) AAS
scriptable objectについて質問です。
メモリの消費を抑えられるのが利点だと書かれている解説を読みました。
例えばscriptable objectに100体のモンスターの情報を持たせたとして、10体しか使わなかったとき、残り90体分の情報はメモリにとって邪魔になるはずです。こういった状況では必要な分だけscriptable objectから取り出してリストに格納、そのリストを参照するという実装をするのでしょうか?
なにか良い方法があったら教えてください。
よろしくお願いします。
809: 名前は開発中のものです。 [] 2023/03/10(金) 13:12:21.28 ID:HHLKr0P7(2/2) AAS
>>808
とりあえず手を動かしてコード書いてみたらわかりました。scriptable objectについて勘違いしていました。こいつ単体では1つのオブジェクトの情報を持つ。複数の異なるオブジェクトをまとめたいならリストの型にする感じでした。
810(2): 名前は開発中のものです。 [773] 2023/03/10(金) 18:30:13.25 ID:ZXiD9+Jj(1/2) AAS
質問を変えます。
・普通にインデックスのある10000個の位置情報を格納したバッファを一つ作って、C#でオブジェクトの個々の自分のインスタンスのインデックスを取得できる関数があれば、それを毎フレーム探して位置更新できると思うのですが、そのような関数はありますでしょうか。
811: 773 [] 2023/03/10(金) 18:30:54.36 ID:ZXiD9+Jj(2/2) AAS
>>773773(2): 名前は開発中のものです。 [] 2023/03/08(水) 08:35:17.65 ID:govS8Ndx(1/2) AAS
質問失礼します。
URP,win11
やりたいこととしては、オーディオソースコンポーネントとコライダーコンポーネントをつけた空のオブジェクトを、大量インスタンシング&コンピュートシェーダーでタービュランス運動させる、というものです。
その際コンピュートシェーダは書けたのですが、バッファは一つのオブジェクトの位置情報を格納しているので、そのままインスタンシングしても失敗します。
どうしてもオーディオソースコンポーネントとコライダーコンポーネントをアタッチしたオブジェクトをインスタンスさせたいのですが、どういったやり方が考えられるでしょうか。
です。
上下前次1-新書関写板覧索設栞歴
あと 191 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s