ゲーム「ワガハイ式ビリヤード」 制作手順1-2

ゲームの設計を考えよう ~物理特性の設定、補助オブジェクトの追加~

前回に引き続き、「ワガハイ式ビリヤード」のゲーム制作ページになります。前回で、ゲームに必要なオブジェクトの作成・配置は一通り完了しました。今回は物理特性の設定や、ゲーム上、あると便利な補助オブジェクトを追加していきます!

物理特性の設定

今回のゲームは、これまでのワガハイ式ゲームとは異なり、物理的な挙動を用いたゲームになっています。よって、物体の質量、空気抵抗、摩擦力、跳ね返り係数、…など物理的な特性値を設定する必要があります。その辺りを順番に設定していきましょう!

注1:今から紹介する設定値については、今回のワガハイ式ビリヤードで設定した値であり、決して現実に即した値でありません(極力現実っぽくしようと心がけましたが…)。あくまで、参考値?として下さい。m(_ _)m

注2:本ブログでは説明順の都合上、スクリプトを書く前にこれらの値を紹介していますが、実際の制作過程においては、これらの値はスクリプトを一通り書いた後、ゲーム完成直前に決定しました(それまでは暫定値を入れてました)。ゲームを一通り完成しないと、どれ位の値が良いのか分かりづらいと思いますので、皆様が同様のゲームを制作される際も、(明らかな場合を除き、)物理的な特性値は基本最後に決めることをオススメします。

ビリヤード球rigidbodyまず、手球・数球のRigidbody関連の設定ですが、右図のように統一しました。簡単に中身を解説しますと…

・Mass:質量(1)

・Drag:(真っ直ぐ進む際の)空気抵抗(0.6)

・Angular Drag:(回転に対する)空気抵抗(0.3)

・Use Gravity:重力に影響される or されない(今回は重力無し)

・Constraints:拘束成分(今回はZ方向には進まない)

これを見て違和感を持たれた方はなかなかカンが鋭いですが、実は今回のビリヤードでは重力を入れてません。よって、決して球が地面上にあって地面との摩擦で止まる訳では無く球は空間内のとある平面内(今回はZ=0平面内)にムリヤリ拘束され、その平面内で自由に移動し、空気抵抗により止まるゲームになっています。この時点で現実と違うやん…(笑)。

参考で、下に比較動画を載せました。空気抵抗なしだといつまでたっても球が止まりませんし、これは流石に非現実的ですね…。

<空気抵抗Drag=0場合>

ビリヤード空気抵抗なし

<空気抵抗Drag=0.6場合>

ビリヤード空気抵抗あり

ビリヤード球physicsmaterial次に摩擦係数・跳ね返り係数の設定になります。これらの値は右のようなPhysics Materialで設定し、手球・数球に適用しました。

・Dynamic Friction:動摩擦係数(0)

・Static Friction:静止摩擦係数(0)

・Bounciness:跳ね返り係数(1)

ざっくり言いますと、まず摩擦力は、球が他の球や、壁と跳ね返る際に作用します。摩擦力が大きいと、跳ね返りの時に球は止まりやすくなります。今回は0なので、跳ね返りの際には摩擦はかからない=減速しない、という状況です。

次に、

・跳ね返り係数0=球が、他の球や壁と当たると、全然跳ね返らない

・跳ね返り係数1=球が、他の球や壁と当たると、失速せずに、そのままの速度で跳ね返る

間の値を取ると、これらの中間(ちょっと速度が落ちて跳ね返る)になります。今回はあまり当たっても失速してほしくなかったので、1にしました。

こちらも、参考で、下に比較動画を載せました。摩擦が大きく、跳ね返り係数が小さいと、球が当たった後、めっちゃ失速するので、全然球が散らばっていないのをご理解頂けると思います。まぁ、多少散らばった方がゲームとしては面白いですから、今回は上のような設定にしました。

<摩擦係数=100、跳ね返り係数=0.5場合>

ビリヤード摩擦大、弾性係数小

<摩擦係数=0、跳ね返り係数=1場合>(上の<空気抵抗Drag=0.6場合>と同じ動画)

ビリヤード空気抵抗あり

補助オブジェクトの追加

次に、現実のビリヤードには無いですが、ゲームとしては、あると便利な補助オブジェクトを幾つか追加していきます。この辺りは各々のゲーム制作の工夫ポイントになると思います。ゲーム上、決して必須なものではないですが、制作したゲームより分かり易く、より楽しく、より操作し易いゲームとなるよう、どんどん工夫していきましょう!!

上矢印(↑)オブジェクト

ビリヤード 上矢印ゲームのページ内の操作方法の欄にも書いてありますが、自分のターン時には1.パワー、2.方向、3.手球位置 を調節出来ます。そして、調整項目の変更は左右Shiftキー、各項目の微調整は、全て矢印キーで行います。よって、当たり前の話ですが、今自分がどの項目を調整しているか、パッと見で分かり易くしておかないと不便ですよね。そこのフォローを、今回は上図のような上矢印君にお願いしました(画像は:やじるし素材天国「矢印デザイン」 様より頂きましたm(_ _)m)。少々原始的な方法ですが、それでも大切なオブジェクトだと思います。

赤○強調表示オブジェクト

ビリヤード 赤丸次は赤○強調表示君の紹介です。こんなんどこで使われてる!?と思ったかもしれませんが、右図のように、次に当てるべき数球を台上で強調表示するために使っています。右上にNext球は出してありますし、あまり存在感の無い感じではありますが、これによって、Next球がどこにあるかをパッと見で分かるようにしてあります。些細なことですが、ゲームを少しでもスムーズに進められるようにするための工夫策になっています。ちなみに、制作は、いつものMicrosoft PowerPoint Presentationです。

手球の飛ぶ方向を示す黄色オブジェクトビリヤード 黄色棒

前回、「Cylinder」とか「Sphere」の3Dオブジェクトを組み合わせてキューを作成しましたが、実はこのセットにはもう一つ、黄色い「Cylinder」オブジェクトが付いています。右図中矢印で示してある奴です。これにより、今のキューの角度でどの方向に手球が飛んでいくかをヒント的に表示してあります。これも、ゲームを少しでもスムーズに進められるようにするための工夫策です。小さいオブジェクトですが、あるのと無いのとでは結構調節の難易度は変わると思います。

以上で、オブジェクトの配置や各種設定は決まりましたので、次回からスクリプトを実際に書いていきます!次回もよろしくお願いします!!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする