↑上や←左のタブでコンテンツを選べます
[携帯電話用(最新 20 件)][モード: 記事一覧(フレーム有/フレーム無)/最新 20 件/最新 10 ツリー]
[リスト表示: 番号順/ツリー/スレッド一覧] [分割: /] [ヘルプ]
[キーワード ]
[前ページ] [次ページ] [全て既読に] [最新] [狭く] [広く]

    ┗━ 2987. コンテストは常に中立であれ    御影たゆた     05/29(土) 12:19
        ┗━ 2993. Re: コンテストは常に中立であれ    森山昇一     05/29(土) 19:03
            ┗━ 3018. Re: コンテストは常に中立であれ    やまもと     05/31(月) 12:38
 3008. SUFファイルの仕様    糸瓜     05/30(日) 09:12
    ┣━ 3009. Re: SUFファイルの仕様    ozaki     05/30(日) 11:59
    ┃   ┗━ 3014. Re: SUFファイルの仕様    AceCreek     05/30(日) 15:19
    ┗━ 3021. SUFファイル・ATRファイル・FRMファイルの仕様    たかつ(ドーガ)     05/31(月) 18:32
        ┗━ 3026. Re: SUFファイル・ATRファイル・FRMファイルの仕様    糸瓜     05/31(月) 19:50
 2967. 「デジタルときわ荘」プロジェクト    かまた ゆたか     05/24(月) 22:42
    ┣━ 2969. Re: 「デジタルときわ荘」プロジェクト    糸瓜     05/25(火) 12:10
    ┣━ 2970. Re: 「デジタルときわ荘」プロジェクト    匿名     05/25(火) 13:28
    ┃   ┗━ 2971. Re: 「デジタルときわ荘」プロジェクト    かまた ゆたか     05/25(火) 22:22
    ┣━ 2972. Re: 「デジタルときわ荘」プロジェクト    通りすがり     05/26(水) 13:29
    ┃   ┣━ 2973. Re: 「デジタルときわ荘」プロジェクト    業界獣 G-BLACK     05/26(水) 22:41
    ┃   ┃   ┗━ 2981. さらに脱線    idoro     05/28(金) 21:30
    ┃   ┗━ 2983. Re: 「デジタルときわ荘」プロジェクト    かまた ゆたか     05/28(金) 22:55
    ┃       ┗━ 2985. Re: 「デジタルときわ荘」プロジェクト    ケンタ     05/29(土) 10:27
    ┗━ 3039. どうでもいいネタだけど…    惟郷     06/01(火) 20:55
        ┣━ 3040. 2ch    かまた ゆたか     06/01(火) 22:10
        ┗━ 3041. Re: どうでもいいネタだけど…    かまた ゆたか     06/01(火) 22:11
            ┗━ 3042. おおまかにこんな感じです。    惟郷     06/01(火) 23:32
                ┗━ 3043. Re: おおまかにこんな感じです。    かまた ゆたか     06/01(火) 23:44
                    ┗━ 3044. 失敗するだろうと思われる理由を簡単に分けると…    惟郷     06/02(水) 00:08
                        ┣━ 3046. そうそう2chでは、    惟郷     06/02(水) 00:24
                        ┗━ 3045. Re: 失敗するだろうと思われる理由を簡単に分けると…    かまた ゆたか     06/02(水) 00:21
                            ┣━ 3047. Re: 失敗するだろうと思われる理由を簡単に分けると…    かまた ゆたか     06/02(水) 00:46
                            ┃   ┣━ 3048. Re: 失敗するだろうと思われる理由を簡単に分けると…    ジャスティス     06/02(水) 00:52
                            ┃   ┗━ 3049. あと400位続いていたら、    惟郷     06/02(水) 01:13
                            ┗━ 3065. Re: 失敗するだろうと思われる理由を簡単に分けると…    かまた ゆたか     06/02(水) 23:02
 3070. 本論に戻そう、要は核兵器大好きッ子集まれ!!って話だ    rain_P     06/03(木) 00:14
    ┗━ 3071. 核兵器が大好きな奴なんているの?    ピースマン     06/03(木) 03:02
 2842. レンダラーが・・・    零句     04/02(金) 21:19
    ┣━ 2843. 書き忘れ    零句     04/02(金) 21:21
    ┃   ┗━ 2846. Re: レンダラーが・・・    ozaki     04/03(土) 10:01
    ┃       ┗━ 2857. Re: レンダラーが・・・    零句     04/04(日) 17:20
    ┗━ 3089. Re: レンダラーが・・・    hooky     06/03(木) 22:10
 3019. なおちゃんとピャッチー(by石川プロさん )    ozaki     05/31(月) 13:12
    ┗━ 3066. Re: なおちゃんとピャッチー(by石川プロさん )    石川プロ     06/02(水) 23:16
        ┗━ 3099. Re: めんロボ(by石川プロさん )    ozaki     06/06(日) 12:03
 3101. DoGA日記 2004年6月7日 「日記システム更新」    日記システム     06/07(月) 21:39
    ┣━ 3102. Re: DoGA日記 2004年6月7日 「日記システム更新」    たかつ(ドーガ)     06/07(月) 21:39
    ┗━ 3103. Re: DoGA日記 2004年6月7日 「日記システム更新」    黒木淳一     06/07(月) 22:27
        ┗━ 3105. Re: DoGA日記 2004年6月7日 「日記システム更新」    たかつ(ドーガ)     06/08(火) 14:27
 3112. DoGA日記 2004年6月7日 「「URADA」」    日記システム     06/09(水) 05:32
    ┗━ 3113. Re: DoGA日記 2004年6月7日 「「URADA」」    hudaharu     06/09(水) 05:32
 3114. DoGA日記 2004年5月31日 「自己紹介」    日記システム     06/09(水) 05:40
    ┗━ 3115. Re: DoGA日記 2004年5月31日 「自己紹介」    hudaharu     06/09(水) 05:40
        ┗━ 3117. Re: DoGA日記 2004年5月31日 「自己紹介」    たかつ(ドーガ)     06/09(水) 10:29
            ┗━ 3118. Re: DoGA日記 2004年5月31日 「自己紹介」    森山昇一     06/09(水) 10:55
                ┗━ 3121. Re: DoGA日記 2004年5月31日 「自己紹介」    やまもと     06/09(水) 15:07

