Windowsゲーム制作ツール「3D Gamestudio」 (233レス)
上下前次1-新
200: 2018/03/24(土)10:30 ID:ob0bSiXs(1) AAS
 てす 
201: 2020/02/15(土)22:27 ID:umvW5CwU(1) AAS
 誰かいますかー? 
  
 初歩的な疑問なんですが、lite-cのサンプルの最初で地球と地形読み込んで表示するのありますよね? 
 あれって、0キーを押すと矢印キーで移動できるようになりますが、そのコントロールはどこで設定しているんでしょうか? 
202: 2020/02/17(月)19:52 ID:mIZ4gMSu(1) AAS
 // このゲームエンジンを動かすのに必須 
 #include <acknex.h> 
 // 最低限の機能をキーに割り当てた定義 
 #include <default.c> 
  
 ソースコードに何も書かれていないと、上記のヘッダーファイルとソースファイルを自動で読み込みます。 
 [0]キーを押すとカメラを移動させるdef_move()関数が呼ばれるのも default.cに書かれた内容どおりに機能しています。 
 ([ESC]キーでアプリケーションを終了させることができるのも同様です) 
 マニュアルでは勝手に読み込むので、そっちで再定義よろって描いてあるけれど、 
 ウインドウサイズやカメラの定義を自分でやると default.c は勝手に読み込まれなくなります(多分)。 
  
 マニュアルの#include または default.c 辺りを参考にしてください。 
203: 2020/02/17(月)20:35 ID:Tc3WoAuM(1) AAS
 おおお! 
 ありがとうございます! 
 謎が解けました! 
204: 2020/02/21(金)21:34 ID:QJcRJDH3(1) AAS
 lite-cのサンプルを実行後、alt+enterでフルスクリーンにすると、 
 画面が縦長の4:3になってしまう(上が切れてる?)のですが、 
 もしかしてウルトラワイドモニターに対応していないのでしょうか? 
 解像度を3440*1440から1920*1080にしてみましたが、若干緩和された 
 ものの4:3の画面で縦長になってしまいます。 
205: 2020/02/22(土)02:07 ID:kRdJU4rU(1) AAS
 ゲーム変数 video_aspect にアスペクト比を明示的に指定します。 
 video_aspect = 4 / 3.0; 
  
 このゲームエンジンは膨大なゲーム変数を持っていますので、 
 ユーザーが思い通りの設定で初期化を行いたい場合、 
 まずこれらの変数の把握が必要かと思います。 
 マニュアルだと Engine Variables 以下になります。 
 video_○○といういくつかの変数とコンビネーションで設定が必要なものもありますね。 
206: 2020/02/22(土)14:18 ID:djbyK2Ww(1) AAS
 返信ありがとうございます。 
 上手く設定できました! 
207: 2020/02/26(水)11:00 ID:hqjUSV4d(1/2) AAS
 proエディションにてPublishを行いましたが、マニュアルでは、 
 Compile EXEがオンの場合にexeを生成するとありますが、 
 オフにしても同様にCDフォルダに生成されます。 
 そして2回目のPublishで上書きを行うと、今度はオフの場合にソースコードも 
 コピーされるようになりました。マニュアルではオンザフライでコンパイルされると 
 ありますが、2回目以降が、それに該当するのでしょうか? 
 また、ソースコードがある場所に同様のexeファイルが生成される理由もよくわかりません。 
 (実行しても、dllが同じ場所にないためエラーになりますし・・・) 
 Engineでのパス指定?も、exeファイルがないと指定できないですし・・・ 
  
 おそらく、気にせずcdフォルダの内容を公開すればいいだけかと思いますが・・・。 
208: 2020/02/26(水)18:07 ID:u/JdMekX(1/3) AAS
 まともなゲーム作れた試しがないのであまり実行ファル化は詳しくないんですが。 
 前提として、SEDのFileメニューのPublish Main Script を選択してそのままOKボタンを押すと、 
 CDディレクトリにスクリプトの実行ファイルが作成されます。 
 その他のリソースは含まれないので自分でコピーしてやる必要があります(マニュアルpublishにそう書いてある)。 
 自分が知っているのは、スクリプト以外のリソースをパッケージ化する方法で、これはResourceにチェックを入れるとwrsという拡張子の 
 単一のデータコンテナとなります。 
 配布する場合は 
 app.exe 
 app.wrs 
 acknex.dll 
 d3dx9_42.dll 
 の4つになるんじゃないかと。 
 また、でかい動画ファイルとかは除外したいならそういう方法もできそうなことがマニュアルの同じ箇所になんか書いてありますね。 
 ただ、公式フォーラムではたびたびpublishすると実行不可になるという現象が議論にはなっているようです。 
