本日は8時起き成功
朝ご飯を食べてなお一限に間に合う時間に起きられるなんていつ振りだろう。
今日も早く寝て早く起きよう。
昨日はやっとプッシャー機の形を作る作業をはじめられた。
unityで3Dゲームを作ったことが無かったので、画面操作やらなにやらで手こずったが何とかしてフィールドを作ることができた。
台が前後に動くスクリプトを書いて、ポテトをぶちまけいざ実行!
なんかポテト同士が絡まってモルボルみたいになっていた
一度上の台から落ちたと思ってもポテト同士が絡まっているため、台の上のポテトに引っ張られ帰っていく。
また、ポテトが落ちる時も少しずつポロポロ落ちるので無く、たまに塊がごっそり落ちていくようになっていた。これは、今回のゲームの趣旨と合わないので修正する必要がある。
ポテトの横幅が短いせいで1本のポテトであまり押すことができないことも気になったので、とりあえず横幅をぶっとくしてみよう
ちゃんとポロポロ落ちてる!!
見た目は某チキン屋さんのポテトみたいになったが、これはこれで既存のポテトプッシャーと差別化できていて(?)良いということにしておこう。
作っていて気が付いたが、私は物理シミュレーションを使ったゲームを作ったことが無かった。
今まで作ってきたゲームはオブジェクトをすべてスクリプトから動かしていたので、条件を調整していくことで求めている動きを再現する作業には新鮮な楽しさを感じた。
大体完成!と思ったが、一つ問題がある。
上の台に乗っているポテトがプッシャーの上でツルツル滑り、プッシャーに追従した動きをしていないのだ。
ファイナル〇ードで見たやつ!例の床はこうやってできてたんだ!!
ゲームを作っていると壁をすり抜けたり、あり得ない速度で画面外に吹っ飛んだりするバグが良く発生する。今回の事例もそうだ。
これを放置するとRTAとかバグ動画で見たあれやこれやになるんだろうな~
と、限りなくしょうもない感動をするのがゲーム制作をしていて少し楽しいところだ
話を戻してポテトがプッシャーの上で滑らないようにする。
まずは物理シミュレーションに摩擦を追加することで解決を図った。
しかし、結果は気持ちいほどにツルッツルのまま。
あまり摩擦は意味を成してなさそうだ。
次に考えたのは、オブジェクトの親子関係を使って移動させる方法。
これをするには、スクリプトから親オブジェクトを移動させるのでは駄目らしい。
ということで、プッシャーの移動をアニメーションを使った移動にした。
プッシャーの上のポテトはプッシャーの子オブジェクトに、それ以外は関係ないオブジェクトの子オブジェクトにする処理を書いて実行
無事プッシャーの上にあるポテトがプッシャーの動きに追従するようになった。
今日はポテトの射出、循環させる機構、できそうならちゃんとしたフィールドも作っていきたい