fc2ブログ

UE5のEnhancedInputでGameパッドのスティクを使う場合の注意

emotionサイトトップ >UE(アンリアルエンジン)備忘録
emotionサイトトップ > UE(アンリアルエンジン)備忘録 >UE5のEnhancedInputでGameパッドのスティクを使う場合の注意

UE5のEnhancedInputでGameパッドのスティクを使う場合の注意点。
サイドブレーキとクラッチでアナログ入力のテストをしたくて、
スティックを下方向へ倒した時だけ使いたかったので、オプション設定したら泥沼になったのでメモ。

結論から言うと、
まずCurve Floatを作成し、0.5(0) -> 1(1)のグラフを作成する。
0.5を0に変換する理由は、スティックが中央にある場合の値が0.5の為、0.5を中心に変動するようになっているので変換する為のCurveFloatが必要。
UE5_EInputLeftStick1.jpg

Modifiersで Response CUrve - User Definedに設定し、先程作成グラフをResponesXに設定する。(ResponesYでは無いので要注意)
UE5_EInputLeftStick1.jpg

ここで注意しなければならないので、TriggersでDown指定すると0.5以下の生入力がカットされてしまうので上手く動作しなくなります(上手のClutchは失敗例)。
あと左スティックは右スティックと上下反転した値が入力されるので、ModifiersでNegateを追加して反転させる必要があります。

これでサイドブレーキとクラッチとフットブレーキとアクセルのアナログ入力のテストが出来るようになりました。
UE5_EInputLeftStick1.jpg
こういう簡易的なゲージはUMGでも簡単に実装出来るのに。

市販ゲームではサイドブレーキを引くと無条件に100%リヤタイヤがロックしますが、実際はリヤ荷重の時にサイドブレーキを引いてもロックしません。低μ路面やスタッドレスタイヤならロックしますが、ハイグリップタイヤでリヤ荷重の時はサイドブレーキだけの制動力ではタイヤをロックさせる事が出来ません。
そういう所にもこだわりたい。

頭文字Dのようなアーケードゲームしかやった事が無い人間がプレイしたら、確実に1コーナーで刺さって走行不可能になるようにしたいw
現実の厳しさを教えてあげたいw
現実の車はハンドルを切っただけじゃ曲がらないんだぞ!っと教えてあげたい。
フロント荷重の時にサイドブレーキを引かないとリヤタイヤはロックしないんだぞ!と教えてあげたい。

UE5.3はプチフリーズします

emotionサイトトップ >UE(アンリアルエンジン)備忘録

UE5.2が色々と小バグがあって不安定だったのでUE5.3を使用しているのですが、
UE5.3はこっちはこっちでプチフリーズが発生します。

XBOX ONEもプチフリーズ連発で、シリコンパワーのSSDが原因だったのかOSの再インストールで解消されたのか分かりませんが、
UE5とプロジェクトを保存しているストレージがシリコンパワーのNVMeだったので、もしかして・・・
と思ってサムスンのSSDへ移行したものの、プチフリーズ現象は変わらず発生。

そろそろ安定したエディターをリリースして下さい。
プチフリーズからそのままクラッシュして、小一時間分前のデータに戻されたりシンドいわ。

でも5.2で関数入力に変数配列を設定すると、呼び出し元で必ず入力ピンを接続しないとコンパイルエラーになる謎仕様だったのが、5.3では解消されていました。

ようやくサスペンションの基本部分が出来た

emotionサイトトップ >UE(アンリアルエンジン)備忘録
emotionサイトトップ > UE(アンリアルエンジン)備忘録 >ようやくサスペンションの基本部分が出来た

UE5Car20231023.jpg
ようやくサスペンションの基本部分が出来ました。
結局PhysicsConstraitとAddForceの両方を駆使して、状況によってどちらかの使用するかの比率を計算してリニアにブレンドさせる事でいい感じになりました。
あとPhysicsConstraitのスプリングレート問題は、理論値を計算するのが難し過ぎたので、セッティングを変えたら実測して補正値を算出させて調整するようにしました。

スプリングレートを変えても、バネ上重量を変えても理論値通りの動作になりました。
それからサスペンションが安定する位置での荒ぶる挙動も解消されました。
ただフレームレートが60FPS以上じゃないと挙動が怪しくなります。
理由は低FPSでΔタイムでのサスペンションの変化量が増加してしまって、スプリングの反発力やダンパーの減衰力の演算結果の精度がおかしくなってしまう。
なので15FPS固定で動作チェックすると静止せずに荒ぶる事があるので、いくら調整しても静止しなかったのはフレームレートの問題だったというオチも・・・

