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"

複数のActor(Character)にPlayerIndexを指定したい

育成ゲームを作成しているのですがカメラをUserとしてGameModeのDefaultPawnClassに指定し、育成するキャラクターの体力等のステータスを表示したいのですが、UI側のCastノードで指定するObjectのGetPlayerCharacterのPlayerIndexが指定できずに困っています・・・ Levelで育成キャラクターを選択した時の詳細にあるInputにPlayer1を割り当ててPlayerIndexに1を指定してもCastに失敗してしまいます. PlayerIndexを任意の数字に割り当てる方法をご教示頂きたいです、よろしくお願いします.

alt text alt text

Product Version: UE 4.13
Tags:
playerindex.jpg (13.0 kB)
uicastfailsed.jpg (53.0 kB)
more ▼

asked May 18 '17 at 02:44 PM in Japanese

avatar image

dosukoioozeki
8 3 1 3

avatar image Pier Pop May 20 '17 at 01:32 AM

これはMultiplay用のゲームでしょうか?
PlayerIndexはSingleplayの場合常に0となり、Singleplayで1を指定するとnullを返すかと思われます。
Multiplay時(CreateLocalPlayerなどでPlayerが複数存在する際)にPlayer1から順に0から割り当てられます。
まずはこちらをご確認頂けますと幸いです。

avatar image dosukoioozeki May 21 '17 at 04:53 AM

SinglePlay用です,普通の育成ゲームと同じく操作する人のみがいる感じです Widgetでキャラクターのステータスを表示するにはWidgetのイベントグラフで育成キャラクターをCastして育成キャラクター型の変数にSet(Q2枚目の画像)してWidgetのデザインにあるPercentに育成キャラクターが持っている変数の値を表示させるという方法を取っています。(Bindで関数にする方法より楽だったので) alt text その際(関数にする場合でも)Castする必要がありCastノードはObjectを指定しなければならなく(CastするObjectの指定)、GetPlayerCharacterでしか適合できず、育成キャラクターもCharacter型で作ってステータスを表示している形になります。(GameModeも仮でDefaultPawnClassは育成キャラクターにしています) ですのでUserをDefaultPawnClassにした際にGetPlayerCharacterが機能しなくなるので育成キャラクターにPlayerIndexを当てることができたらステータス表記も上手くいくのではないかと考えた次第でございます。 CastノードのObjectにActor型等が当てられる方法がありましたらそちらを教えて頂きたいです、よろしくお願いします。

gagepercent.jpg (18.0 kB)
(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

PlayerIndexはプレイヤー(1P、2Pなど操作者)を認識するための番号のようなものなので、GetPlayerCharacterで1を指定するとSingleplayであれば2人目のプレイヤーが存在しないのでnullとなるかと思います。
DefaultPawnClassに指定したクラスはGetPlayerCharacter(GetPlayerPawn)で取得できますが、それ以外のアクターを参照する場合は、SpawnしたクラスからObjectを渡す方法や、GetAllActorsOfClassなどでアクターを取得できます。

more ▼

answered May 23 '17 at 01:58 PM

avatar image

Pier Pop
1.7k 78 4 27

avatar image dosukoioozeki May 25 '17 at 11:27 AM

GetAllActorsOfClass凄く便利です、ありがとうございます! ちなみにSpawnしたActorを受け渡す場合は、Spawnする時にActorを配列に格納してそれを参照するといった形でよろしいでしょうか? 追加で回答よろしければお願いします。

avatar image Pier Pop May 25 '17 at 02:05 PM

添付はWidgetを生成した後にTestCharaをSpawnし、生成されたキャラクターのObjectをWidgetのSetChara関数で受け渡している状況を示します。
不明点がありましたら追加でご質問下さい。

setchara.png (146.7 kB)
avatar image dosukoioozeki May 25 '17 at 02:42 PM

丁寧な説明まで付けて下さりありがとうございます。 ようやくゲーム作成の方を一気に進められそうです、これからも精進して参りたいと思います、重ねてお礼申し上げます。

(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