[前ページ] [次ページ] [全て既読に] [最新] [狭く] [広く]
[一つ前] [一つ次] [前の未読] [次の未読] [スレッド表示][新規投稿] [この記事に返信] [最新] [狭く][広く]

SUFファイル・ATRファイル・FRMファイルの仕様
[パスワード:     ]
#3021   2004/05/31(月) 18:32   投稿者: たかつ(ドーガ)   参照記事: 3008

ちょっと発掘してみました。
X68000時代の「DoGA CGAシステム」のマニュアルに
載っていたものを再入力して、最近の追加仕様を修正したものです。

---ここから---
○基本用語
  オブジェクト: 形状ファイルにおいて空間座標に定義された物体。
  プリミティブ: 形状の定義における最も基本的な要素。
  アトリビュート: プリミティブの表面の属性。

○基本方針
  ・ファイルの形式はテキストファイル
  ・語と語の間は1つ以上の空白で区切られる
  ・'('、')'、'{'、'}' の前後には空白は無くてもよい
  ・/* から */ までの間はコメントになる

  ・座標系は右手系であり、
     物体の前方向がX軸正方向
     物体の左方向がY軸正方向
     物体の上方向がZ軸正方向
   となる

◎形状ファイル(*.suf)

○オブジェクトの宣言
 形状ファイルには1個以上のオブジェクトの宣言が存在する。
オブジェクトの宣言は以下のようになる

---書式ここから---
obj suf <オブジェクト名>
{
  <オブジェクト本体>
}
---書式ここまで---

○オブジェクト名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。


○オブジェクト本体
 <オブジェクト本体>は複数の形状定義文から成り立っている。
 形状定義文には、
  ・アトリビュート指定
  ・プリミティブ指定
 がある

○アトリビュート指定
 アトリビュート指定を行うと、以後のプリミティブのアトリビュートが
 変更される。オブジェクト本体内で何度でも指定できる。
---書式ここから---
atr <アトリビュート名>
---書式ここまで---
 アトリビュートの実体はアトリビュートファイルで定義される

○アトリビュート名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。

○プリミティブ指定
 プリミティブ指定は、poly、shade、uvpoly、uvshade の4種類がある

○プリミティブ poly
 プリミティブ poly では、頂点のX、Y、Z座標を多角形の頂点の数だけ並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z>
   ...
)
---書式ここまで---

○プリミティブ shade
 プリミティブ shade では、頂点の座標の法線ベクトルを頂点の数だけ並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z> <頂点1法線X> <頂点1法線Y> <頂点1法線Z>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z> <頂点2法線X> <頂点2法線Y> <頂点2法線Z>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z> <頂点3法線X> <頂点3法線Y> <頂点3法線Z>
   ...
)
---書式ここまで---

○プリミティブ uvpoly
 プリミティブ uvpoly では、頂点の座標とマッピング用のUV座標を並べる