それからダンパーの伸び縮みの両方で減衰調整出来るようにして、ダンパー特性グラフも採用してダンパーの変化量に応じて減衰力の変化するように調整。
スプリングもスプリング特性グラフを採用して荷重0時の変化も追加。
ようやく基本部分が出来上がりました。
サスペンション部分だけでこれだけ時間がかかるって・・・先が思いやられるw

これからタイヤのたわみとか色々と追加しなければならないけど、
それは一通り車としての動作が出来るようになってから。
ずっとサスペンションの調整ばかりをやっていたから、いい加減車を動かしたいw

でも難しいのはサスペンション部分だけなので、ここから遅れを取り戻せる筈。
株取引も前場で終わらせて、後場は別PCで監視させて引けてから結果を見て注文を入れるようにしたので、
お昼からUE5を起動して作業時間を確保。
PM12:00からAM2:00までの会社員だったら完全にブラック労働w
と言っても会社員だった時もAM2:00まで会社で作業して、それから持ち帰り残業して朝まで仕事していたから、会社員だった頃よりは相対的に楽。
それに通勤時間という無駄な時間も無いし、他人に足を引っ張られる事も無いから精神的に何十倍も楽。


PhysicsConstraitのVelocityTargetオフセットには要注意

emotionサイトトップ >UE(アンリアルエンジン)備忘録
emotionサイトトップ > UE(アンリアルエンジン)備忘録 >PhysicsConstraitのVelocityTargetオフセットには要注意

PhysicsConstraitを使用すると中心から振れるので端っこをスタート地点にしたい場合は
UE5PC20231023.jpg
PositionTargetでオフセット設定する必要があります。
ちなみに一切記載がありませんが、BPで設定するとVectorパラメータになっているので、左からXYZ軸の設定です。
一番右にチェックを入れて-50という事は、Z軸方向へ-50cmオフセットする事になります。
振れ幅を100cm設定にしている場合は半分の50cmオフセットする事で、一切力が加わっていない時に端っこへ戻るようになります。

ただVelocityTargetが厄介で仕組みが良く分かりませんでした。
減衰位置の設定かと思ったのですが、これをオフセットさせると暴走して荒ぶってしまいますw
静止するべき位置に到達した瞬間にカオスになって上空へ射出されます。
あのGTA5で門に挟まれて時に上空へふっ飛ばされるあの現象が発生しますw

物理演算って何かのきっかけで演算値が極端になって吹っ飛ぶので怖いですよねw

もしかしてクソマジメに作っていない?

emotionサイトトップ >UE(アンリアルエンジン)備忘録
emotionサイトトップ > UE(アンリアルエンジン)備忘録 >もしかしてクソマジメに作っていない?

グランツーリスモやForzaもそうだけど、車高のセッティングを決め打ちで変更出来る。
全長調整式の車高調でもスプリングを変えれば車高が変わってしまうから、スプリング変更によって変わってしまった分はダンパーの全長調整して車高を調整しなければならない。
でも車高を決め打ちで変更したら、スプリングレートを変えようが何しようが、車高は変わらない。
自動で全長調整していると言われればそれまでだけど、もしかして足回りのプログラミングはクソ真面目に作られていない?
クソ真面目に物理計算をして組み込むとどうしても荒ぶってしまって沼ってしまって、サスペンションの部分だけで大幅に時間を費やしてしまってしまう。
いや、逆に大手メーカーがそういう感じで作っているなら、インディーらしくクソ真面目に作った方が差別化出来て良いのか?
ただ、どうしても荒ぶってしまう部分だけは物理計算度外視で挙動を抑え込む必要があるけど。

というか未だにアサシンクリードオデッセイとFF15をクリア出来ていない。
やってる暇が無い。
FF15に関してはXBOX ONEのSSD交換してからインストールすらしていない。
容量が大き過ぎて500GB(実際に使用出来るのは370GB程)のストレージではインストールする事すら厳しい。
アサシンクリードをクリアしたらアサクリをアンイストールしてFF15をインストール・・・でもFF15はオープンワールドの移動がダル過ぎてやる気がおきないw

スポンサーリンク
カテゴリ
OS (5)
Web (7)
CPU (20)
GPU (38)
GA2 (2)
GTA5 (18)
リンク
Unreal Engine
UE4_logo.png

無料化したゲームエンジンです。ミドルレンジクラスのGPUが必須ですが、GTX750Tiでも軽快に動作します。
ueHow
unityHow
Steam
steam.png
Valve Corporationが運営しているプラットフォームで、PCゲームをダウンロード購入出来ます。 不定期ながらだいたい四半期毎と10月の米国感謝祭と年末に大幅割引セールが行われるので、セール中に購入するのがおススメ。
RSSリンクの表示


スポンサーリンク