XaiJu
zerobyteorbit
zerobyteorbit

fantia


抱え上げ

前回の記事の抱え上げを実装してみました。 キャラのモーション同期をとってないのですこし動きがズレますが・・ 厳密にやるか、IKを設定して手を固定する必要がありますが、そこまでやるかは未定。IKで正しく動かすには結局モーションを厳密にやるのとそれほど労力がかわらないんですよね・・・。どっちも大変。このモーションでは問題なくても、別のモーションではIKが暴れたりとかなりしんどい。 発動させるにはサラに接近してEキー。 〇インタラクト判定 ゲームエンジンでのインタラクト機能の見直しタイミングでした。現状看板と扉とサラにインタラクト判定があるのですが、同時に複数のインタラクト可能な状態になると表示がバグったり等してどう整理したもんかな・・・という感じで。 ゲームによって同時に複数のインタラクト判定がある場合に複数キーに割り振りされるものもありますね。個人的にはワンテンポ操作が止まるので若干感覚的じゃないなと思いますが。 〇大変だったポイント キャラクターのコリジョン(当たり判定)は物理エンジンに任せているわけですが、このようにキャラクターを密着させる場合、そのコリジョンを一度消さないといけないのですが、それを行うタイミングが難しい感じ。 何度もこの抱え上げられているポーズのままコリジョンに弾き飛ばされて虚空を飛んでいくという状態に。 この当たり判定関連の整理も課題。 〇最適化 今回フレーム処理の経過時間をデバッグ表示させていますが、おそらくほかの環境でも"Draw"の部分は"Update"より数字が大きいかと思います。 この"Draw"は実際の描画処理をしているというよりは「何を描画するかを決め」、「GPUに描画命令を送っている」という処理時間になります。実際にGPUが描画処理を行うのは"Present&Sync"の処理時間で、ここは60FPS同期のための待ち時間も含まれているので現段階では正確ではありません。 この処理のうち、少なくとも「何を描画するか」を決定する処理がクソ重いと思われます。 重すぎです。 なにかゲームエンジンを触っている人ならわかると思いますが、マップ上のものを描画する際にFrustum CullingまたはOcclusion Cullingするかが高速化のカギになっていることが分かるとおもいます。 簡単に説明すると視界に入ってないオブジェクトをいかに描画しないかを判定する処理です。 現状ではFrustum Cullingを使用していますが、そのアルゴリズムがヘナチョコでクソ重いという現状だと思われるので、目標値としては現在の半分の時間を目指して最適化しようと思います。月の中頃まで。 目標値を達成できてもできなくてもその後に本筋に戻ります。少なくとも見直して最適化すれば現状よりは良くなります。 〇抱え上げ しーしースタイルともいえるこの体位はまさに従者にシモの世話をさせるというお嬢様スタイルと言えるでしょう。ロマン。 〇追記 まだゼリースライムやヘルミンス戻り処理にバグがあるっぽいので修正。入り口で止まることがある様子。 調べると単純に止まっているのではなく、特定のパーツが瞬間的に穴の位置にワープするという以前修正したはずの問題がまだ残っているという感じでした。 わけわからんけれど修正したアップデートもアップロードします。 この問題は結構根が深いかもしれない。

抱え上げ

More Creators