こんばんは、
何気に物理演算を始めて使った ちきなるです。
正確に言うと、がっつり重力を使ったのが初めてです。
意外と、ジャンプが難しい。なんかピッタリハマらないんですよね。難しい。
初めは、transform.Translateで上方向に移動させたんですが、なんか変な動きになりました。
※地面からの離着陸の判定がおかしくなりました。
ならば AddForce でふっとばしてみたら、ふわふわするんですよね。
試しに Velocity を使ってみたら、うまく処理できませんでした。
※上手い動かし方がわかりませんでした。
結局 AddForceでふっとばすことにしました。
とりあえず、プレイヤーキャラクターの動きが出来たので、後は障害物となるギミックを作ると、ほぼ完成です。
※ちなみに、Unity 1週間ゲームジャムの投稿作品のことです。
プレイヤーキャラです。初めは、もう少し濃い色にしていたんですが、背景と合わせたら汚かったので、ライトな色にしてみました。
※久々に画像を付けた気がする。
おまけ
transform.Translate:現在の位置から移動したい値を与えると値分移動する。x方向に1移動したいときは、transform.Translate(new Vector3(1, 0, 0))
velocity:オブジェクトに速度を与える。簡単に言うと、与えた値の速度ですぐに動き出す。
AddForce:オブジェクトに衝撃を与えるように移動させる。簡単に言うと、手で押す感じ。
※ForceMode2D.Impulseを使うとガツンと押してくれます。つまりすぐに動き出します。3Dの時は、ForceMode.Impulse
※ちなみに、AddForce(Vector3, ForceMode2D.Impulse)
※下の2つは、Rigidbodyで使えます。GetComponent<Rigidbody>()で使えます。2Dの場合は、GetComponent<Rigidbody2D>()です。
たまには、まじめに書いてみました。
コメント