2024/12/28(土) [n年前の日記]
#1 [godot][blender][cg_tools] ゲーム用の木の3DCGモデルの作り方を勉強中その2
_昨日
に続き、Windows10 x64 22H2 + Godot Engine 4.3 64bit でゴルフゲームっぽいものが作れないものかなと試してる。
ゲーム用の木のモデルデータの作り方を勉強中。
昨日もメモしたけど、矩形ポリゴンを120度ずつ配置するタイプだと、以下のようになってしまってよろしくない…。各ポリゴンの明るさが、ポリゴンと光源ベクトルの角度によって変わるので、ポリゴンの境界がはっきり分かってしまう。
Godot Engine側でマテリアル設定を弄って、ポリゴンの陰影無しを設定してみると、以下のようになる。ポリゴンの境界は分かりづらくなったけど、ベタっとした感じになって、なんだかこれもちょっと今一つ…。
頑張って、ローポリの木のモデルを作って配置してみた。
これならなんとかなりそうな気配がしてきたけど、現状ではモデルの見た目がダサい。もっとそれらしい形をモデリングする術を身に着けないと…。
ゲーム用の木のモデルデータの作り方を勉強中。
昨日もメモしたけど、矩形ポリゴンを120度ずつ配置するタイプだと、以下のようになってしまってよろしくない…。各ポリゴンの明るさが、ポリゴンと光源ベクトルの角度によって変わるので、ポリゴンの境界がはっきり分かってしまう。
Godot Engine側でマテリアル設定を弄って、ポリゴンの陰影無しを設定してみると、以下のようになる。ポリゴンの境界は分かりづらくなったけど、ベタっとした感じになって、なんだかこれもちょっと今一つ…。
頑張って、ローポリの木のモデルを作って配置してみた。
これならなんとかなりそうな気配がしてきたけど、現状ではモデルの見た目がダサい。もっとそれらしい形をモデリングする術を身に着けないと…。
◎ ビルボードも試した :
遠景についてはビルボードでいいんじゃないかと試してみたけど、結構ハマった。
blender上で、ビルボードを配置したい場所に板ポリゴンしか持ってないオブジェクトをリンク複製(Alt+D)でどんどん置いて、Wavefront形式(.obj)でエクスポートして…。Godot Engineで.objを読み込んでから、マテリアル設定だけは Godot Engine側で指定して、その際Billboardを有効(Billboard → Mode → Y-Billboard) にしてみたのだけど…。
各ポリゴンが (0, 0, 0) を原点として回転してしまうようで、全ポリゴンが明後日の場所に移動して、とんでもない見た目になってしまった。blender上では各ポリゴン(オブジェクト)の根元に原点を設定してあるのだけど…。.obj経由ではそういった情報は無くなってしまうらしい。どうしたもんか。
いっそ Godot側で Sprite3D を作成して、複製してチマチマ配置してしまおうか…。blender上でも、結局はポリゴン1枚1枚の位置や角度を微調整して作業していたから、手間暇は似たようなものではないか…。しかし、その場合、地形データをblender上で修正して差し替えたら、Godot上でビルボードの配置作業もやり直す羽目になる。ここはできるだけ blender上で作業を終わらせたい…。
その後試していたら、gltf 2.0 でエクスポートして経由させれば目的を果たせそうと分かった。Godot で .gltf を開いてから .tscn で保存して、マテリアル設定を Surface Material Override で作り直して、そこでビルボードの指定をすればどうにかなりそう。
blender上で、ビルボードを配置したい場所に板ポリゴンしか持ってないオブジェクトをリンク複製(Alt+D)でどんどん置いて、Wavefront形式(.obj)でエクスポートして…。Godot Engineで.objを読み込んでから、マテリアル設定だけは Godot Engine側で指定して、その際Billboardを有効(Billboard → Mode → Y-Billboard) にしてみたのだけど…。
各ポリゴンが (0, 0, 0) を原点として回転してしまうようで、全ポリゴンが明後日の場所に移動して、とんでもない見た目になってしまった。blender上では各ポリゴン(オブジェクト)の根元に原点を設定してあるのだけど…。.obj経由ではそういった情報は無くなってしまうらしい。どうしたもんか。
いっそ Godot側で Sprite3D を作成して、複製してチマチマ配置してしまおうか…。blender上でも、結局はポリゴン1枚1枚の位置や角度を微調整して作業していたから、手間暇は似たようなものではないか…。しかし、その場合、地形データをblender上で修正して差し替えたら、Godot上でビルボードの配置作業もやり直す羽目になる。ここはできるだけ blender上で作業を終わらせたい…。
その後試していたら、gltf 2.0 でエクスポートして経由させれば目的を果たせそうと分かった。Godot で .gltf を開いてから .tscn で保存して、マテリアル設定を Surface Material Override で作り直して、そこでビルボードの指定をすればどうにかなりそう。
[ ツッコむ ]
以上、1 日分です。