プログラミングしたことない人がゲームを作ってみる備忘録

プログラミング経験ゼロから頑張っています。

Unityチュートリアル「はじめてのUnity」のブロック崩しと同等をC#で::(3)動くボール をやってみた②

さて前回設置したボールを動くようにします。

f:id:gardenlove:20180606201446p:plain
Inspecterの下のほうにある、Add Component を押します。

f:id:gardenlove:20180606201600p:plain
なんか色々出てきますが、一番下のほうの、New Scriptを選択。

f:id:gardenlove:20180606201642p:plain
名前をBallとし、Create and Addを押します。

f:id:gardenlove:20180606201800p:plain
すると、できました!
少し前に、壁のマテリアルを作ったところに、何かが!
さてこれは、少し前に、少しかじったC#です。
さっそくダブルクリックすると、Visual Studioが立ち上がりました。これ、立ち上がるの少し時間かかるのよねえ。
f:id:gardenlove:20180606202223p:plain
立ち上がった画面はこんな感じです。
すでに何かが書いてあります。相変わらずさっぱり分かりませんが、とりあえずやってみます。

f:id:gardenlove:20180612002526p:plain
とりあえず言われるがまま丸写しです。
しかし、意味はさっぱり分かりません。解説がついていたので読んでみます。

f:id:gardenlove:20180612002700p:plain
あれ?日本語なのに頭に入ってこない…。
こまけえことはいいか!

さて保存して動かしてみます。
上の再生ボタンをぽちりとすると、
f:id:gardenlove:20180612003131p:plain
ボールが勢いよく右上へ射出され、その後慣性で上へゆっくりと動きました。
おお、説明にあった通りの動きだ!

ここで、カメラのアングルを変えました。上から見下ろしている感じにしました。
f:id:gardenlove:20180612003707p:plain
これらの数字、どこをどういじれば希望のカメラワークになるのかまだよくわからないので、説明にあるとおりにしました。

さてボールに戻りますが、先ほど右上に勢いよく射出されたボールは、壁に当たると失速しました。ブロック崩しのボールは、空気抵抗や摩擦は必要ないでしょう。
ということで、設定をいじります。

f:id:gardenlove:20180612004350p:plain
空気抵抗である、DragとAngular Dragの値を0にしました。
軸を固定するためにConstraintsのFreezePositionのyにチェック、FreezeRotationのXYZにチェックを入れました。ボールの移動範囲をXZ軸に固定するためです。(と偉そうに言っていますが、ほぼ意味は分かっていません…)

そうして再生をしたら、右上に射出されたボールは失速することなく上へ転がり、上の壁に当たって止まりました。

壁に当たったら跳ね返ってほしいので、以下の作業をします。
f:id:gardenlove:20180612010002p:plain
Criateから、PhysicsMaterialを選択。

f:id:gardenlove:20180612010011p:plain
すると、ゴルフっぽいアイコンが新しくできました!

f:id:gardenlove:20180612144258p:plain
これをこんな感じに設定します。

f:id:gardenlove:20180612010028p:plain
次はBall側のInspecterの設定。

f:id:gardenlove:20180612010031p:plain
そして、ここにさっき設定したゴルフっぽいアイコンをぽいっと。

これで、壁にあったったら跳ね返るはずです!
再生ボタンを押してみます。
f:id:gardenlove:20180612144541p:plain
むふー!!いい感じに跳ね返っております!

今日はこのあたりで。