x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

アンリアルエディタでの配置、編集操作の自動化について

アンリアルエディタ上で、ユーザーが手動にて行う操作を自動化する方法を模索しています。

例をあげますと

  • 『BSPブラシ』や『各種ボリューム』のビューポートへのドラッグ&ドロップ(レベルへの配置)

  • 配置した『BSPブラシ』や『各種ボリューム』の配置情報の変更(Location、Rotation、Scaleなど)

  • 配置した『BSPブラシ』や『各種ボリューム』の頂点操作による変形(ジオメトリの編集)

  • 配置した『BSPブラシ』や『各種ボリューム』のパラメータの変更("private" な独自クラスメンバへのアクセス)

などの操作をマクロ実行のようなもの、もしくはプラグインを作成することで自動化する方法はありますか?

アンリアルエディタのオフィシャルなバージョンアップとの互換性を維持するため、 アンリアルエディタ自体のカスタマイズ(変更、改良)は行わない方法でと考えています。

Product Version: UE 4.9
Tags:
more ▼

asked Oct 06 '15 at 08:21 AM in Japanese

avatar image

int_x
1 5 6 9

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

UE4ではあらゆる情報をクリップボードへテキスト情報として保持しており、その情報を解析する事が出来ればある程度に自動化が可能だと思われます。

参考

http://unrealengine.hatenablog.com/entry/2015/05/17/210000

このように配置情報もテキストとして保持してクリップボードに格納出来ればそれをそのままペーストする事により、マクロ化などが可能です。ただこの情報についてはオフィシャルなドキュメントがありませんので、自力で解析する必要があります。

それさえ出来てしまえば、プラグインでも作成可能ですし、外部ツールから配置情報やプロパティ情報の生成まで可能だと思われます。

more ▼

answered Oct 07 '15 at 04:16 PM

avatar image

alwei STAFF
3k 125 19 53

avatar image int_x Oct 08 '15 at 10:51 AM

ご返答、ありがとうございます。

クリップボードへのペースト用テキスト情報を生成する方法は色々と応用が利きそうですので 実装の候補として解析、検証してみようと思います。 こちらの方法で実装するとしたとき、配置情報のエディタ(アウトライナ)へのペーストは 手動で行うという認識で間違いないでしょうか? その場合、そのペースト動作のような入力系イベントもプラグインなどで自動化することは可能でしょうか? (自動化が可能ならば配置情報の生成とエディタへのペーストがプラグインで一括して処理できるので)

といいますのも、当初『BSPブラシ(Boxブラシ)』を配置するのに、エディタの挙動に則り

 ABrush
  + UModel
  + UBrushComponent
  + UBrushBuilder(UCubeBuilder)

を SpawnActor() や NewObject<>() などを駆使してインスタンスを生成し、 パラメータの変更を行えないかというところから検証を始めたところ いくつかのメンバが "private" になっていて直接変更できなかったり、 ならば、エディタが『BSPブラシ』を配置するときに使用している

 ABrush* UWorld::SpawnBrush()

などのアクタを生成する関数などを直接使用できないかと検証したところ、

 FBspModeModule
 SBspPalette

のようなエディタの保持しているパラメータが設定されていることが前提になっているうえに、 こちらも外部から設定、変更できない状況がほとんどでしたので、先の質問にて

 ユーザーが手動にて行う操作を自動化する方法

例えば

 『配置』モードをクリック(選択)
 『BSP』をクリック(選択)
 『ボックス』をクリック(選択)

といったアンリアルエディタを操作する『入力系イベントを自動化する方法はありますか』 という意味も含めて書かせてもらいました。 やや言葉足らずな質問ですみませんでした。

エディタが使用しているデリゲート関数を使えばアクセスすること自体は可能なようですが これらを解析するのはなかなかに骨が折れそうなので、なにかしらの有効な方法があるようでしたら お知恵を借りられればと思います。

よろしくおねがいします。

avatar image alwei STAFF Oct 09 '15 at 01:24 AM

そうですね、そこまで突っ込んだ事をやろうとすると相当骨が折れると思います。

そこまでの自動化をご希望であればエピックゲームズさんの力を借りるか(つまりライセンシーになるということ)、英語で質問を投げてみるかだと思います。

AnswerHub日本語コミュニティ内ではそこまで詳しく知っている人はおられないと思います。

avatar image int_x Oct 09 '15 at 04:52 PM

ご返答、ありがとうございます。

自動化の方法の検証を進めていると、エンジンのかなり深い部分まで解析する必要があり 手間とリターンを考えるとあまり有効な方法ではないなとうすうす感じていたので 教えていただいた方法を参考に、別方向からのアプローチを検証してみたいと思います。

この度は色々とご教授、ありがとうございました。

avatar image int_x Oct 13 '15 at 03:58 PM

クリップボードに保存される配置情報などの記述フォーマットについてですが、 UE3 の UnrealScript で、DefaultProperties でコンポーネントのインスタンスの生成、 および編集を行うときの記述に近いような気がします。

http://udn.epicgames.com/Three/ActorComponentsJP.html#コンポーネントを追加する

とはいえ、これはUE3でのことなので、UE4では違うかもしれませんが、 解析の参考にはなるのではと思います。

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question