209: 2020/02/26(水)18:12 ID:u/JdMekX(2/3) AAS
 >>ソースコードがある場所に同様のexeファイルが生成される理由もよくわかりません。 
 これは実行するのに必要だからじゃないでしょうか。 
 DLLの解決はエンジン側でやってるんだと思いますよ。 
210: 2020/02/26(水)18:14 ID:u/JdMekX(3/3) AAS
 いえ、違いますね。 
 ごめんなさい、よく分かりません。 
 サイズと言い同じ実行ファイルみたいにはみえますね。 
211: 2020/02/26(水)22:29 ID:hqjUSV4d(2/2) AAS
 ありがとうございます。 
 とりあえずは公開時はCDフォルダの内容でOKみたいです。 
  
 それと、今default.cや他のサンプルを見ているのですが、 
 ソースコードをincludeする際は、語尾に「startup」のついた関数が最初に呼ばれるという認識であってますでしょうか? 
 テストでサンプルコードを無理やり分割してみてもクラッシュしてしまうので、ここら辺の簡単なサンプルがあれば解析しやすいのですが・・・ 
212(1): 2020/02/27(木)00:48 ID:E8Ak61CI(1) AAS
 >ソースコードをincludeする際は、語尾に「startup」のついた関数が最初に呼ばれるという認識であってますでしょうか? 
 でしょうね。 default.c 内の def_startup() がエンジンによって実行されるみたいですね。 
 SEDのメニュー"Option->References" の Engine タブのCommand Line Options の diag にチェックを入れて、 
 メニュー"Debug->Debug Run"(または Ctrl + F5)させると、acklog.txt という起動時の初期化ログが取れるので、 
 例えば、Lite-C workshop の 例の地球が表示されるプログラムで実行してみると、 
 出力されたログに"def_startup started" の行がありますよ。 
213: 2020/02/27(木)21:55 ID:YjP0eTYG(1) AAS
 >>212 
 レスありがとうございます。 
 いろいろ試してみます! 
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に代入する形で使うのがセオリーのようです。 
 いくつかの基本的なMATERIALが用意されているのでそれを使って書き換えるか、 
 もっと高度なら自分でMATERIAL構造体を定義してそれをEntityにアタッチする感じです。 
  
 基本的に3DGSはDirectX9のラッパーみたいなものなので、このライブラリに詳しければ 
 他の方法もあるかもしれないのですが、このライブラリに不案内で私はあまり詳しくありません。 
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 
  
 ある強力なFor関数 
 外部リンク[aspx]:x0000.net 
  
 SQLライブラリ 
 外部リンク[aspx]:x0000.net 
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 
  
 ある強力なFor関数 
 外部リンク[aspx]:x0000.net 
  
 SQLライブラリ 
 外部リンク[aspx]:x0000.net 
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; 
  
 action a_mdl_prop(); 
 . 
 function main() 
 { 
 a_mdl = ent_create("a.mdl", vector(0, 0, 0), a_mdl_prop);  
 } 
  
 action a_mdl_prop() 
 { 
 me.material = twosided; // これが両面表示させるシェーダーの名前 
 } 
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() 
 { 
 a_mdl = ent_create("a.mdl", vector(0, 0, 0), (a_mdl_prop && a_mdl_anime)); 
 } 
 これではエラーとなりますし、 
  
 エンティティのイベントにわたせるかと、 
 function main() 
 { 
 a_mdl = ent_create("a.mdl", vector(0, 0, 0), a_mdl_prop); 
 a_mdl.event = a_mdl_anime; 
 } 
  
 と、しましたら、エラーにはなりませんが、シェーダーの適用のみでアニメの適用はされず・・・ 
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; 
 以下略 
 } 
229: 2020/05/25(月)23:31 ID:iF6OjKsN(2/4) AAS
 my.material = twosided; ではなく my.material = mtl_twosided; でした。 
上下前次1-新書関写板覧索設栞歴
あと 4 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.748s*