~物理特性の設定、補助オブジェクトの追加~前回に引き続き、「ワガハイ式ビリヤード」のゲーム制作ページになります。前回で、ゲームに必要なオブジェクトの作成・配置は一通り完了しました。今回のゲームは、これまでのワガハイ式ゲームとは異なり、物理的な挙動を用いたゲームになっています。返り係数、...など物理的な特性値を設定する必要があります。その辺りを順番に設定していきましょう!注1:今から紹介する設定値については、今回のワガハイ式ビリヤードで設定した値であり、決して現実に即した値でありません(極力現実っぽくしようと心がけましたが...)。参考値?として下さい。_)m注2:本ブログでは説明順の都合上、スクリプトを書く前にこれらの値を紹介していますが、実際の制作過程においては、これらの値はスクリプトを一通り書いた後、ゲーム完成直前に決定しました(それまでは暫定値を入れてました)。ゲームを一通り完成しないと、どれ位の値が良いのか分かりづらいと思いますので、皆様が同様のゲームを制作される際も、(明らかな場合を除き、)物理的な特性値は基本最後に決めることをオススメします。手球・数球のRigidbody関連の設定ですが、右図のように統一しました。されない(今回は重力無し)・Constraints:拘束成分(今回はZ方向には進まない)これを見て違和感を持たれた方はなかなかカンが鋭いですが、実は今回のビリヤードでは重力を入れてません。よって、決して球が地面上にあって地面との摩擦で止まる訳では無く、球は空間内のとある平面内(今回はZ=0平面内)にムリヤリ拘束され、その平面内で自由に移動し、空気抵抗により止まるゲームになっています。この時点で現実と違うやん...(笑)。参考で、下に比較動画を載せました。空気抵抗なしだといつまでたっても球が止まりませんし、これは流石に非現実的ですね...。<空気抵抗Drag=0場合><空気抵抗Drag=0.6場合>次に摩擦係数・跳ね返り係数の設定になります。Materialで設定し、手球・数球に適用しました。Friction:静止摩擦係数(0)・Bounciness:跳ね返り係数(1)ざっくり言いますと、まず摩擦力は、球が他の球や、壁と跳ね返る際に作用します。摩擦力が大きいと、跳ね返りの時に球は止まりやすくなります。今回は0なので、跳ね返りの際には摩擦はかからない=減速しない、という状況です。・跳ね返り係数0=球が、他の球や壁と当たると、全然跳ね返らない・跳ね返り係数1=球が、他の球や壁と当たると、失速せずに、そのままの速度で跳ね返る間の値を取ると、これらの中間(ちょっと速度が落ちて跳ね返る)になります。今回はあまり当たっても失速してほしくなかったので、1にしました。こちらも、参考で、下に比較動画を載せました。摩擦が大きく、跳ね返り係数が小さいと、球が当たった後、めっちゃ失速するので、全然球が散らばっていないのをご理解頂けると思います。多少散らばった方がゲームとしては面白いですから、今回は上のような設定にしました。次に、現実のビリヤードには無いですが、ゲームとしては、あると便利な補助オブジェクトを幾つか追加していきます。この辺りは各々のゲーム制作の工夫ポイントになると思います。調整項目の変更は左右Shiftキー、各項目の微調整は、全て矢印キーで行います。よって、当たり前の話ですが、今自分がどの項目を調整しているか、パッと見で分かり易くしておかないと不便ですよね。少々原始的な方法ですが、それでも大切なオブジェクトだと思います。赤○強調表示オブジェクト次は赤○強調表示君の紹介です。こんなんどこで使われてる!?と思ったかもしれませんが、右図のように、次に当てるべき数球を台上で強調表示するために使っています。右上にNext球は出してありますし、あまり存在感の無い感じではありますが、これによって、Next球がどこにあるかをパッと見で分かるようにしてあります。些細なことですが、ゲームを少しでもスムーズに進められるようにするための工夫策になっています。Presentationです。手球の飛ぶ方向を示す黄色オブジェクト前回、「Cylinder」とか「Sphere」の3Dオブジェクトを組み合わせてキューを作成しましたが、実はこのセットにはもう一つ、黄色い「Cylinder」オブジェクトが付いています。右図中矢印で示してある奴です。これにより、今のキューの角度でどの方向に手球が飛んでいくかをヒント的に表示してあります。これも、ゲームを少しでもスムーズに進められるようにするための工夫策です。小さいオブジェクトですが、あるのと無いのとでは結構調節の難易度は変わると思います。このページでも前回に引き続き、ぷよセットオブジェクト(親)に付けるスクリプトを記述していきます。前回に引き続き、「ワガハイ式7ならべ」のゲーム制作ページになります。このページでは、前回に引き続き、ゲームの監督スクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。このページでは、ゲームの監督スクリプトを記述していきます。このページでは、前回に引き続き、ゲームの監督スクリプトを記述していきます。コメントをキャンセルメールアドレスが公開されることはありません。Unityゲーム制作日記.。