n1to12
(n1to12)
1
質問の簡潔な内容は
「螺旋階段を自動で登らせる方法を知りたい」です。
用途としましては、
今、螺旋階段をのぼりながら障害物を避けるEndlessRun系のゲームを作ろうと思案しているのですが
「キャラクターを一定の円運動をさせながら階段を上り、左右の入力やジャンプ、スライディングで障害物を避ける」
という機能を実装するのに困っています。
基本的なEndlessRunの解説動画などは参照しているのでほかの部分は問題がないのですが、周回移動でどうしても躓いてしまいます。
直接的な解決でなくてもいいので、参考になる文献や、基本的な考え方などを教えていただけると助かります。
LunaNelis
(ネリスさんMain)
2
一定の形に沿うように動かすのであれば、スプラインに沿って歩かせるというのはどうでしょうか?
https://historia.co.jp/archives/4290/
https://historia.co.jp/archives/2424/
多少改変は必要だと思いますが、移動速度をスプラインに渡すことでプレイヤーを円形に動かすことも可能だと思います。
LunaNelis
(ネリスさんMain)
3
試しに実装してみたのがこちらになります。
この動作で問題ないようであれば、[UE4] スプライン移動をコンポーネント化する|株式会社ヒストリア
の内容で円形のループ構造を作ることで実現可能となるはずです。
また、スプラインを使わない解決策ですが、背景をネジのように回し、プレイヤーは動かさないという方法があります。(アニメーションとジャンプ、スライディングのモーションだけを行う)
エンドレスランのゲームであれば、こちらのほうが適している可能性があります。
(無限に高く登っていった場合、座標がブレはじめてバグる要因となるため)
n1to12
(n1to12)
4
詳細かつ分かりやすい回答ありがとうございます!かなり自分のイメージに近いので頑張って実装してみようと思います。(当方初心者なので時間がかかるかと思います…)
本当に助かりました!別視点での解決策でとても感動しました。重ねてありがとうございます!!
LunaNelis
(ネリスさんMain)
5
もし解決済みの場合であれば以下の解決に沿って解決済みにしていただきたいです。
Answerhub クイックスタートヘルプ日本語訳: Answerhub クイックスタートヘルプ日本語訳 - AnswerHub - Unreal Engine Forums
よろしくお願いします。