加速移動のオブジェクトの表示方向について

現在、MoveAndJumpSettingsの加速移動を有効にし、地面を滑るような挙動のキャラクターを作成しています。

アニメーションセットの設定では「自動でY軸反転」をオンにしていますが、たとえば右方向に加速している状態で左キーを入力した際、キャラクターを左向きにして減速させたいと考えています。

しかし、実際の挙動では右向きのまま減速し、速度が0になったタイミングでようやく左向きに反転します。このことから、左右の移動量に基づいて表示方向が切り替わっているのかなと推察しています。

希望としては、キー入力に応じて向きを即時に変更したいのですが、そのような設定方法があればご教示いただけないでしょうか。

なお、「自動でY軸反転」をオフにして左向き用・右向き用でステートを分けることも検討しましたが、ヴィジュアルスクリプトが煩雑になるため、可能であればその方法は避けたいと考えています。

お手数をおかけしますが、よろしくお願いいたします。

1 Like

現状ではステートを分けるしかなさそうですが、分け方について提案です。
「減速ステート」を追加するという形ではどうでしょうか。
例えばですが、移動からの接続を以下の3つの条件で分けます。

  1. 入力がなく、自身の変数x_speedが0に等しい時。(これまで通りのストップ動作)
  2. 左の入力があり、自身の変数x_speedが0より大きい時。(右移動から左への反転)
  3. 右の入力があり、自身の変数x_speedが0より小さい時。(左移動から右への反転)

追加された減速アクションはそれぞれ以下のように設定します。

  • 右から左への反転動作には左向きの画像を設定します。そして、自身の変数x_speedが0に等しい時Idleに遷移します。
  • 左から右への反転動作には右向きの画像を設定します。そして、自身の変数x_speedが0に等しい時Idleに遷移します。

こちらであれば、

  • 移動動作自体が2つに増えるわけではないのでヴィジュアルスクリプトの煩雑化を最小限にできる。
  • 柔軟な減速ができる。(例えば、減速動作では2倍速で止まる、キキーッとブレーキ音のSEを出す、アニメーションも専用のものを設定する)

といったことができるメリットがあります。

2 Likes

ありがとうございます。
また解決策もご提示いただきとても助かります。参考にさせていただきます。

現状はステートを分けるしかないこと、承知しました。

この度はご回答いただきありがとうございました。

2 Likes

加速移動設定では、ジャンプ中に反転しても、すぐには反転してくれませんね。MVでは問題無かったので、これは出来ればバグとして対応してもらいたいですねぇ。

1 Like

加速設定しているのに空中では加速移動ではないのはある意味正常ではない仕様なのでアクツクMV側が少しおかしかったとも言えるかもしれません。
(もちろんその挙動のほうが便利だよ!と感じる方もいらっしゃると思いますが)

今作では、オブジェクトのプロパティを変更アクションで加速移動のオン/オフを切り替えることができます。
ジャンプのアクションで加速移動をオフ
着地のアクションで加速移動をオン


と切り替える形ではいかがでしょうか?

1 Like

ありがとうございます。
私もアクツクMVの挙動を想定していたため、少々戸惑っております。

代替案をご提示いただきありがとうございます。
ただ、ジャンプ中(空中時)も慣性が効いた動きにしたいため、
加速移動が効いた状態でも、任意のタイミングで振り向けるようにできたらいいな、と考えております。

(前作では、加速移動中でも表示方向の変数に 90 or 270 を代入することで向きを指定できたと記憶していますが、今回はうまくいかず…)

1 Like

私もMVの挙動が良かったので、一票です(^^; それと、 Moonling様にお返事頂いてからずっと探してるんですが、Other Action Selection という画面がどうしても見つけられなくて・・。ビジュアルスクリプトの実行アクションの追加の、スイッチ/変数 のプロパディを変更・・ではないですよね?

あ、すいません英語版で貼ってしまっていました、スイッチ変数を変更であっています。
失礼しました

1 Like

あ、あってましたか。_normal_accel_moveという項目が見つからないので、ここではないと思っていました・・。1.0.5を触っていますが、項目が無くなったなんてことはあるのでしょうか・・。それにしても、いやはや、使いこなすのに相当時間がかかりそうです(^^;


該当タブのスクショです。スクロールした部分も右に貼っています。_normal_accel_moveという項目はないですよね? 別の所でチェックを入れたら、出てくるとかでしょうか? 今のバージョンは、1.0.6になっています。1.0.5でもありませんでした。

Kome様
「変更対象のノード名」には「MoveAndJumpSettings」が指定されていますでしょうか。
これで_normal_accel_moveが出てくると思います。

1 Like

suiran様
ありがとうございます、ありました♪ 変更対象のノード名は、一番上がオブジェクトの名と同じになっているので、ここは頂いた画像と違っていて当然と勝手に思い込んでいました(^^; しかし、やはりアクツクMVの加速移動の挙動が自然にみえたので、あんな風にして頂きたいですよねぇ。今のAGMの加速移動の挙動では、使いどころが無いような・・。アドバイスありがとうございました!

1 Like

教えて頂いた通りに作ってみたのですが、挙動が変わりません。色々試してみたところ、「右から左反転」ステートの「動作中の表示方向の変更を受け付けない」にチェックを入れると、望んだ通りの挙動になりました。このチェックの作用は、これであってるのでしょうか? 何度も申し訳ありません。

このチェックの作用はその名の通り、動作中に表示方向の変更がされなくなります。
デフォルトの設定では、移動方向と同じ方向を向くように自動でアニメーションの表示方向が変更されます。

1 Like

だとすると、やはりバグではないでしょうか。チェックを入れた時に、滑りながら反転していますので。あと、教えて頂けたVSを組んでコンソールに挙動出力しながら色々試しているのですが、反転歩行中にもう一度反転するとグラフィックが変わりません。なので、右→左反転から左→右反転に繋ぐリンクや、その逆も繋ぎましたが、反転してすぐ反転すると、ムーンウォーク状態になったりします。その辺は研究していこうと思いますが、上記のバグかもという挙動はチェック頂ければと思います。追伸 右→左反転 や 左→右反転 のステートだけ、動作中の表示方向の変更を受け付けない のチェックが逆になってる感じですね・・。

自分の手元では「動作中の表示方向の変更を受け付けない」にチェックなしで正常に動いていますのでなにかアニメーションの設定なのかで設定ミスがあるのかも・・・?

1 Like

そうなんですね、うーん、ではまた、色々試して見ます。お忙しいところありがとうございますm(__)m

取り急ぎ、私はチュートリアルのサンプルプレイヤーキャラクターの方で上記設定を試しました。

1 Like

私の方ではボーン等は使わないオリジナルのグラフィックを使っているせいかと思い、チュートリアルのサンプルプレイヤーキャラクターで上記VSを組んでみましたが、やはり状況は同じです。
「右から左反転」ステートと「左から右反転」ステートの「動作中の表示方向の変更を受け付けない」にチェックを入れた時に、希望通りの滑りながら反転します。しかし、反転してすぐ反転するとムーンウォーク状態になります。
ツール画面やゲーム画面での動作も見て頂こうと動画を録画しましたが、こちらではmp4のアップロードは出来ない様ですね。

「表示方向の変更を受け付けない」をチェックせずとも動作するはずですがいれないと動作しないでしょうか?
あ、すいません手元でもう一度試しましたが確かにこれだと動作しませんね。
ちょっとおまちください。