GodotEngineを使った3Dゲームの作り方メモです
Blockbenchからキャラをインポート・ワールド作成の記事はこちら
キャラ移動とカメラ操作の記事はこちら
キャラのモーションを再生する記事はこちら

今回はかんたんなステージを作る方法を紹介します



↓↓続きを読む↓↓ をご覧ください 
 
にほんブログ村 IT技術ブログ ゲーム開発へ

SG ツールを使ってみよう

はじめにワールドを作った時は
StaticBody3Dを使って作りましたが
レベルデザインに適したCSGツールというのがありますので使ってみましょう

MainノードにCSGCombiner3Dを追加します
pgp_790

次に、CSGCombiner3Dの子ノードに、好きな形を追加します。
ここではCSGBox3Dを追加しました
pgp_791

ステージにキューブが追加されました。
(見づらいので地面は非表示にしています)
キューブの面にある赤い丸をドラッグすると
サイズを変更することができます。
インスペクターから変更してもOK
pgp_792
マテリアルも設定しておきましょう。
AlbedoのTextureに石のテクスチャをドラッグします
(Materialに直接ドラッグしてもいけます)
pgp_794
テクスチャがびよーんと伸びてしまうので
UV1の「Triplanar」をオン
他のオブジェクトとテクスチャをなじませるために
「World Triplanar」もオンにします
pgp_795
マテリアルは保存しておいて使い回しができます。
マテリアルの横の🔽マークをクリックして「保存」をクリック
pgp_796

減算を使ってみよう

重なった部分を消すことで、くり抜きができます。
穴を開けたり、カベを作ったりすることができますのでやってみましょう。

まずはCSGBox3Dを選択し「Ctrl+C」でコピー「Ctrl+V」で貼り付けます。
するとCSGBox3Dの子ノードに新しいCSGBox3Dができました。
追加したほうのキューブは、少し小さくしておきましょう。
pgp_799
大きさの変更や移動のときは「スナップ」をオンにしておくと
1m単位で動かすことができます。

大きさを調節したら「Oparation」の項目を
「Subtraction」(減算)
にしましょう。
外側の石ブロックがくり抜かれて、カベのようになりましたね
pgp_800

Collisionをオンにしよう

今のままだとプレイヤーが突き抜けてしまうので、コライダーをつけましょう
CSGたちの親の「CSGCombiner3D」を選択し
「Use Collision」をオンに
します
pgp_801
再生してみると、ちゃんとプレイヤーが減算したところに入っています
pgp_802
カベの当たり判定もありますね!
キューブを1つ1つ並べていくと
それぞれにCollisionが必要でめんどくさかったですが
CSGを使うと親のCollisionをONにするだけでいいので楽ですね

いろんな形を使ってみよう

Box以外も使えるので試してみましょう。
CSGCombiner3Dを選択して「CSGPolygon3D」を追加します
pgp_803

見た目はキューブと変わりませんが
赤い丸をドラッグすると、点だけが移動して好きな形を作れます。
Depthから厚みの変更もできます。
pgp_804
さっき保存しておいたstone1.tresマテリアルを
インスペクターのMaterialにドラッグ
すれば、同じ見た目になります
pgp_806
厚みや位置を調節すれば
スロープの完成!
マテリアルで設定した「World Triplanar」がオンになっているので
ワクとスロープとのつなぎ目もスムーズになっていますね
pgp_805

CSGPolygon3Dは厚みを変えるモードのほかに
「Spin」モードがあります
スピンモードにすると、図形をくるっと回したような形にしてくれるので
木などのオブジェクトに使えます
pgp_807

木の幹には「Cylinder」(円柱)
岩などまるっこいものには「Sphere」(球)が使えますね

形を組み合わせたり減算したりして
色々なステージを作ってみてくださいね!
pgp_809