お世話になっております。
いくつかロック関係の挙動で不明点があるので伺いたいです。
前提として
相手に攻撃判定があたる→ロックする→ロックしたオブジェクトを操作する
という形でノックバック等の挙動を作っております。
1,同じステートの中で攻撃判定にあたったオブジェクトをロック→ロックしたオブジェクトのゲームスピードを変更 が動作しない
→ウェイトを入れるなどロックを待つような動作をしても同じステートで設定する限りは反応しませんでした。
ロックしたオブジェクトの移動などは動作するので、ロック自体は行えていると思います。
2,ロックの解除が行われない場合がある
→こちらは複雑なのですが、例えば
[攻撃用ステート]
ロックを解除(残っているロックを切る目的)
→攻撃判定設定
→攻撃設定
→ロック
→ロックしたオブジェクトの移動
→ロック解除
というステートを二つ作り(A,Bとします)AnyStateから動作できるようにし、AとBを連続で行うとBが当たっていなくてもロック対象の移動などが発生します。
期待値としては最初のアクションでロックが切れてまたヒットしたら再度ロックする、というところなのですが、こちらは仕様でしょうか。
お手数ですがご確認いただければ幸いです。
すいません、1に関しては解決はしていないのですが、謎は解けたかもしれません。
ゲームスピードの変更のみ効果対象オブジェクトが「このオブジェクトがロックしたオブジェクト」となっており、攻撃判定のオブジェクトと.vsを動かしているオブジェクトが違うので「このオブジェクトがロックした」という判定になっていないのかもしれません。
オブジェクトの移動対象は「ロックされたオブジェクト」であり対象範囲が違うのでそちらは動くのかもしれません。
もしこれが原因だとしたらゲームスピードの変更対象にも「ロックされたオブジェクト」を追加いただけますでしょうか。
ゲームスピードの変更はいい機能だと思いますのでよろしくお願いいたします。
現在のところ、ロックオブジェクトは「クロスボーダーロック」(1 対多のロック)に対応しておらず、変数を変更する際の「親オブジェクト」指定で 1 対多の設定は可能ですが、まだ不具合が残っています。
こんにちは
こちらの不具合についてもう少し詳しく教えていただいてもよいですか?
動作を確認しましたが、ロックオブジェクトで複数のオブジェクトをロックすること自体はできているようです。
プロパティを変更アクションでパスを指定しないと変更できないので一気に変更できないということでよいでしょうか?
親オブジェクト指定と同じように対象パスを指定しないようにできるか開発に確認します。
その通りです。現在、攻撃判定範囲内や画面内の複数オブジェクトをロックすることは可能ですが、「自身の変数 = ロックしたオブジェクトの変数」のようなアクションを実行する場合、単一のオブジェクトを指定する必要があります。現状では「親オブジェクト」指定のみが、関連する変数を跨オブジェクトで一括変更する機能を提供しています。
1 Like
ありがとうございます、試してみます。
期待していた機能なので非常にありがたいです
1 Like
2.について色々試してみたのですがうまく再現できずでして・・・再現可能なプロジェクトを頂くことは可能でしょうか。gigafile便などでこちらに貼り付けていただくかメッセージでお送りいただけると大変助かります
1 Like
検証いただきありがとうございます。
こちらなのですが、AnyState経由でステートを切り替えて実行しているのでおそらく「ステート終了までロック解除されない」事象が根本原因な気がしております。
(アニメーション終了などのステート終了遷移を経由せずにステートを切り替えているので)
もしそちらが治るとしたらその結果をもって追加検証いたします!
ありがとうございます。
こちらなんですが、「ステート終了までロック解除されない」事象がどうも自分の検証ミスだったようでどうやら正しく解除されているようでした・・・
1 Like
そうでしたか、お手数おかけしました、自分のプロジェクトではおきてますね…
ちょっと挙動おかしいステート最初から作り直して再度起きたらプロジェクト送らせていただきます。
遅くまでありがとうございます!