初めまして。
3Dゲーム制作講座・BBS等参考にさせていただいています。
自分で思いつく限り調べたもののわからなかったので、
ここで質問させてください。
質問の内容は大きく以下になります。
・大きな3Dフィールドモデルにテクスチャを間延びせずに設定する方法
・モデルを小分けにするのであれば、繋ぎ目のシームレス化の方法
3Dゲーム製作中で、Blenderで広いフィールドモデルを作成しています。
(イメージとしては3DSゼルダの伝説 時のオカリナのフィールドです。)
広範囲の面へ1枚のテクスチャの為かと思いますが、
テクスチャが伸びて荒くなってしまい、思うような見た目ではなくなってしまいます。
※テクスチャの設定方法はメッシュ全体をUV展開してテクスチャペイントで行っています。
調べて目にした方法では、モデルを小分けに作ってマップチップの様に配置するとありましたが、
その場合のマップチップ間のシームレス化わからないことに加え、
モデリング作業の負荷がかなり大きくなるため、現実的ではないと考えています。
もし一般的な実現方法があれば教えてください。
3Dゲームのフィールドのテクスチャについて
-
- 記事: 48
- 登録日時: 8年前
Re: 3Dゲームのフィールドのテクスチャについて
マップチップを3Dデータで使うつもりならマップチップを2Dゲームで使ったように
3D版マップエディタを作ってみてはどうかと思いました。
自分だったら、csv形式で出力か、もしくはバイナリファイルで
出力させて、ZX平面にテクスチャーマッピングさせると思います。
もちろん、フィールドは坂道があるので、そう簡単にはいかないですが、
考え方としては、まずモデルにテクスチャーを張っていき高低差のあるモデルデータを10~255種類作ります。
そしたら、マップエディタを使って、Y軸の上から見たテクスチャーをマップエディタに読み込ませます。
そしたら、あとはマップをマップエディタで作り、ファイルを出力させて、DXLIBに読み込ませればいいのではないか
と思いました。
ただし、考え方の1つなので、これが正解とは限りません。
3D版マップエディタを作ってみてはどうかと思いました。
自分だったら、csv形式で出力か、もしくはバイナリファイルで
出力させて、ZX平面にテクスチャーマッピングさせると思います。
もちろん、フィールドは坂道があるので、そう簡単にはいかないですが、
考え方としては、まずモデルにテクスチャーを張っていき高低差のあるモデルデータを10~255種類作ります。
そしたら、マップエディタを使って、Y軸の上から見たテクスチャーをマップエディタに読み込ませます。
そしたら、あとはマップをマップエディタで作り、ファイルを出力させて、DXLIBに読み込ませればいいのではないか
と思いました。
ただし、考え方の1つなので、これが正解とは限りません。
Re: 3Dゲームのフィールドのテクスチャについて
一般的ではありませんが・・・
Minecraftでベースの3Dフィールドを作りobj形式でBlenderに読み込ませて(ツールがあるようなので)
後からテクスチャーを変更したりオリジナルのモデルを追加したりして3Dマップを作るという方法など
Minecraftでベースの3Dフィールドを作りobj形式でBlenderに読み込ませて(ツールがあるようなので)
後からテクスチャーを変更したりオリジナルのモデルを追加したりして3Dマップを作るという方法など
Re: 3Dゲームのフィールドのテクスチャについて
littlestream さん、kinokawaさん
返答ありがとうございます。
ただ私の質問としては、テクスチャの設定の仕方になります。
>>littlestream さん
ゲーム制作という時点で作業量が多いというのは理解しているつもりです。
その為、できればエディタを作成する手間を省いて
テクスチャの設定方法で凌げればと考えています。
(チップ間のシームレス化もわからないですし。)
ただ3D版のマップエディタについて調べたことがありませんでした。
無料で使用できる3D版のマップエディタも確認できましたので、
こちらでも対応できないか調べていくつもりです。
情報ありがとうございます。
>>kinokawaさん、
マイクラのデータからBlenderで読み込むツールを調べてみましたが、
あくまでモデルとして読み込むツールであって、使用したいテクスチャを設定する場合は、
同様の問題に行き着きます。
また、坂道などの表現がマイクラ風になる為、作成したいものとイメージが変わってきてしまいます。
間違った解釈をしてしまっていたら申し訳ありません。
ゼルダの伝説時のオカリナのようなフィールド等の広範囲へのテクスチャの設定方法を教えていただけたらと思います。
よろしくお願いします。
返答ありがとうございます。
ただ私の質問としては、テクスチャの設定の仕方になります。
>>littlestream さん
ゲーム制作という時点で作業量が多いというのは理解しているつもりです。
その為、できればエディタを作成する手間を省いて
テクスチャの設定方法で凌げればと考えています。
(チップ間のシームレス化もわからないですし。)
ただ3D版のマップエディタについて調べたことがありませんでした。
無料で使用できる3D版のマップエディタも確認できましたので、
こちらでも対応できないか調べていくつもりです。
情報ありがとうございます。
>>kinokawaさん、
マイクラのデータからBlenderで読み込むツールを調べてみましたが、
あくまでモデルとして読み込むツールであって、使用したいテクスチャを設定する場合は、
同様の問題に行き着きます。
また、坂道などの表現がマイクラ風になる為、作成したいものとイメージが変わってきてしまいます。
間違った解釈をしてしまっていたら申し訳ありません。
ゼルダの伝説時のオカリナのようなフィールド等の広範囲へのテクスチャの設定方法を教えていただけたらと思います。
よろしくお願いします。
Re: 3Dゲームのフィールドのテクスチャについて
オフトピック
そういう経験もないし,話のイメージとも違うかもですが…
例えば,広い面のデータを複数の小さな面のデータに分割することは機械的にできないのでしょうか?
(「モデルのデータ」がどういうものなのかわかりませんが,適当に再分割することはできないのか?)
(テクスチャ画像については,並べても切れ目が見えないような絵にすればよい,という話ではなく?)
例えば,広い面のデータを複数の小さな面のデータに分割することは機械的にできないのでしょうか?
(「モデルのデータ」がどういうものなのかわかりませんが,適当に再分割することはできないのか?)
(テクスチャ画像については,並べても切れ目が見えないような絵にすればよい,という話ではなく?)
Re: 3Dゲームのフィールドのテクスチャについて
ゼルダの伝説 時のオカリナ の映像を見る限りでは、シームレステクスチャ(ループテクスチャ)のようです。
UV座標を0.~1.の範囲で貼り付けると、メッシュの中でテクスチャは一対一です。
UV座標を0.~2.の範囲で貼り付けると、メッシュの中でテクスチャは2回繰り返されます。
繰り返す回数が多いほどピクセルは密になり、間延びしなくなります。
Blenderでは、Image Mappingでリピート回数を指定できるみたいです。
ゲームプログラムでは、地面のような平面ポリゴンは動的に生成することも少なくないと思います。
UV座標を0.~1.の範囲で貼り付けると、メッシュの中でテクスチャは一対一です。
UV座標を0.~2.の範囲で貼り付けると、メッシュの中でテクスチャは2回繰り返されます。
繰り返す回数が多いほどピクセルは密になり、間延びしなくなります。
Blenderでは、Image Mappingでリピート回数を指定できるみたいです。
ゲームプログラムでは、地面のような平面ポリゴンは動的に生成することも少なくないと思います。
Re: 3Dゲームのフィールドのテクスチャについて
私の場合、無料のモデリングソフトでテクスチャーなどを規則正しく揃えるのは無理だったので
自作ツールで簡易的にメタセコのデーターファイル(mqoファイル)を作成して
そのファイルをメタセコで読み込ませて他の形式に変換していました。
今でもそういうソフトが無料であったらいいなーと思っていますが・・(^^;
以下は自作ツールで作成するmqoファイルのサンプルです
メモ帳などでtest.mqoとしてセーブしてください
余計な部分をできるだけ省いて作成してます
メタセコLE R3.0で確認
ねくら様のマップチップをお借りしました
http://nekuramap.blog.fc2.com/
自作ツールで簡易的にメタセコのデーターファイル(mqoファイル)を作成して
そのファイルをメタセコで読み込ませて他の形式に変換していました。
今でもそういうソフトが無料であったらいいなーと思っていますが・・(^^;
以下は自作ツールで作成するmqoファイルのサンプルです
メモ帳などでtest.mqoとしてセーブしてください
余計な部分をできるだけ省いて作成してます
メタセコLE R3.0で確認
Metasequoia Document
Format Text Ver 1.0
Material 1 {
"mat1" tex("t_dang01.png")
}
Object "obj1" {
vertex 9 {
-100.0 100.0 0.0
0.0 100.0 0.0
100.0 100.0 0.0
-100.0 0.0 0.0
-0.0 0.0 0.0
100.0 0.0 0.0
-100.0 -100.0 0.0
0.0 -100.0 0.0
100.0 -100.0 0.0
}
face 4 {
4 V(0 1 4 3) M(0) UV(0.0 0.5 1.0 0.5 1.0 0.74 0.0 0.74)
4 V(1 2 5 4) M(0) UV(0.0 0.5 1.0 0.5 1.0 0.74 0.0 0.74)
4 V(3 4 7 6) M(0) UV(0.0 0.25 1.0 0.25 1.0 0.49 0.0 0.49)
4 V(4 5 8 7) M(0) UV(0.0 0.25 1.0 0.25 1.0 0.49 0.0 0.49)
}
}
http://nekuramap.blog.fc2.com/
- 添付ファイル
-
- レンダリング結果
- tea.png (49.17 KiB) 閲覧数: 9925 回
-
- テクスチャー画僧
- t_dang01.png (7.85 KiB) 閲覧数: 9925 回