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"

[Closed] レベル上の複数アクターの特定コンポーネントを同時に編集対象にする事は可能でしょうか?

お世話になっております。

やりたい事といたしましては、 例えば、BPにA、B、Cと言う名前のStaticMeshComponentをアタッチしているとし、 それをレベル上に複数個配置致します。

配置されたレベル上のBPアクターをいくつか選択し、 エディタ拡張等で「A」ボタンを押したら、 名前AのStaticMeshComponentが全て選択対象となるような機能が欲しい状況です。

C++側から、GEditor->SelectComponent を使用して、強制的に選択対象にしてみたのですが、 1つしか選択候補にならないようです。

上記の様な事をやりたい場合に、何かしたら良い手法はございますでしょうか?

Product Version: Not Selected
Tags:
more ▼

asked Oct 26 '18 at 11:06 AM in Japanese

avatar image

Answers.Archive STAFF
1.9k 208 316 688

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

The question has been closed Oct 26 '18 at 11:23 AM by Ken.Kuwano for the following reason:

The question is answered, right answer was accepted


1 answer: sort voted first

お世話になっております。
まず表題の「特定のコンポーネントを同時に編集する」というのは、対象となるComponentがDefaultObjectでない場合(C++から追加されたDefaultObjectではなくBlueprint上から追加されたComponent)は複数のアクターを同時に編集することはエンジンをカスタマイズしない限りできないものと思われます。DefaultObjectで無いComponentを複数アクター選択した場合、UI上に表示する機構から存在していないためです。これを解決するにはEditorのDetailパネルを表示する箇所からカスタマイズして頂く必要があるかと思います。

次に複数のComponentを選択するためには、 SActorDetails::OnSCSEditorTreeViewSelectionChanged()の引数SelectedNodesに対象となるComponentを含むNodeを渡すことができれば実現できるかもしれません。これは上記で申しましたように「Detailパネル(もしくはPropertyMatrix)から複数のComponentを同時に編集する」ために「DefaultObjectとして定義したComponent」を含むことが前提となります。この処理については、DetailパネルでCtrl+Aを押した際の挙動が参考になるかと思います。

複数のActorを選択して方法については、選択Actorを一括選択するコマンドShift+Ctrl+A( ACTOR SELECT OFCLASS CLASS=XXX)で実行される UUnrealEdEngine::edactSelectOfClassや 選択StaticMeshActorを一括選択するコマンド( ACTOR SELECT MATCHINGSTATICMESH ALLCLASSES)を実行する UUnrealEdEngine::edactSelectMatchingStaticMeshが参考になるかと思いますが、Componentを同時に編集する方法について制限がありますので、単にSelectComponentで選択するだけでなく、この点も踏まえて実装をご検討頂く必要がございます。
ご参考になれば幸いです。

more ▼

answered Oct 26 '18 at 11:06 AM

avatar image

Answers.Archive STAFF
1.9k 208 316 688

avatar image Answers.Archive STAFF Oct 26 '18 at 11:06 AM

詳細なご説明誠にありがとうございます。

結構改修箇所が多くなりそうですね…。

エンジン改造までの対応にはしたく無いという温度感ではありますので、 ご教示いただいた箇所を調査してみて、 無理そうでしたら、決め打ちの編集を行う様なエディタ拡張を検討してみたいと思います。

ご返答ありがとうございました。

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

Follow this question

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

Answers to this question