2026:01:26
文書の過去の版を表示しています。
1/26日記
その他
- 今日は休みだったので、書類書いたり自立支援医療の継続手続きしておいた。
- 今まで全部期限ギリギリでやっていたので、超余裕がある。
ゲーム開発
- イージングについて。
- ちょうど去年のゲーム開発イベント後の飲み会で某氏が移動差分を徐々に縮めていくことについて話していた。
- ただ、差分を変更する形式だと問題が一個あって。
- 移動差分を変更する場合、目標到達点までは満たない形で止まってしまうんだよね。
- なので、イージングの式を立てて最終到達点を明確にしたほうが制御はしやすくなるという。
- 以前自分でも調べたり他の人にも展開したり更に他の実装展開してもらってたんだけど、自分のゲームではその場しのぎでスクリプト上でイージングの式を適時立てて動かしていたのよね。(ボスの多関節とか)
- とは言うもののボスを中心に敵の配置等を考慮するとイージング積極的に使っていったほうがいいなあと思い始める。
- 何より動きにメリハリが付くので、実装しておいたほうがよさそう。(東方のボスとかもそういう動きしてるよね)
- それこそ自作フレームワーク用に改造してtからt+1フレームの差分を出力するようにすればどうにかなるはず。
- 一応絶対値座標も入れられるようにしてるけど、記述が似ているのもあってバグの温床になるんだよね・・・なので座標の絶対値入力は撤廃したいと思ってる。まずは使わないようにしたい。
- ボス座標とかで使うイージング関数に欲しい機能を書き出してみた。
- 2個XY座標間の移動についてイージングを採用したい
- ゲーム実装の関係上、座標そのものではなく差分を取得したい
- 引数はできるだけ少なくしたい。
- まずVector2は考慮せず、単純に2値のみを比較してその差分を取得するようにしておく。
- 割合差分をtとすると、0⇐t<1としておく必要があり、1ではストップする必要がある。
- 移動フレームについても整数値を入力して対応できるようにしたい。
- となると、アクセスは「ease_delta(frame,frame_max, v1,v2)」って式を立てる感じでよさそう。
- これで関数はイージングの機能別で名前つければ楽だと思う。C#で実装する場合、簡単にクラスからのアクセスできるようにしておこう。
- とは言うものの、座標の丸め誤差も考慮すると完全にはいかないのが悩み。
- なので、frame_max-1を入力された場合、v2-ease_delta(frame_max-1, frame_max, v1,v2)を出力にする、みたいな処理が必要になる。
- 追加するとframe=frame_maxの場合差分を0にするほうがいいな。
- 上記を作るとなると、自作しないとダメだなってなる。まぁ時間はかからないので他作業がてらでもできそう。
音楽
- Audacityで文字起こしができるとして調査してた。
- 結論、そもそもメニューが出てこない。設定がダメにしても手がかりがなさすぎる・・・orz
2026/01/26.1769455701.txt.gz · 最終更新: 2026/01/27 04:28 by machiaworx