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"

WidgetブループリントからレベルのMeshにアクセスしたい

Widgetブループリントでボタンを押すとレベルに配置している特定のMeshだけ非表示にできるようなものを作ろうとしています。 Widgetブループリントに配置しているSetVisivilityのターゲットに、レベルのMeshのCube、Sphereを設定したいのですが、どうすれば設定できますか?

alt text

alt text

Product Version: UE 4.21
Tags:
widgetbp.png (81.1 kB)
more ▼

asked Jun 06 '19 at 06:31 AM in Japanese

avatar image

kei_okei
31 1 2 5

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

1 answer: sort voted first

元々レベル上に配置されているアクターでしたら、Get All Actors Of Class を利用した方法がおすすめです。

以下ドキュメントURL
https://docs.unrealengine.com/ja/Gameplay/HowTo/FindingActors/Blueprints/index.html

more ▼

answered Jun 06 '19 at 12:48 PM

avatar image

fio-7218
148 16 22 24

avatar image kei_okei Jun 06 '19 at 11:52 PM

回答いただきまして有難うございます。 教えていただいたURLを参考に早速やってみました。 Tag番号をGetでTag番号入力することで、特定のMeshにアクセスすることができました。 Tag番号の指定は1つしかできないでしょうか? 例えばTag番号0とTag番号5のついたMeshにアクセスしたいという時はどのようにすればできますでしょうか?

また、 TagをつけてのMeshにアクセスすることはできましたが、 Tagではなく、マテリアルを指定しての特定のMeshにアクセスすることはできないでしょうか? AからDまでのマテリアルをつけているMeshがレベルにあったとして、AのマテリアルとCのマテリアルのついたMeshだけ取得して非表示にするには、Get All Actors of Classではできないでしょうか? ご教示いただけますでしょうか? 宜しくお願い致します。alt text

avatar image fio-7218 Jun 09 '19 at 06:33 PM

返信が遅くなりまして申し訳ありません。

複数のTag番号での指定
Get Tagsは配列としてGetするため、2つ以上のTagでも一度に取得可能です。
Getした配列の中身を一つずつ取り出し、自分が求める条件に一つずつ当てはめる方法がよいかと思います。

マテリアルでの指定
以下の画像の組み方で現状のマテリアルと指定したマテリアルが同じか確認することができます
(あくまで名前だけでチェックしているため、そこらへんは注意してください) あとはこの組み方を応用すれば、希望している処理の実現は可能だと思います。 alt text

aa.png (189.6 kB)
avatar image kei_okei Jun 10 '19 at 02:13 AM

回答有難うございます。

複数のTag番号での指定ですが、 Getした配列の中身を一つずつ取り出しという回答いただきましたが、いろいろやってみましたが、取り出し方が分りません。キャプチャを載せておきます。 どのようにすれば取り出せますでしょうか?

マテリアルでの指定ですが、 ウィジェットブループリントにいるので、Get MaterialでのターゲットでMeshが取得できないです。 また、Set Visivilityにおいても、ターゲットでレベルのMeshを選択することができないです。 レベルのMeshを選択するにはどのようにすれば可能でしょうか?

alt text

avatar image fio-7218 Jun 10 '19 at 03:11 AM

今回は配列のIndex数の分、配列の取り出しを使用するはずですのでForEachLoopノードを使用するのが良いかと思います。
(逆に単一の配列の取り出しはGetノードを使用します。)
その他、配列周りのノードは公式ドキュメントなどで沢山取り上げられています。他気になる部分ありましたら、ドキュメントの確認をおすすめします。
以下ドキュメントURL
https://docs.unrealengine.com/ja/Engine/Blueprints/UserGuide/Arrays/ArrayNodes/index.html

WidgetでのMeshの取得方法は、Get All Actors of Classで可能です。指定したいMeshはスタティックメッシュだと思いますので、Classの指定をStatic Mesh Actorに変更しましょう。
こちらも、まず配列として取得しますので、ForEachLoopノードで一つずつ取り出し、探しているMeshをブランチで指定すると良いかと思います。

(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