UE4 ConstructionScript内でSpawn出来ないのをComponentの追加でプロシージャルする方法 #UE4Study

頂いたアドバイスや作例など 実はUE4極本の追加ドキュメント http://www.borndigital.co.jp/book/5190.html にモロな話題が載っていたんですが、気付かず
1
indickczar @indickczar

円周上にアクターを配置。 これも直線上の配置とあまり変わらない。 pic.twitter.com/TvuIDaPKhb

2015-02-05 23:06:32
拡大
拡大
拡大
拡大
indickczar @indickczar

Content Examples Blueprint Advancedの1.3 Automatic Ringを参考にしています。 解説はいらないとは思いますが需要があればまとめます。 #UE4 pic.twitter.com/kkLx6E6pNv

2015-02-05 23:09:37
拡大
Koji Okabe @kojiokb

本日もUE4極本追加ドキュメントを読み進めてる。「Appendix B Construction Script」について学び中。 vine.co/v/ejw3jlpriQl

2015-08-26 21:04:00
Koji Okabe @kojiokb

本日もUE4極本の追加ドキュメントを読み進めてる。プロシージャル屏風できた。 vine.co/v/ejtBZ0z9Mim

2015-08-27 10:23:02
栗坂こなべ @kurisaka_konabe

UE4 4.9をDL。PUZZLEテンプレートでプロジェクトを作成。BPで3×3のブロックを生成している部分をConstructionScript側にコピペで持って行くと、SpawnActorノードが消える。このノードを関数化すれば無理やり持っていけるけど動かず。うーん…

2015-09-02 17:34:13
栗坂こなべ @kurisaka_konabe

念の為SphereをSpawnするだけの簡単なBPを別途作成。イベントグラフでは生成できるが、ConstructionScript上ではSpawnActor出来ないことを確認。UE4 4.9。マス目単位のマップはコードで生成が便利なんでPlayせずともビューポート上で確認したい

2015-09-02 18:16:20
indickczar @indickczar

ConstructionScriptでは、Actorをスポーンできないんだよね。 代わりにスタティックメッシュをおいて、BeginPlay時に、スタティックメッシュを消して、同じ位置に、Actorをスポーンさせるようにしてましたね。 スウィング ニンジャが参考になります #UE4

2015-09-02 22:00:18
alwei @aizen76

@indickczar 実はアクターはスポーンできないんですが、チャイルドアクターであれば事実上ConstructionScript内でもアクターをスポーンする事が可能です。割りと知られてないテクニックですが。

2015-09-02 22:20:25
alwei @aizen76

@kurisaka_konabe 家に帰宅して自分がどうやってConstructionScriptでアクターをスポーンしていたかわかりました。ChildActorComponentというのがあって、これを使うと事実上ConstrctionScript内でもスポーンできます。

2015-09-02 22:21:55
alwei @aizen76

@kurisaka_konabe ただアクターではなくコンポーネントなんで、スポーンじゃなくてAddComponentからじゃないと追加できませんので、注意。作ったあとのAttachToも忘れずに。

2015-09-02 22:29:57
indickczar @indickczar

@aizen76 そうなんですか。 具体例か、参考サイトがあれば教えていただけると幸いです。

2015-09-02 22:32:04
ババーン @rarihoma

Construction Script において何故 SpawnActor ができないのかはちゃんとおさえておいた方がいい気がする。もしそれができたら Actor を動かす度にものすごい勢いで Spawn された Actor がばら撒かれることになる。

2015-09-02 22:34:04
alwei @aizen76

@indickczar ConstrutionScript内でAdd Child Actor Componentを呼び出して、それをAttachToするだけです。アタッチしないとどこかにぶっ飛びますので注意してください。 pic.twitter.com/oOhoocJ3gu

2015-09-02 22:35:28
拡大
alwei @aizen76

ConstructionScriptは使い方によって面白い方法が沢山あるので、ゲームを実行する前にスクリプトが実行出来るのを逆手にとると結構際どいことができますよw #UE4Study twitter.com/aizen76/status…

2015-09-02 22:48:21
indickczar @indickczar

@aizen76 情報ありがとうございますできました。 座標の設定は適当ですけど・・・ pic.twitter.com/YkUULhSpqx

2015-09-02 23:02:08
拡大
ババーン @rarihoma

Add Child Actor Componentは『Actor ComponentをChildとしてAddする関数』ではなく『Child Actor ComponentというComponentをAddする関数』だった。誤解してた。 pic.twitter.com/mWSokoblPP

2015-09-02 23:05:58
拡大
alwei @aizen76

@indickczar はい。これで実質ConstructionScript内で自由にアクターがスポーンできるので、動かす前から色々と調整が可能です。

2015-09-02 23:06:05
alwei @aizen76

@rarihoma そろそろ読んでいてゲシュタルト崩壊しそうですww

2015-09-02 23:07:15
indickczar @indickczar

@aizen76 これで、かなり処理が簡潔にかけますね。 前作った奴も書き換えておきます。 ありがとうございました。

2015-09-02 23:12:46
alwei @aizen76

これの使い方、まだ思い受かばないんだけど、アクターのConstructionScriptでアクターが作成出来るということは自分自身をチャイルドアクターにして追加すれば、メタメタしたい事ができそうな気がする。

2015-09-02 23:15:37
indickczar @indickczar

@aizen76 それがやりたかったんです!

2015-09-02 23:16:50
indickczar @indickczar

BluePrintによるStatic Meshの動的な配置について github.com/mishimatsu/UE4… 昔書いた記事ですが参考になれば 円形に配置するのは、こちらを参照してみてください 1.3 - 自動リング docs.unrealengine.com/latest/JPN/Res… #UE4

2015-09-03 01:03:37
リンク GitHub mishimatsu/UE4 UE4 - for Unreal Engine 4