---書式ここから---
prim poly (
  <頂点1座標X> <頂点1座標Y> <頂点1座標Z> <頂点1U> <頂点1V>
  <頂点2座標X> <頂点2座標Y> <頂点2座標Z> <頂点2U> <頂点2V>
  <頂点3座標X> <頂点3座標Y> <頂点3座標Z> <頂点3U> <頂点3V>
   ...
)
---書式ここまで---

○プリミティブ uvshade
 プリミティブ uvshade では、頂点の座標・法線・UV座標を並べる

---書式ここから---
prim poly (
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
  <座標X> <座標Y> <座標Z> <法線X> <法線Y> <法線Z> <U> <V>
   ...
)
---書式ここまで---


◎アトリビュートファイル(*.atr)

○アトリビュートの宣言
 アトリビュートファイルには、1個以上のアトリビュートの宣言が存在する。
 アトリビュートの宣言は次のようになる
---書式ここから---
atr <アトリビュート名>
{
  <アトリビュート本体>
}
---書式ここまで---

○アトリビュート本体
 アトリビュート本体は1個以上のアトリビュート文からできている。
 アトリビュート文の種類は次のようなものがある
 アトリビュート文の無いパラメータについては、0 が指定されたものとする。

col ( <色> )   : 色(0〜1)

amb ( <色> )   : アンビエント(0〜1)

dif ( <色> )   : ディフューズ(0〜1)

spc ( <色1> <色2> <色相:数値> )   : スペキュラー
                <色1> : 強さ 大きいほど輝点は明るくなる
                <色2> : サイズ 大きいほど輝点は小さくなる
                <色相> : 0の時、輝点は光源色になる
                     1の時、輝点は物体色になる

ref ( <色> )   : 反射率(0〜1)
tra ( <色> )   : 透過率(0〜1)

opt ( <オプション指定> ... )  : オプションパラメータ
                 (今後、仕様変更の可能性有り)

・以下はマッピング関係

mapwind ( <u1> <v1> <u2> <v2> ) : テクスチャの画像範囲
            mapwind 指定がある場合は、画像ファイルの
            (u1,v1)-(u2,v2)を切り出してテクスチャ画像として使う
            指定が無い場合は、画像全体を使用する。

mapsize ( <u1> <v1> <u2> <v2> ) : オブジェクト中のUV座標の範囲
            形状ファイルの中のプリミティブ指定でのUV座標の範囲
            プリミティブ指定で、この範囲を超えるUV座標が指定
            された場合には、繰り返しとなる。

colormap ( <画像ファイル名> ) : col パラメータに対応するテクスチャ
bumpmap ( <画像ファイル名> ) : バンプマッピングに対応
ambmap ( <画像ファイル名> ) : amb パラメータに対応
difmap ( <画像ファイル名> ) : dif パラメータに対応
tramap ( <画像ファイル名> ) : tra パラメータに対応
refemap ( <画像ファイル名> ) : ref パラメータに対応
spcmap ( <画像ファイル名> ) : spc パラメータの強さに対応
hmap ( <画像ファイル名> ) : spc パラメータの色相に対応
glowpoermap ( <画像ファイル名> ) : emittion (後述) パラメータに対応

○色
 色指定は
  rgb ( <数値> <数値> <数値> )
 もしくは
  <数値>
 のどちらかの形式となる。数値のみの時は、RGBすべて同じとみなす。

○画像ファイル名
  任意の文字列。大文字・小文字の区別はしない
  空白を含む場合には、" で括る必要がある。
  相対パス指定の場合は、アトリビュートファイルのあるフォルダからの
  相対となる。

○オプション指定

emittion <半径> <強さ> : glow を発生させる。現状では<半径>は意味を持たない
castshadow       : 他の物体に影を落とす
receiveshadow      : 影が落ちる
edge          : ポリゴンの輪郭を線描画する
celllookedge      : オブジェクト全体の輪郭のみ線描画する
draw <色> <幅>     : エッジ描画をポリゴンの輪郭に太さ<幅>にする
draw <色> rate <幅>   : エッジの太さを画面横幅の<幅>倍にする
emphasis        : ポリゴンの向きに合わせてエッジの太さを強調する
shader <数> ( <最小値> <最大値> <色> ) ... :
             セルアニメ調の階調を落とした色計算を行う
             <数>で階調数を指定する。
             明るさが<最小値>と<最大値>の間の部分の色は <色>になる
celllookspecular <最小値> <最大値> :
             セルアニメ調の階調を落としたスペキュラーを描画する
             スペキュラー値が<最小値>以下は0に
             スペキュラー値が<最大値>以上は1になる



