Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NiagaraでサクッとMorphEffectを作ろう

17,050 views

Published on

第8回UE4勉強会 in 大阪にて登壇した際に使用したスライドになります。

イベントページ:https://ue4study-osaka.connpass.com/event/98825/
Twitter : @YuyaShiotani

Published in: Engineering
  • Be the first to comment

NiagaraでサクッとMorphEffectを作ろう

  1. 1. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagara でサクッと Morph Effectを作ろう! Yuya Shiotani
  2. 2. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 自己紹介 京都のUnrealer 塩谷祐也 学生企画マン Houdiniはじめました。 蜘蛛男ゲーやりたい
  3. 3. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagaraで作りました
  4. 4. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのTutorialも作りました
  5. 5. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani https://youtu.be/Ad6ABt_Vd5Y
  6. 6. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 諸注意 以下のモノに関しては、触れません。 • Niagara Dynamic Input Script • Niagara Parameter Collection/Instance • Sequencer上での扱い • Sprite Renderer以外のRenderer 一切触れません
  7. 7. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 諸注意 • Unreal Engine 4.20を使用して、作成しています。 • Niagaraはアーリーアクセスです! 今後の実装方法とは異なる可能性があります。 • 間違った表現などは、何卒...!!!(こっそり教えてほしいな・・・)
  8. 8. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立
  9. 9. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  10. 10. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  11. 11. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagaraって? 4.20よりアーリーアクセスとなった 次世代のVFXツールセット
  12. 12. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 詳しくはこちら 待望のUE4新機能ナイアガラでプログラマブルVFX - Epic Games Japan - GTMF 2018 TOKYO • https://youtu.be/KcV-hj42Ppw • https://www.slideshare.net/EpicGamesJapan/ue4-vfx/EpicGamesJapan/ue4-vfx 公式ドキュメント(英語) • https://docs.unrealengine.com/en-us/Engine/Niagara/HowTo 公式のLivestream(英語) • https://youtu.be/s7QpAkzx5eM
  13. 13. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagaraって? ぶっちゃけると 新しいエフェクトツール
  14. 14. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今回のお題
  15. 15. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani さて これ知ってますか?
  16. 16. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani カッコ良すぎ!!! 惚れた!!!! 再現したい!
  17. 17. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今回のお題 Static Mesh で Morph Effectを作ろう!
  18. 18. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagaraの有効化 Edit > Plugins > VFXより、有効化できます。 ココ
  19. 19. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  20. 20. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて
  21. 21. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて 今回は、以下の3つを使用します。 System Emitter Module
  22. 22. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 各々の特徴
  23. 23. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて System • Emitterを複数扱える • Set Niagara Variableで値を受けれる • LevelやBP, Sequencer上で扱える • 一応、ノードベース. . . • Emitterにできることはだいたいできる などなど
  24. 24. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて • 単一のEmitterのみ扱える • 複数のModuleを扱える • 一応、ノードベース. . . Emitter
  25. 25. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて • 基本的に処理はココで書く • 複数のEmitterで使い回せる • ノードベース Module
  26. 26. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて 以下は構成の一例
  27. 27. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani System Emitter Emitter Module Module Module
  28. 28. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ちなみにCascadeで例えると
  29. 29. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani System Emitter Module Niagara Cascade
  30. 30. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NiagaraのAssetsについて わからなかった時は、以下のブログを御覧ください! カニパンチさんのブログ • http://crabpunch.hatenablog.com/entry/2018/07/22/095242
  31. 31. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 説明終わり!!
  32. 32. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 実際にMorph Effectを作成する
  33. 33. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  34. 34. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagara Emitterを作成する
  35. 35. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterを作成 Niagara Emitterを作成 名前は”NE_Morph”
  36. 36. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 開くとこんな感じ
  37. 37. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 画面構成について
  38. 38. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani
  39. 39. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Timeline Preview Parameters EmitterのModuleに関する箇所 ParticleのModuleに関する箇所 Rendererに関する箇所
  40. 40. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterの編集へ 戻ります
  41. 41. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 編集していきます
  42. 42. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 以下の様な構成にします。Before 使いません 使いません 使いません 使いません
  43. 43. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 以下の様な構成にします。After
  44. 44. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Set Variables内の削除はココ ① ②
  45. 45. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitter Updateを編集 Emitter Life Cycle内の Next Loop Durationを”10.0”に
  46. 46. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Next Loop Durationとは Emitterの持つTimelineの長さです。
  47. 47. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitter Updateを編集 Emitter Updateに Spawn Burst Instantaneousを追加
  48. 48. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Particle Spawnを編集 すると こういったModuleが追加されます
  49. 49. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Particle Spawnを編集 Spawn Countの値を100000に
  50. 50. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Spawn Burst Instantaneousに関して
  51. 51. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Spawn Burst Instantaneousに関して Spawn Burst Instantaneousとは いつからいくつParticleをSpawnさせるのか 定義するModule Spawn Rateと違い、指定時間で全て出る。
  52. 52. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Spawn Burst Instantaneousに関して Spawn Count:いくつParticleをSpawnさせるのか Spawn Time:いつからParticleをSpawnさせるのか
  53. 53. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Spawn Burst Instantaneousに関して Spawn TimeはTimelineでも操作可能 1.95 1.95
  54. 54. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterの編集に 戻ります
  55. 55. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Particle Spawnを編集 Particles.LifeTimeを”10”に
  56. 56. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani または
  57. 57. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Particle Spawnを編集 先程のNext Loop Durationを変数としてSet
  58. 58. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterの編集一旦終了
  59. 59. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  60. 60. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagara Module Scriptを作成 Niagara Module Scriptを 2つ作成。名前は ”NM_Morph_PS” ”NM_Morph_PU”
  61. 61. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 開くとこんな感じ
  62. 62. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani すでに何かある
  63. 63. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 基本的な構文だと思ってください。 :BPで言うEvent Begin Play :変数MapをGet :変数MapをSet :Moduleの外へ
  64. 64. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 一例:Particleの位置を加算によって操作 ①:MapGetで使用したい変数を用意 ①
  65. 65. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 一例:Particleの位置を加算によって操作 ②:用意した変数を処理 ②
  66. 66. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 一例:Particleの位置を加算によって操作 ③:処理データをMapSetで指定変数に保存 ③
  67. 67. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 説明終わり!
  68. 68. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PSを編集! したいが…
  69. 69. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 不要なエラーなどを 回避するために
  70. 70. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Bitmaskを使用しよう
  71. 71. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内の Details > Scriptへ
  72. 72. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ココ
  73. 73. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Scriptに関して Moduleそのものについて 設定する箇所
  74. 74. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module Usage Bitmaskに関して 今回は Module Usage Bitmask に注目
  75. 75. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module Usage Bitmaskに関して Moduleの種類を定義できる 一例: Particleと付くものにチェック ▼ ParticleのModuleとしてのみ 使用できる制限をかけれる
  76. 76. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module Usage Bitmaskに関して NM_Morph_PS NM_Morph_PU
  77. 77. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module Usage Bitmaskに関して MapSetにも影響 Particlesにチェック 全てにチェック
  78. 78. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Bitmaskを設定して 不要なバグは回避しよう!
  79. 79. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今度こそ NM_Morph_PSを編集
  80. 80. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 +ボタンから Module以下の Static Meshを選択 名前は”Module.StartMesh”
  81. 81. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 同じ要領で上記を追加してください 型 名前 StaticMesh Module.EndMesh
  82. 82. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterに関して
  83. 83. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterに関して Niagaraの各Parameterの管理は Namespaceが採用されています。 そのためか、画像の どのStatic Meshを選択しても “Module.名前”とさえ入力しておけば ModuleのStatic Meshとして扱えます。 型としては どれも同じ
  84. 84. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Moduleの編集に 戻ります
  85. 85. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成
  86. 86. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成 Module.StartMeshからピンを伸ばし “Get Tri Position”を追加
  87. 87. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成 先と同じ要領でSMStartからピンを伸ばし “Random Tri Coord”を追加し、 先のNodeのCoordピンとつなげる
  88. 88. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成 Module.EndMeshピンも同じ様にNodeを用意します
  89. 89. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Nodeに関して
  90. 90. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ごめんなさい 次のスライドは憶測を含みます
  91. 91. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 各Nodeに関して ここのスライドは憶測を含みます Static Meshの指定された 重心座標のPositionを取得 Static Meshの持つ三角形の 重心座標をランダムに取得
  92. 92. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PSの編集に 戻ります
  93. 93. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapSetにピンをつなげる MapSetに上記を追加 型 名前 Vector Particles.StartPos Vector Particles.EndPos
  94. 94. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapSetにピンをつなげる あとは、先のPositionピンから、対応したピンに 接続すればok
  95. 95. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理説明
  96. 96. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PSは終了! 次はNM_Morph_PUを作成!
  97. 97. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 まずは、MapGetで上記を追加 型 名前 Vector Particles.StartPos Vector Particles.EndPos
  98. 98. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 続けて上記を追加してください 型 名前 Curve For Floats Module.MorphController Float Particles.NormalizedAge
  99. 99. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成 Lerpを追加して ピンをつなげます
  100. 100. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理を作成 Sample Curveを追加して ピンをつなげます
  101. 101. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Nodeに関して
  102. 102. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Nodeに関して Curveの値からX値時点の Curveの値を取得する 今回は、 Particleの正規化した再生時間を保持している NormalizedAgeをXとして使用ました。
  103. 103. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PUの編集へ 戻ります
  104. 104. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapSetにピンをつなげる MapSetに上記を追加し、ピンをつなげて終了! 型 名前 Vector Particles.Position
  105. 105. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 処理説明
  106. 106. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PUも終了! 再びEmitterへ
  107. 107. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani EmitterにModuleを追加 Emitter内のParticle Spawnに NM_Morph_PSを追加
  108. 108. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani EmitterにModuleを追加
  109. 109. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 各Default Meshに Sampleしたい MeshをSetして使用します 使いません 使いません
  110. 110. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 今回はEngine Content内の この2つを使用します
  111. 111. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 両方のMeshをSetするとこうなります
  112. 112. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PSへの操作は終了 ただ・・・
  113. 113. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MeshをSetした際に CPU access errorが出る事があります Fix Nowを押すだけで大丈夫です。
  114. 114. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani なぜ”CPU access error”が出るのか?
  115. 115. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani なぜCPU access errorが出るのか? Static Mesh Editor内の Allow CPUAccessが FalseだとErrorが発生します
  116. 116. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani つづけて Module内のMeshに関して
  117. 117. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内のMeshに関して
  118. 118. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内のMeshに関して Default Mesh: SampleしたいMeshをセットする箇所
  119. 119. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内のMeshに関して Source: Level上でSampleしたいMeshを選択して使用 Default Meshよりも優先され SampleしているMeshのTransformも参照する
  120. 120. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内のMeshに関して Section Filter: 複数Materialで構成されるMeshから 指定スロットのMaterialが 適用されている部分だけをサンプルする
  121. 121. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内のMeshに関して • Filterなし • Slot:0,1 • Slot:0のみ • Slot:1のみ
  122. 122. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 使用するMeshに関する 注意!!
  123. 123. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Support Uniformly Distributed Sampling (SUDS)に関して
  124. 124. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani SUDSに関して Static Mesh Editor内の Allow CPUAccessの上にあります
  125. 125. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani SUDSに関して “メッシュは一定時間内に均一に分布した サンプリングをサポートします。 メモリコストは、1トライアングル = 8バイト 使用例は、パーティクルの均一なスポーンです。” とTipsに書かれている
  126. 126. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani SUDSに関して ざっくり言うと Particleを均一に散らすかどうかという 設定
  127. 127. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani SUDSに関して 違いってどんなもんなん??
  128. 128. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani False True Spawn Count 50000
  129. 129. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani False True Spawn Count 50000
  130. 130. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani SUDSに関して 使用するかどうかは 一部を除いて ケースバイケースです
  131. 131. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterの編集に 戻ります
  132. 132. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani EmitterにModuleを追加 Emitter内のParticle Updateに NM_Morph_PUを追加
  133. 133. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani EmitterにModuleを追加
  134. 134. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 Curveの扱いはNiagara以外の操作と同じです
  135. 135. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 Keyを2つ追加します
  136. 136. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 Time:0.55 Value:1.0 Time:0.45 Value:0.0 Keyの値はそれぞれ
  137. 137. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 Colorを編集します
  138. 138. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 Curveの値と同じ箇所にKeyを打つとGood Time : 0.55Time : 0.45
  139. 139. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterの編集は完了! おや?Emitterのようすが・・・
  140. 140. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 無事にMorphしたぞ!
  141. 141. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  142. 142. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Sprite Sizeがいまいち・・・ そうだ、Sprite Sizeも操作しよう!
  143. 143. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PUへ戻りますが
  144. 144. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani その前に
  145. 145. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Module内の処理は 1処理=1MapGet・1MapSet がオススメ!
  146. 146. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani というのも
  147. 147. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani まずは軽いジャブ
  148. 148. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 1処理=1MapGet・1MapSet 素晴らしい可読性
  149. 149. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 複数処理=1MapGet・1MapSet One for all, All for one
  150. 150. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani さて、本番
  151. 151. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani というのも 1処理=1MapGet・1MapSet 素晴らしい可読性
  152. 152. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ご想像におまかせします。 複数処理=1MapGet・1MapSet
  153. 153. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani といった風に 1処理=1MapGet・1MapSet を心がけるかどうかは 可読性に大きく関わる 是非とも、心がけて頂きたい所!
  154. 154. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ダメ!スパゲッティ!
  155. 155. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PUを編集してきます
  156. 156. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Map Get/Setを追加 まずは、MapGetを追加
  157. 157. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Map Get/Setを追加 そして、MapSetも追加
  158. 158. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Map Get/Setを追加 そして、この様な形にします 先に作った処理のMapSet
  159. 159. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 MapGetに以下を追加 型 名前 Float Module.StartSpriteSize Float Module.EndSpriteSize
  160. 160. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 ここのLocalの値はEmitterで 操作する際の初期値となります。 ‘1’を設定しておきましょう。
  161. 161. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 さらにMapGetへ上記を追加 型 名前 Curve For Floats Module.MorphController Float Particles.NormalizedAge
  162. 162. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Parameterを追加 そしてMapSetに上記を追加 型 名前 Vector2D Particles.SpriteSize
  163. 163. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapSetにピンをつなげる そして、この様にピンをつなげます
  164. 164. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapSetにピンをつなげる
  165. 165. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani NM_Morph_PUの編集は完了! 再びEmitterへ行きたいのだが・・・
  166. 166. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani
  167. 167. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ありえない並びになっている!!
  168. 168. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variable Metadataを編集すれば 大丈夫
  169. 169. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variables Metadataを編集 ココがVariable Metadata
  170. 170. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variable Metadataとは
  171. 171. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani MapGetにて追加した 各Moduleの詳細を設定する箇所
  172. 172. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variable Metadataとは Material EditorのDetailsと同じ感覚
  173. 173. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variable Metadataとは Material Editor Niagara Module
  174. 174. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ほぼ一緒!
  175. 175. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variables Metadataを編集 Module.StartSpriteSize Module.EndSpriteSize 上記の隠されている タブを展開
  176. 176. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variables Metadataを編集 上記を編集 Category Name Editor Sort Priority M.StartSS SpriteSize 0 M.EndSS SpriteSize 1
  177. 177. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Variables Metadataを編集 リフレッシュボタンを押すと 各Variablesの情報が 更新されます リフレッシュボタン
  178. 178. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani すると?
  179. 179. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani
  180. 180. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani よし…! 見やすい…!
  181. 181. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今度こそ! NM_Morph_PUの編集は完了! 再びEmitterへ
  182. 182. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ModuleのParameterを編集 上記の値にします 3.0 1.5
  183. 183. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani すると?
  184. 184. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 先程よりも、くっきりする!
  185. 185. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani これで大方終わり! 最後にLevelに配置しよう!
  186. 186. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今日の献立 1. Niagaraとは 2. NiagaraのAssetsについて 3. Emitterを作成 4. Moduleを作成 5. 追加編集 6. Systemの作成
  187. 187. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Niagara Systemの作成
  188. 188. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Systemの作成 Niagara Systemを作成 名前は“NS_Morph”
  189. 189. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 開くとこんな感じ
  190. 190. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterを追加
  191. 191. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterを追加 Track > Emitters… > NE_Morph を選択
  192. 192. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitterを追加 Niagara Emitterと同じ見た目に!
  193. 193. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani これで、Level上に配置できる!
  194. 194. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Level上へD&D
  195. 195. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Levelに出てきた!!
  196. 196. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani あとはPIEでチェックして 終了!
  197. 197. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Ok! まとめだ!
  198. 198. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani 今回作成したモノを ブラッシュアップすると こうなります
  199. 199. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Editorで見ます
  200. 200. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani といっても Niagara できない事はまだある。
  201. 201. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Anim Notifyがほしい Trail作りたい… オカダサン…
  202. 202. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani でもでもでも!!
  203. 203. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani できる事は 増えている!
  204. 204. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Dev-Niagaraについて (9/7時点)
  205. 205. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani GitHub上にあります h t t p s :/ / git h u b .c o m/ E pi c Game s/ Un r e alE n gin e / t re e / de v - n iag ara
  206. 206. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Emitter作成時のベースを 選択できるようになりました
  207. 207. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani その他、テンプレートの追加
  208. 208. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani サポートされる 変数の型が増えてました!
  209. 209. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Texture Sample
  210. 210. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani これ、できるようになるわけですよ!!
  211. 211. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani Texture関連のModuleなど
  212. 212. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani これからも色々追加されそうな Niagara! みなさんも是非、触ってみては!?
  213. 213. 第8回 UE4勉強会 in 大阪#UE4 #UE4Osaka | @YuyaShiotani ありがとうございました

×