Windowsゲーム制作ツール「3D Gamestudio」 (233レス)
上下前次1-新
1: 2008/08/22(金)09:10 ID:xWnxTwva(1) AAS
Conitec社作成の3Dゲーム作成ツールです
日本ではユーザーが少ないですが
海外ではいろいろな作品が作られています
現在「A7」版です
公式サイト
外部リンク:www.3dgamestudio.com
日本語サイト
外部リンク:3dgsjapan.com
214: 2020/05/01(金)16:07 ID:Dy/gbdNP(1/2) AAS
現在、他のツール(Maya)で作成したモデルをMEDにインポートしているのですが、
もしかして、FBX形式ではマテリアルは読み込まれないのでしょうか?
アニメーションやテクスチャーは読めるのですが、マテリアルだけが無視されてしまいます・・・。
215(1): 2020/05/01(金)21:03 ID:Qpg83TDE(1) AAS
分からないなー。
モデルデータのエンジンへのI/O難しさと日本語の問題であまり使わなくなったので。
autodesk製品なら他のツールより互換性は高いでしょうが、何分3DGSがすごく古い設計なので。
MATERIALグループのような形で持ち込むのは無理だったと思う。
DiffuseやAmbientといった基本的なパラメーターは持ち込めるけど、
数値の扱いが異なるらしく意図したような調整にならない。
これらは基本的に0でインポートしてた。
色はそもそも扱いが違ってて、コード上でEntityのメンバー変数を使用する。
で基本的にはMATERAL構造体がA8には用意されているのでそれに定義して、
Entityのメンバー変数materialに代入する形で使うのがセオリーのようです。
省4
216: 2020/05/01(金)23:06 ID:Dy/gbdNP(2/2) AAS
>>215
レスありがとうございます。
なるほど、コード上で設定もできるのですね。今は、読み込み後、MED上でマテリアル追加してました。
とりあえず、全部テクスチャーを張れば、なんとか・・・汗
あと、御存じなら教えて欲しいのですが、例えばモデルのテクスチャーをスクリプト上で変更できるコマンドって
ありますか?
ようは、表情別のテクスチャーを用意して、アクションごとに切り替えて使えないかなと思いまして・・・
MEDのアニメーションではポーズしか設定できませんよね?
217(1): 2020/05/02(土)11:34 ID:oxhCJyx+(1/2) AAS
>あと、御存じなら教えて欲しいのですが、例えばモデルのテクスチャーをスクリプト上で変更できるコマンドって
ありますか?
ent_setskin()
ですかねえ。
ただ使い所の説明が難しいんですよ。
サンプルデータを上げておきます。
パスは3dgsです。
外部リンク[zip]:whitecats.dip.jp
218: 2020/05/02(土)14:29 ID:gZGaXLho(1) AAS
simulationライブラリで純粋な関数式プログラミングをする
外部リンク[aspx]:x0000.net
UIライブラリ (C#, 2D) を作ったよ
外部リンク[aspx]:x0000.net
連続と離散を統一した!
外部リンク[aspx]:x0000.net
4Dエンジン
外部リンク[aspx]:x0000.net
matrixのライブラリ
外部リンク[aspx]:x0000.net
省4
219: 2020/05/02(土)19:34 ID:KNZdWIXm(1/2) AAS
>>217
おおおお!
ありがとうございます!
サンプルだけでなく、貴重な情報も感謝です。
ダメ文字問題が、今後の課題になりそうです。
でも韓国版は正式対応してるのに、ダメ文字問題発生してないのかな・・・?
220(1): 2020/05/02(土)20:21 ID:oxhCJyx+(2/2) AAS
だめ文字はどうにもならないと思います。
Lite-Cは標準Cコンパイラと違って、charに文字列を食わせる時に
エスケープシーケンスをバイナリレベルで解決してしまいます。
メモリデータそのものに日本語の文字コードの欠損が生じてしまいます。
ほかのCコンパイラでもライブラリなどで同様の問題は起きますが、これは
バイナリは欠損起こしてないので文字コードの数値を調べて英数字でない
と分かるものには\文字(0x5C)を追加することで回避可能です。
Lite-Cではこれができない。
文字化けする箇所には自分で文字\を追加するしか有りません。
随分と思い切ったと言うか、後先考えない実装をしてくれたもんです・・・。
221: 2020/05/02(土)20:45 ID:KNZdWIXm(2/2) AAS
>>220
試しにstring関数を使ってダメ文字を10個くらい表示させてみました。
実行前にエディタの機能で、\を\\に一括変換でうまくいくみたいです。
コード上で\を使うのはディレクトリ設定ぐらいと思うので、これでなんとか
ゲーム内の表示対応しようかと思います。
222: 2020/05/05(火)14:29 ID:5Bzi5FN0(1) AAS
simulationライブラリで純粋な関数式プログラミングをする
外部リンク[aspx]:x0000.net
UIライブラリ (C#, 2D) を作ったよ
外部リンク[aspx]:x0000.net
連続と離散を統一した!
外部リンク[aspx]:x0000.net
4Dエンジン
外部リンク[aspx]:x0000.net
matrixのライブラリ
外部リンク[aspx]:x0000.net
省4
223: 2020/05/21(木)22:21 ID:qFsXVeHc(1) AAS
またしても詰まってしまいました。
MEDのマテリアル設定でポリゴンの裏側を表示させるオプションとかはないのでしょうか?(unityでのtwosideとか)
それともスクリプト上で設定できるのでしょうか?マニュアルを探しましたがそれらしきものが見つかりませんでした・・・
224: 2020/05/22(金)14:32 ID:9RrhreTt(1/2) AAS
両面ポリゴン使った方が無難だと思うけど、
MEDにはそんなオプションはたぶんないかな。
片面ポリゴンを両面表示化させたいなら、シェーダー使わないと無理じゃないかな。
ただし、シェーダーはモデル単位で適用されるのでモデルを分割させないといけませんね。
そうすると複数のモデルをパーツごとに読み込んでそのモデル同士の親子付けとか必要になってくると思います。
自分的にはわりと未知の領域です。
#include <acknex.h>
#include <default.c>
#include <mtlFX.c>
ENTITY* a_mdl;
省10
225: 2020/05/22(金)14:53 ID:9RrhreTt(2/2) AAS
まあ、フィギュアなんかはそもそも裏側が透明だと違和感あるので
ごっそりまるまる両面表示化シェーダーを適用させてもあまり問題起こらない気がするけど。
カメラに映ってない箇所はシェーダーで処理しないんだし。
226: 2020/05/22(金)15:09 ID:DhcBaLXv(1) AAS
ありがとうございます!
シェーダーと両面ポリゴン、いろいろ試してみます。
227(1): 2020/05/25(月)20:47 ID:Ai9kIzm7(1) AAS
ようやくアニメーションまで漕ぎつけました。
通常は、a_mdl_anime()を別途作成し、
function main()
{
a_mdl = ent_create("a.mdl", vector(0, 0, 0), a_mdl_anime);
}
でアニメ設定できて、表示もOKだったのですが、前述のシェーダーを同時に適用する場合、
どのような方法がありますでしょうか?
クリエイト時にできないかと、
function main()
省11
228: 2020/05/25(月)23:20 ID:iF6OjKsN(1/4) AAS
a_mdl_prop() と a_mdl_anime()の一つにしちゃえばいいのではないでしょうか。
a_mdl_anime()が何かは分かりませんがおそらくこれまでの話の流れ的にどっちもmaterial構造体への
アクセスでしょうから
action xxxxx()
{
my.material = twosided;
my.material.ambient_blue = 255;
以下略
my.skin = 1;
以下略
省1
229: 2020/05/25(月)23:31 ID:iF6OjKsN(2/4) AAS
my.material = twosided; ではなく my.material = mtl_twosided; でした。
230: 2020/05/25(月)23:34 ID:iF6OjKsN(3/4) AAS
自分でmaterialを定義して名前をつけてアタッチすることもできるし、
action関数内で直接Entityのmaterialを弄ってもよいわけです。
ambientやskinといったメンバー変数はごく基本的なものですから、
モデル自身で持ってます。
直接代入して書き換えるか、materialという型で変数を作って
名前を使って書き換えるかの違いがあるだけです。
231: 2020/05/25(月)23:46 ID:iF6OjKsN(4/4) AAS
>>227
のコードを改造するとしたら
#include <mtlFX.c> // mtl_twodied 用のインクルードファイル
.
a_mdl = ent_create("a.mdl", vector(0, 0, 0), (a_mdl_anime));
action a_mdl_amime()
{
my,material = mtl_twosided; // tow_sided機能を適用
}
を追加するだけで良いかもしれません。
省2
232: 2020/05/26(火)19:43 ID:OB4YT/vT(1) AAS
おおお!
なぜか、処理を分けようと思い込んでいました。
1つにして問題なくいけました!
とりあえず、mdlファイルへのコンバートは制限はあるものの、
アニメ付きで表示できるまでになったので、ゲーム制作の入り口にはたどり着けたようです^^
233: 2023/07/31(月)05:37 ID:PF/zeelH(1) AAS
物理的に無理
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.793s*