◎フレームファイル(*.frm)

○フレームファイルの構成
  フレームファイルでは各フレームごとのデータを順にならべて記述している。
  1フレーム分のデータは<環境定義>部分と<フレーム定義>部分にわかれる。
  <環境定義>部分は省略可能

  以下の記述方法について
    [ … ] : 囲まれた部分は省略可能
    ...  : 直前の記述の繰り返し
    |   : 前後の記述のどちらか

○環境定義
  <環境定義>の書式
    env { <環境文> ... }
  <環境文>には次の種類がある。
    back ( <色> )  : 背景色(ベタぬり)
    back ( <画像ファイル名> [<画像番号>] [image|sphere] )
            : 背景画像指定 画像ファイルが動画の場合、<画像番号>
             指定がない場合は1枚目の画像を、指定がある場合は
             その画像を背景として使用する。
             image がある場合は、作画画面に背景画像をあわせる。
             sphere の場合(デフォルト)は、背景球に画像を貼る。
    star ( <数> )  : 背景星表示。全天球に<数>個の星を配置する。
    depth ( <数> <色> )
            : 空気遠近指定。<数>は半減距離で、この距離はなれた
             物体は本来の色と<色>指定を半分ずつ混合した色になる。

    refmap ( <画像ファイル名> )
            : 環境マッピング指定。アトリビュート指定で反射率のある
             物体には <画像ファイル名> で指定した画像が背景球にある
             ように写り込む。


○フレーム定義
  <フレーム> 定義の書式
    fram { <フレーム文> ... }
  <フレーム文> には次のような種類がある。
    ・座標変換指定
    ・オブジェクト指定
    ・視点指定
    ・光源指定
    ・ターゲット指定
    ・オプション指定

○座標変換指定
  以降に続くフレーム文に対し座標変換を行う。
  mov ( <x> <y> <z> )   : 平行移動
  rotx ( <x> )      : x軸まわりの回転(指定単位は度)
  roty ( <y> )      : y軸まわりの回転
  rotz ( <z> )      : z軸まわりの回転
  scal ( <x> <y> <z> )  : 各軸方向の拡大
  vec ( <fx> <fy> <fz> <ux> <uy> <uz> )
              : ( <fx> <fy> <fz> ) が x軸(前)で
               ( <ux> <uy> <uz> ) が z軸(上)になるように回転する
  mat ( <a11> <a12> <a13> <a14>
     <a21> <a22> <a23> <a24>
     <a31> <a32> <a33> <a34>
     <a41> <a42> <a43> <a44> )
              : アフィン変換行列指定による変換

○オブジェクト指定
  obj <オブジェクト名>

○視点指定
  eye [opt <オプション指定> ... ] deg ( <角度> )
               : 水平方向の画角を指定
  eye [opt <オプション指定> ... ] scr ( <距離> <大きさ> )
               : スクリーンまでの距離と幅を指定
  オプション指定
    focus ( <距離>|target <半径> <範囲> )
               : ピンボケ処理を行う。<距離>の前後<範囲>に
                ピントが合い、最大ボケ半径を<半径>にする。
                <半径>は画面横幅に対する比率。
                <距離> の代わりに target と指定した場合は、
                ターゲット指定までの距離でピントが合う。

○ターゲット指定
  target          : 視点の向きをtarget指定のある座標に向ける

○光源指定
  light [ opt <オプション指定> ... ] pal ( <色> <ベクトル> )
               : <ベクトル> 方向に照らす平行光源
  light [ opt <オプション指定> ... ] point ( <色> <距離> )
               : <距離> でちょうど <色> になるように減衰する点光源
                (距離の二乗に反比例)
  light [ opt <オプション指定> ... ] spot ( <色> <ベクトル> <サイズ> [<距離>] )
               : <ベクトル> 方向に照らすスポット光源
                <サイズ>が0の時広く1の時狭い。
                <距離>指定がある場合は、その距離で<色>に
                なるように減衰する
  オプション指定
    castshadow      : 影を落とす

○オプション指定
  lensflare ( <強さ> <種類> )
               : レンズフレアを発生させる。
                <種類> は 0〜2

○階層化
  { … } によって階層構造をなすことができる。
  { … } の中の座標変換は { … } の中でのみ有効

---ここまで---

このページのURLは http://doga.jp/tkbbs/tkbbs.cgi?bbs=doga&number=3021 です
[一つ前] [一つ次] [前の未読] [次の未読] [スレッド表示][新規投稿] [この記事に返信] [最新] [狭く][広く]