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"

キャラクターセレクトのような動きをするBPアセットを作りたい

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

表題のとおり、現在キャラクターセレクト画面(のようなもの)を作成しています。 キー入力があったらアクターを入れ替え、また入力があるまではその場でアクターを回転させておく、というものです。

それにあたって、専用のBPアクターを作成し、キャラクター数分レベルに追加しコンポーネントのスケルタルメッシュを差し替えることで、多数いるキャラクターに対応しようかと思ったのですが、いくつか問題があり、手詰まりしてしまったため質問させていただきました。 大まかな内容としましては、

・AddRelativeLocationに座標指定はできるか?

・SetRelativeLocationとAddRelativeLocationを合わせたような動きをさせることができないか?

です。

下記に詳細を記載させていただきます。

alt text

上記画像のような構造で作業を行っているのですが、

”キーを押すと横にスライドして入れかわる”というのをAddRelativeLocationで行いたかったのですが、位置座標がうまく指定できず、はるか遠くへアクターが飛んで行ってしまいうまく制御できませんでした。ためしに上記画像のAddRelativeLocationをSetRelativeLocationに切り替えたところ、正常に動作するようにはなったのですが、

alt text

A←B間で同じ動きを繰り返してしまい(当たり前ですが...)、一向にC以降のアセットが移動できないのでこれは使えないか...と頭を抱えております。

アクターを横に決まった値づつ移動させ続け、最後に行ったらAに戻るというのを実装したいと思っておりますので、いいお知恵ございましたらご教授いただけると幸いです。

デザイナーが成果物を確認するに当たり、レベルにアクターを追加してコンポーネントを指定するだけで簡単に確認できる。というのを実装したくこのような構成を考えていたのですが、うまく形にできなかったため、質問させていただきました。

この構造に限らず、他の良い実装方法などありましたらそちらも合わせてお伺いできると幸いです。 初歩的な質問で大変恐縮ですが、以上、よろしくお願いいたします。

Product Version: UE 4.13
Tags:
more ▼

asked Mar 15 '17 at 08:11 AM in Japanese

avatar image

itanorik
43 14 10 19

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

1 answer: sort voted first

・AddRelativeLocationに座標指定はできるか?
AddRelativeLocationはVecto3成分を相対的に加算するノードなので、座標指定した分だけ加算されます。
指定した座標に移動させる場合はSetRelativeLocation(ローカル座標系の座標に移動)やSetWorldLocation(ワールド座標系の座標に移動)などを使用します。

・SetRelativeLocationとAddRelativeLocationを合わせたような動きをさせることができないか?
上記記載の通り、2つのノードは別物ですので用途に併せて使用して下さい。

キャラクター選択画面については、親子関係が正しいければAddRelativeLocationを利用して移動させることも可能ですし、ローカル座標系を使用せず全てワールド座標系で管理する方法もシンプルです。背景を気にしないのであれば、キャラクターは移動させずカメラを動かす方法でも実現できます。
ご質問の内容を拝見しますと、ローカル座標系でやるべきこととワールド座標系でやるべきことが少し混雑しているように見受けられます。ユーザー操作による移動をAddRelativeLocationで完結させたいと思われますが、一度親子関係や座標系の関係を精査することをお勧めします。
宜しくお願いします。

more ▼

answered May 06 '17 at 04:41 AM

avatar image

Pier Pop
2.1k 79 4 27

avatar image itanorik May 08 '17 at 03:39 AM

Location系のノードのご説明ありがとうございます。 座標指定系のノードの理解が深まりました。

本質問の後、自分でもいろいろ調査、試行していたのですが、その途中でAddRelativeLocationにTimelineからvectorの値を出力していたことで、毎フレームどんどん増える値が加算されてしまい、想定よりもはるか遠くへ行ってしまっていたということに気づき、timelineとAddを併用することをやめました。親子関係や座標指定以前の問題でした。お恥ずかしい限りです・・・(AddとSetを併用したいといったのはこの問題のためでした)

たくさん動く問題は解消したのですが、結局Setを使用してB以降のアクタに移動させる方法がイマイチわからなかったため、その当時は、ルーレットのような形状のつくりに変更し、親の回転で子の位置を変更するという手法で対応しました。

しかしカメラを移動するというのは全くの盲点だったため、今回とてもいい手法をご教授いただきました。ありがとうございます。

以前の質問にも関わらず、ご丁寧にご教授ご説明いただきありがとうございました。

(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