3D処理の基本コマンド群
OBJECT COMMANDS
モデルを操作するコマンド。
DarkBASICではモデルをObject(オブジェクト:物体)と呼んでいる。
LOAD OBJECT : LOAD OBJECT Filename, Object Number
ファイルからメモリへ3Dオブジェクトを読み込む。
APPEND OBJECT : APPEND OBJECT Filename, Object Number, Start Frame
CLONE OBJECT : CLONE OBJECT Object Number, Source Object
INSTANCE OBJECT : INSTANCE OBJECT Object Number, Source Object
DELETE OBJECT : DELETE OBJECT Object Number
指定したモデルを削除する。
Object Number=モデル番号
存在しないモデル番号の場合は無視。
内部でテクスチャリスト処理も行うためフレームループ内など
時間的に厳しいところでの使用は勧められない。
まとめて消したい場合はDELETE OBJECTSコマンドが早い。
DELETE OBJECTSコマンドとDELETE OBJECTコマンドを混同しないように。
Extends拡張パックのコマンド(B3D~)で作ったモデルはこのコマンドで削除してはいけない。
DELETE OBJECTS : DELETE OBJECTS Object Number From, Object Number To
指定範囲の番号のモデルを削除する。
Object Number From=開始モデル番号
Object Number To=終了モデル番号
存在しないモデル番号の場合は無視。
内部でテクスチャリスト処理も行うためフレームループ内など
時間的に厳しいところでの使用は勧められない。
まとめて行うのでDELETE OBJECTコマンドで一つ一つ削除するよりは早い。
DELETE OBJECTSコマンドとDELETE OBJECTコマンドを混同しないように。
Extends拡張パックのコマンド(B3D~)で作ったモデルはこのコマンドで削除してはいけない。
SAVE OBJECT : SAVE OBJECT Filename, Object Number
POSITION OBJECT : POSITION OBJECT Object Number, X, Y, Z
SCALE OBJECT : SCALE OBJECT Object Number, XSize, YSize, ZSize
ROTATE OBJECT : ROTATE OBJECT Object Number, XAngle, YAngle, ZAngle
MOVE OBJECT : MOVE OBJECT Object Number, Speed
POINT OBJECT : POINT OBJECT Object Number, X, Y, Z
MOVE OBJECT DOWN : MOVE OBJECT DOWN Object Number, Value
MOVE OBJECT LEFT : MOVE OBJECT LEFT Object Number, Value
MOVE OBJECT RIGHT : MOVE OBJECT RIGHT Object Number, Value
MOVE OBJECT UP : MOVE OBJECT UP Object Number, Value
XROTATE OBJECT : XROTATE OBJECT Object Number, XAngle
YROTATE OBJECT : YROTATE OBJECT Object Number, YAngle
ZROTATE OBJECT : ZROTATE OBJECT Object Number, ZAngle
TURN OBJECT LEFT : TURN OBJECT LEFT Object Number, Value
TURN OBJECT RIGHT : TURN OBJECT RIGHT Object Number, Value
PITCH OBJECT UP : PITCH OBJECT UP Object Number, Value
PITCH OBJECT DOWN : PITCH OBJECT DOWN Object Number, Value
ROLL OBJECT LEFT : ROLL OBJECT LEFT Object Number, Value
ROLL OBJECT RIGHT : ROLL OBJECT RIGHT Object Number, Value
SHOW OBJECT : SHOW OBJECT Object Number
モデルの表示を有効にする。
Object Number=モデル番号
HIDE OBJECTコマンドによって表示停止されていたモデルはこのコマンドで表示を再開する。
HIDE OBJECT : HIDE OBJECT Object Number
モデルの表示を無効にする。
Object Number=モデル番号
モデルを削除せずに一時的に表示から消したい時に使う。
SHOW OBJECTコマンドによって表示を有効に戻せる。
PLAY OBJECT : PLAY OBJECT Object Number
LOOP OBJECT : LOOP OBJECT Object Number
STOP OBJECT : STOP OBJECT Object Number
SET OBJECT FRAME : SET OBJECT FRAME Object Number, Frame
SET OBJECT SPEED : SET OBJECT SPEED Object Number, Speed
SET OBJECT INTERPOLATION : SET OBJECT INTERPOLATION Object Number, Interpolation
CONSTRUCTION COMMANDS
SET GLOBAL OBJECT CREATION : SET GLOBAL OBJECT CREATION Creation Mode
オブジェクトマネージャのモデル作成モード設定
Creation Mode=モード値
オブジェクトマネージャがモデルを生成するときの動作モードを設定する。
モード値の意味は以下の通り。
デフォルト設定は0。
- 0:頂点バッファを共有しない。
広い互換性。 - 1:頂点バッファを可能な限り共有する。
メモリー節約、高パフォーマンス、バッファオーバーラン可能性の低下。
MAKE OBJECT : MAKE OBJECT Object Number, Mesh Index, Image Number
MAKE OBJECT BOX : MAKE OBJECT BOX Object Number, Width, Height, Depth
MAKE OBJECT CONE : MAKE OBJECT CONE Object Number, Size
MAKE OBJECT CUBE : MAKE OBJECT CUBE Object Number, Size
MAKE OBJECT CYLINDER : MAKE OBJECT CYLINDER Object Number, Size
MAKE OBJECT FROM LIMB : MAKE OBJECT FROM LIMB Object Number, Second Object, Limb Number
MAKE OBJECT PLAIN : MAKE OBJECT PLAIN Object Number, Width, Height
MAKE OBJECT SPHERE : MAKE OBJECT SPHERE Object Number, Size
MAKE OBJECT TRIANGLE : MAKE OBJECT TRIANGLE Object Number, X1, Y1, Z1, X2, Y2, Z2, X3, Y3, Z3
APPEARANCE COMMANDS
TEXTURE OBJECT : TEXTURE OBJECT Object Number, Image Number
COLOR OBJECT : COLOR OBJECT Object Number, Color Value
モデルの色を指定する。
Object Number=モデル番号
Color Value=カラーコード
厳密にはモデルの光反射色の指定。
SET OBJECT LIGHTコマンドでライト照射処理が無効にされている場合は色が反映しない。
GHOST OBJECT ON : GHOST OBJECT ON Object Number
GHOST OBJECT OFF : GHOST OBJECT OFF Object Number
FADE OBJECT : FADE OBJECT Object Number, Fade Value
LOCK OBJECT ON : LOCK OBJECT ON Object Number
LOCK OBJECT OFF : LOCK OBJECT OFF Object Number
SET OBJECT TEXTURE : SET OBJECT TEXTURE Object Number, Texturing Mode, Mipmap Flag
SCALE OBJECT TEXTURE : SCALE OBJECT TEXTURE Object Number, UScale, VScale
SCROLL OBJECT TEXTURE : SCROLL OBJECT TEXTURE Object Number, X, Y
SET TEXTURE MD3 : SET TEXTURE MD3 Object Number, H0, H1, L0, L1, L2, U0
SET OBJECT SMOOTHING : SET OBJECT SMOOTHING Object Number, Percentage
SHOW OBJECT BOUNDS : SHOW OBJECT BOUNDS Object Number
HIDE OBJECT BOUNDS : HIDE OBJECT BOUNDS Object Number
EXCLUDE OBJECT ON : EXCLUDE OBJECT ON Object Number
EXCLUDE OBJECT OFF : EXCLUDE OBJECT OFF Object Number
SET OBJECT : SET OBJECT Object Number, Wire, Transparent, Cull
SET OBJECT WIREFRAME : SET OBJECT WIREFRAME Object Number, Flag
SET OBJECT TRANSPARENCY : SET OBJECT TRANSPARENCY Object Number, Flag
SET OBJECT CULL : SET OBJECT CULL Object Number, Flag
SET OBJECT FILTER : SET OBJECT FILTER Object Number, Flag
SET OBJECT LIGHT : SET OBJECT LIGHT Object Number, Flag
モデルのライト照射処理の有無を設定する。
Object Number=モデル番号
Flag=1で有効、0で無効。
ライト処理が行われない場合は陰影処理されず、モデルそのままの表示がされる。
SET OBJECT FOG : SET OBJECT FOG Object Number, Flag
SET OBJECT AMBIENT : SET OBJECT AMBIENT Object Number, Flag
SET OBJECT ROTATION XYZ : SET OBJECT ROTATION XYZ Object Number
SET OBJECT ROTATION ZYX : SET OBJECT ROTATION ZYX Object Number
SET OBJECT TO CAMERA ORIENTATION : SET OBJECT TO CAMERA ORIENTATION Object Number
SET OBJECT TO OBJECT ORIENTATION : SET OBJECT TO OBJECT ORIENTATION Object Number, Second Object
DISABLE OBJECT ZDEPTH : DISABLE OBJECT ZDEPTH Object Number
モデルのZ深度無効化
Object Number=モデル番号
このコマンドは指定されたモデルにZ深度データを無視させ、
まるで奥行きが遮られてない様にスクリーンに投影させます。
このコマンドは、あなたが接近しすぎる時、あなたのFPSガンが壁を突き通らない事を保証するのに役立ちます。
ENABLE OBJECT ZDEPTH : ENABLE OBJECT ZDEPTH Object Number
モデルのZ深度有効化
Object Number=モデル番号
このコマンドは指定されたモデルのZ深度データを有効にします。
モデルの前後関係が反映した表示になります。
GLUE OBJECT TO LIMB : GLUE OBJECT TO LIMB Object Number, Second Object, Limb Number
UNGLUE OBJECT : UNGLUE OBJECT Object Number
FIX OBJECT PIVOT : FIX OBJECT PIVOT Object Number
SET OBJECT DIFFUSE : SET OBJECT DIFFUSE Object Number, Color Value
SET OBJECT AMBIENCE : SET OBJECT AMBIENCE Object Number, Color Value
SET OBJECT SPECULAR : SET OBJECT SPECULAR Object Number, Color Value
SET OBJECT EMISSIVE : SET OBJECT EMISSIVE Object Number, Color Value
SET OBJECT SPECULAR POWER : SET OBJECT SPECULAR POWER Object Number, Power
SET LIGHT MAPPING ON : SET LIGHT MAPPING ON Object Number, Image Number
SET DETAIL MAPPING ON : SET DETAIL MAPPING ON Object Number, Image Number
SET BLEND MAPPING ON : SET BLEND MAPPING ON Object Number, Image Number, Blend Mode
SET SPHERE MAPPING ON : SET SPHERE MAPPING ON Object Number, Image Number
SET CUBE MAPPING ON : SET CUBE MAPPING ON Object Number, Face1, Face2, Face3, Face4, Face5, Face6
SET BUMP MAPPING ON : SET BUMP MAPPING ON Object Number, Image Number
SET CARTOON SHADING ON : SET CARTOON SHADING ON Object Number, Shade Image, Edge Image
SET RAINBOW SHADING ON : SET RAINBOW SHADING ON Object Number, Rainbow Image
SET SHADOW SHADING ON : SET SHADOW SHADING ON Object Number
SET REFLECTION SHADING ON : SET REFLECTION SHADING ON Object Number
SET ALPHA MAPPING ON : SET ALPHA MAPPING ON Object Number, Percentage
モデルの透明度を設定する。
Object Number=モデル番号。
Percentage=百分率で透明度の設定。(100=不透明、0=完全透明)
モデルはSET OBJECT TRANSPARENCYコマンドで透明化を有効にしておかなければならない。
SET EFFECT ON : SET EFFECT ON Object Number, FX Filename, Texture Flag
SET SHADING OFF : SET SHADING OFF Object Number
SET SHADOW SHADING OFF : SET SHADOW SHADING OFF Object Number
LOAD EFFECT : LOAD EFFECT Filename, Effect Number, Texture Flag
DELETE EFFECT : DELETE EFFECT Effect Number
SET OBJECT EFFECT : SET OBJECT EFFECT Object Number, Effect Number
SET LIMB EFFECT : SET LIMB EFFECT Object Number, Limb Number, Effect Number
PERFORM CHECKLIST FOR EFFECT VALUES : PERFORM CHECKLIST FOR EFFECT VALUES Effect Number
PERFORM CHECKLIST FOR EFFECT ERRORS : PERFORM CHECKLIST FOR EFFECT ERRORS Effect Number
SET EFFECT CONSTANT BOOLEAN : SET EFFECT CONSTANT BOOLEAN Effect Number, Constant String, Constant Value
SET EFFECT CONSTANT INTEGER : SET EFFECT CONSTANT INTEGER Effect Number, Constant String, Constant Value
SET EFFECT CONSTANT FLOAT : SET EFFECT CONSTANT FLOAT Effect Number, Constant String, Constant Value
SET EFFECT CONSTANT VECTOR : SET EFFECT CONSTANT VECTOR Effect Number, Constant String, Vector Number
SET EFFECT CONSTANT MATRIX : SET EFFECT CONSTANT MATRIX Effect Number, Constant String, Matrix Number
SET EFFECT TECHNIQUE : SET EFFECT TECHNIQUE Effect Number, Technique Name
SET EFFECT TRANSPOSE : SET EFFECT TRANSPOSE Effect Number, Transpose Flag
SET OBJECT FOV : SET OBJECT FOV Object Number, FOV Angle
SET OBJECT NORMALS : SET OBJECT NORMALS Object Number
ENABLE OBJECT ZBIAS : ENABLE OBJECT ZBIAS Object Number, Slope Scale, Depth
DISABLE OBJECT ZBIAS : DISABLE OBJECT ZBIAS Object Number
ENABLE OBJECT ZREAD : DISABLE OBJECT ZREAD Object Number
DISABLE OBJECT ZREAD : DISABLE OBJECT ZREAD Object Number
ENABLE OBJECT ZWRITE : DISABLE OBJECT ZWRITE Object Number
モデルのZバッファ書き込み有効化。
Object Number=モデル番号
指定したモデルに対して前後関係に伴う陰面処理が有効になる。
DISABLE OBJECT ZWRITE : DISABLE OBJECT ZWRITE Object Number
モデルのZバッファ書き込み無効化。
Object Number=モデル番号
指定したモデルに対して前後関係に伴う陰面処理が無効になる。
つまり常に最前面扱い。
COLLISION COMMANDS
MAKE OBJECT COLLISION BOX : MAKE OBJECT COLLISION BOX Object Number, X1, Y1, Z1, X2, Y2, Z2, Collision Flag
DELETE OBJECT COLLISION BOX : DELETE OBJECT COLLISION BOX Object Number
SET OBJECT COLLISION ON : SET OBJECT COLLISION ON Object Number
SET OBJECT COLLISION OFF : SET OBJECT COLLISION OFF Object Number
SET OBJECT COLLISION TO BOXES : SET OBJECT COLLISION TO BOXES Object Number
SET OBJECT COLLISION TO POLYGONS : SET OBJECT COLLISION TO POLYGONS Object Number
SET OBJECT COLLISION TO SPHERES : SET OBJECT COLLISION TO SPHERES Object Number
SET GLOBAL COLLISION ON : SET GLOBAL COLLISION ON
SET GLOBAL COLLISION OFF : SET GLOBAL COLLISION OFF
SET OBJECT RADIUS : SET OBJECT RADIUS Object Number, Radius
AUTOMATIC OBJECT COLLISION : AUTOMATIC OBJECT COLLISION Object Number, Radius, Response
AUTOMATIC CAMERA COLLISION : AUTOMATIC CAMERA COLLISION Camera Number, Radius, Response
CALCULATE AUTOMATIC COLLISION : CALCULATE AUTOMATIC COLLISION
LIMB COMMANDS
PERFORM CHECKLIST FOR OBJECT LIMBS : PERFORM CHECKLIST FOR OBJECT LIMBS Object Number
OFFSET LIMB : OFFSET LIMB Object Number, Limb Number, X, Y, Z
SCALE LIMB : SCALE LIMB Object Number, Limb Number, XSize, YSize, ZSize
ROTATE LIMB : ROTATE LIMB Object Number, Limb Number, XAngle, YAngle, ZAngle
SHOW LIMB : SHOW LIMB Object Number, Limb Number
HIDE LIMB : HIDE LIMB Object Number, Limb Number
TEXTURE LIMB : TEXTURE LIMB Object Number, Limb Number, Image Number
COLOR LIMB : COLOR LIMB Object Number, Limb Number, Color Value
SCALE LIMB TEXTURE : SCALE LIMB TEXTURE Object Number, Limb Number, UScale, VScale
SCROLL LIMB TEXTURE : SCROLL LIMB TEXTURE Object Number, Limb Number, X, Y
ADD LIMB : ADD LIMB Object Number, Limb Number, Mesh Number
LINK LIMB : LINK LIMB Object Number, Limb Parent, Limb Child
REMOVE LIMB : REMOVE LIMB Object Number, Limb Number
SET LIMB SMOOTHING : SET LIMB SMOOTHING Object Number, Limb Number, Percentage
SET LIMB NORMALS : SET LIMB NORMALS Object Number, Limb Number
EXCLUDE LIMB ON : EXCLUDE LIMB ON Object Number, Limb Number
バージョン6.7追加コマンド
EXCLUDE LIMB OFF : EXCLUDE LIMB OFF Object Number, Limb Number
バージョン6.7追加コマンド
MESH COMMANDS
LOAD MESH : LOAD MESH Filename, Mesh Number
SAVE MESH : SAVE MESH Filename, Mesh Number
DELETE MESH : DELETE MESH Mesh Number
CHANGE MESH : CHANGE MESH Object Number, Limb Number, Mesh Number
MAKE MESH FROM OBJECT : MAKE MESH FROM OBJECT Mesh Number, Object Number
SHADER COMMANDS
CREATE VERTEX SHADER FROM FILE : CREATE VERTEX SHADER FROM FILE VertexShader Number, Shader Filename
DELETE VERTEX SHADER : DELETE VERTEX SHADER VertexShader Number
SET VERTEX SHADER ON : SET VERTEX SHADER ON Object Number, VertexShader Number
SET VERTEX SHADER OFF : SET VERTEX SHADER OFF Object Number
SET VERTEX SHADER VECTOR : SET VERTEX SHADER VECTOR VertexShader Number, Constant, Vector4, ConstantCount
SET VERTEX SHADER MATRIX : SET VERTEX SHADER MATRIX VertexShader Number, Constant, Matrix4, ConstantCount
SET VERTEX SHADER STREAM : SET VERTEX SHADER STREAM VertexShader Number, Position, Data, Datatype
SET VERTEX SHADER STREAMCOUNT : SET VERTEX SHADER STREAMCOUNT VertexShader Number, Count
CONVERT OBJECT FVF : CONVERT OBJECT FVF Object Number, FVF Format
CREATE PIXEL SHADER FROM FILE : CREATE PIXEL SHADER FROM FILE PixelShader Number, Shader Filename
DELETE PIXEL SHADER : DELETE PIXEL SHADER PixelShader Number
SET PIXEL SHADER ON : SET PIXEL SHADER ON Object Number, PixelShader Number
SET PIXEL SHADER OFF : SET PIXEL SHADER OFF Object Number
SET PIXEL SHADER TEXTURE : SET PIXEL SHADER TEXTURE PixelShader Number, Slot Number, Image Number
FLUSH VIDEO MEMORY : FLUSH VIDEO MEMORY
COMPILE CSG : COMPILE CSG Input X File, Output X File
VERTEXDATA COMMANDS
LOCK VERTEXDATA FOR LIMB : LOCK VERTEXDATA FOR LIMB Object Number, Limb Number
LOCK VERTEXDATA FOR LIMB : LOCK VERTEXDATA FOR LIMB Object Number, Limb Number
LOCK VERTEXDATA FOR MESH : LOCK VERTEXDATA FOR MESH Mesh Number
ADD MESH TO VERTEXDATA : ADD MESH TO VERTEXDATA Mesh Number
DELETE MESH FROM VERTEXDATA : DELETE MESH FROM VERTEXDATA Vertex Start, Vertex End, Index Start, Index End
CONVERT MESH TO VERTEXDATA : CONVERT MESH TO VERTEXDATA Mesh Number
UNLOCK VERTEXDATA : UNLOCK VERTEXDATA
SET INDEXDATA : SET INDEXDATA Indice Index, Vertex Index
SET VERTEXDATA UV : SET VERTEXDATA UV Vertex Index, U, V
SET VERTEXDATA NORMALS : SET VERTEXDATA NORMALS Vertex Index, NX, NY, NZ
SET VERTEXDATA POSITION : SET VERTEXDATA POSITION Vertex Index, X, Y, Z
SET VERTEXDATA DIFFUSE : SET VERTEXDATA DIFFUSE RGB Value
GET VERTEXDATA INDEX COUNT : Return Integer=GET VERTEXDATA INDEX COUNT()
GET INDEXDATA : Return Integer=GET INDEXDATA(Indice Index)
GET VERTEXDATA VERTEX COUNT : Return Integer=GET VERTEXDATA VERTEX COUNT(Vertex Index)
GET VERTEXDATA POSITION X : Return Float=GET VERTEXDATA POSITION X(Vertex Index)
GET VERTEXDATA POSITION Y : Return Float=GET VERTEXDATA POSITION Y(Vertex Index)
GET VERTEXDATA POSITION Z : Return Float=GET VERTEXDATA POSITION Z(Vertex Index)
GET VERTEXDATA NORMALS X : Return Float=GET VERTEXDATA NORMALS X(Vertex Index)
GET VERTEXDATA NORMALS Y : Return Float=GET VERTEXDATA NORMALS Y(Vertex Index)
GET VERTEXDATA NORMALS Z : Return Float=GET VERTEXDATA NORMALS Z(Vertex Index)
GET VERTEXDATA U : return Float=GET VERTEXDATA U(Vertex Index)
GET VERTEXDATA V : return Float=GET VERTEXDATA V(Vertex Index)
GET VERTEXDATA DIFFUSE : Return DWORD=GET VERTEXDATA DIFFUSE(Vertex Index)
OBJECT EXPRESSIONS
モデルに関する関数。
DarkBASICではモデルをObject(オブジェクト:物体)と呼んでいる。
OBJECT EXIST : Return Integer=OBJECT EXIST(Object Number)
指定番号のモデルが存在しているかどうかを返す。
Object Number=モデル番号
OBJECT VISIBLE : Return Integer=OBJECT VISIBLE(Object Number)
指定番号のモデルが表示中かどうかを返す。
Object Number=モデル番号
これは見かけ上の透明度は考慮されない。
show objectコマンド、hide objectコマンド参照。
OBJECT PLAYING : Return Integer=OBJECT PLAYING(Object Number)
指定番号のモデルがモーション再生しているかどうかを返す。
Object Number=モデル番号
OBJECT LOOPING : Return Integer=OBJECT LOOPING(Object Number)
指定番号のモデルがモーションを繰り返し再生しているかどうかを返す。
Object Number=モデル番号
OBJECT POSITION X : Return Float=OBJECT POSITION X(Object Number)
指定番号のモデルのX座標を返す。
Object Number=モデル番号
OBJECT POSITION Y : Return Float=OBJECT POSITION Y(Object Number)
指定番号のモデルのY座標を返す。
Object Number=モデル番号
OBJECT POSITION Z : Return Float=OBJECT POSITION Z(Object Number)
指定番号のモデルのZ座標を返す。
Object Number=モデル番号
OBJECT SIZE : Return Float=OBJECT SIZE(Object Number)
モデルの半径の大きさを返す。
XYZ各座標が同一値では無い場合は各座標の大きさの平均から半径を返す。
モデルの大きさはモデル作成側のメートルスケールと一致している。
*モデル作成側も巨大物体は作らないほうが良い。せいぜい数メートル。
OBJECT SIZE X : Return Float=OBJECT SIZE X(Object Number,ActualSize)
モデルのX座標での大きさを返す。
Object Number=モデル番号
ActualSizeに1を設定した場合は、拡大縮小変換後のサイズを返す。
ActualSizeは省略可能。
モデルの大きさはモデル作成側のメートルスケールと一致している。
*モデル作成側も巨大物体は作らないほうが良い。せいぜい数メートル。
OBJECT SIZE Y : Return Float=OBJECT SIZE Y(Object Number)
モデルのY座標での大きさを返す。
Object Number=モデル番号
ActualSizeに1を設定した場合は、拡大縮小変換後のサイズを返す。
ActualSizeは省略可能。
モデルの大きさはモデル作成側のメートルスケールと一致している。
*モデル作成側も巨大物体は作らないほうが良い。せいぜい数メートル。
OBJECT SIZE Z : Return Float=OBJECT SIZE Z(Object Number)
モデルのZ座標での大きさを返す。
Object Number=モデル番号
ActualSizeに1を設定した場合は、拡大縮小変換後のサイズを返す。
ActualSizeは省略可能。
モデルの大きさはモデル作成側のメートルスケールと一致している。
*モデル作成側も巨大物体は作らないほうが良い。せいぜい数メートル。
OBJECT ANGLE X : Return Float=OBJECT ANGLE X(Object Number)
指定番号モデルのX角度を返す。
Object Number=モデル番号
OBJECT ANGLE Y : Return Float=OBJECT ANGLE Y(Object Number)
指定番号モデルのY角度を返す。
Object Number=モデル番号
OBJECT ANGLE Z : Return Float=OBJECT ANGLE Z(Object Number)
指定番号モデルのZ角度を返す。
Object Number=モデル番号
OBJECT FRAME : Return Integer=OBJECT FRAME(Object Number)
指定番号モデルのモーション再生位置を返す。
Object Number=モデル番号
OBJECT SPEED : Return Integer=OBJECT SPEED(Object Number)
指定番号モデルのモーション再生速度を返す。
Object Number=モデル番号
DarkBASICはモーション再生速度をFPSに依存している。
内部で前回再生位置からの時間経過を管理していない。
モーション再生速度が一定でも、あるモーションの長さがどれくらいの時間で再生されるかはFPS次第である。
したがってFPSが安定していないと再生速度は安定しない。
FPSを見て全モデルの再生速度調整が毎フレームに必要となる。
OBJECT INTERPOLATION : Return Integer=OBJECT INTERPOLATION(Object Number)
指定番号モデルのモーションのフレーム間の補間率を返す。
Object Number=モデル番号
TOTAL OBJECT FRAMES : Return Integer=TOTAL OBJECT FRAMES(Object Number)
指定番号モデルのモーションの長さを返す。
Object Number=モデル番号
DarkBASICはモーション再生速度をFPSに依存しているので、
モーションの長さが必ずしも時間の長さとは比例しない。
モーション再生速度が一定でも、あるモーションの長さがどれくらいの時間で再生されるかはFPS次第である。
COLLISION EXPRESSIONS
OBJECT HIT : Return Integer=OBJECT HIT(ObjectA Number, ObjectB Number)
OBJECT COLLISION : Return Integer=OBJECT COLLISION(ObjectA Number, ObjectB Number)
GET OBJECT COLLISION X : Return Float=GET OBJECT COLLISION X()
GET OBJECT COLLISION Y : Return Float=GET OBJECT COLLISION Y()
GET OBJECT COLLISION Z : Return Float=GET OBJECT COLLISION Z()
OBJECT COLLISION RADIUS : Return Float=OBJECT COLLISION RADIUS(Object Number)
OBJECT COLLISION CENTER X : Return Float=OBJECT COLLISION CENTER X(Object Number)
OBJECT COLLISION CENTER Y : Return Float=OBJECT COLLISION CENTER Y(Object Number)
OBJECT COLLISION CENTER Z : Return Float=OBJECT COLLISION CENTER Z(Object Number)
INTERSECT OBJECT : Return Float=INTERSECT OBJECT(Object Number, X, Y, Z, ToX, ToY, ToZ)
LIMB EXPRESSIONS
LIMB EXIST : Return Integer=LIMB EXIST(Object Number, Limb Number)
LIMB NAME$ : Return String=LIMB NAME$(Object Number, Limb Number)
LIMB VISIBLE : Return Integer=LIMB VISIBLE(Object Number, Limb Number)
LIMB OFFSET X : Return Float=LIMB OFFSET X(Object Number, Limb Number)
LIMB OFFSET Y : Return Float=LIMB OFFSET Y(Object Number, Limb Number)
LIMB OFFSET Z : Return Float=LIMB OFFSET Z(Object Number, Limb Number)
LIMB SCALE X : Return Float=LIMB SCALE X(Object Number, Limb Number)
LIMB SCALE Y : Return Float=LIMB SCALE Y(Object Number, Limb Number)
LIMB SCALE Z : Return Float=LIMB SCALE Z(Object Number, Limb Number)
LIMB ANGLE X : Return Float=LIMB ANGLE X(Object Number, Limb Number)
LIMB ANGLE Y : Return Float=LIMB ANGLE Y(Object Number, Limb Number)
LIMB ANGLE Z : Return Float=LIMB ANGLE Z(Object Number, Limb Number)
LIMB TEXTURE : Return Integer=LIMB TEXTURE(Object Number, Limb Number)
LIMB TEXTURE NAME : Return String=LIMB TEXTURE NAME(Object Number, Limb Number)
LIMB DIRECTION X : Return Float=LIMB DIRECTION X(Object Number, Limb Number)
LIMB DIRECTION Y : Return Float=LIMB DIRECTION Y(Object Number, Limb Number)
LIMB DIRECTION Z : Return Float=LIMB DIRECTION Z(Object Number, Limb Number)
LIMB POSITION X : Return Float=LIMB POSITION X(Object Number, Limb Number)
LIMB POSITION Y : Return Float=LIMB POSITION Y(Object Number, Limb Number)
LIMB POSITION Z : Return Float=LIMB POSITION Z(Object Number, Limb Number)
CHECK LIMB LINK : Return Integer=CHECK LIMB LINK(Object Number, Limb Number)
SCREEN OBJECT EXPRESSIONS
OBJECT IN SCREEN : Return Integer=OBJECT IN SCREEN(Object Number)
OBJECT SCREEN X : Return Integer=OBJECT SCREEN X(Object Number)
OBJECT SCREEN Y : Return Integer=OBJECT SCREEN Y(Object Number)
PICK OBJECT : Return Integer=PICK OBJECT(Screen X, Screen Y, Object Start, Object End)
PICK SCREEN : PICK SCREEN Screen X, Screen Y, Distance
GET PICK DISTANCE : Return Float=GET PICK DISTANCE()
GET PICK VECTOR X : Return Float=GET PICK VECTOR X()
GET PICK VECTOR Y : Return Float=GET PICK VECTOR Y()
GET PICK VECTOR Z : Return Float=GET PICK VECTOR Z()
PERFORM CHECKLIST FOR ONSCREEN OBJECTS : PERFORM CHECKLIST FOR ONSCREEN OBJECTS Mode
バージョン6.7追加コマンド
AVAILABILITY EXPRESSIONS
ALPHABLENDING AVAILABLE : Return Integer=ALPHABLENDING AVAILABLE()
ALPHA AVAILABLE : Return Integer=ALPHA AVAILABLE()
ALPHACOMPARISON AVAILABLE : Return Integer=ALPHACOMPARISON AVAILABLE()
ANISTROPICFILTERING AVAILABLE : Return Integer=ANISTROPICFILTERING AVAILABLE()
ANTIALIAS AVAILABLE : Return Integer=ANTIALIAS AVAILABLE()
BLITSYSTOLOCAL AVAILABLE : Return Integer=BLITSYSTOLOCAL AVAILABLE()
CALIBRATEGAMMA AVAILABLE : Return Integer=CALIBRATEGAMMA AVAILABLE()
CLIPANDSCALEPOINTS AVAILABLE : Return Integer=CLIPANDSCALEPOINTS AVAILABLE()
CLIPTLVERTS AVAILABLE : Return Integer=CLIPTLVERTS AVAILABLE()
COLORPERSPECTIVE AVAILABLE : Return Integer=COLORPERSPECTIVE AVAILABLE()
COLORWRITEENABLE AVAILABLE : Return Integer=COLORWRITEENABLE AVAILABLE()
CUBEMAP AVAILABLE : Return Integer=CUBEMAP AVAILABLE()
CULLCCW AVAILABLE : Return Integer=CULLCCW AVAILABLE()
CULLCW AVAILABLE : Return Integer=CULLCW AVAILABLE()
GET DEVICE TYPE : Return Integer=GET DEVICE TYPE()
DITHER AVAILABLE : Return Integer=DITHER AVAILABLE()
FILTERING AVAILABLE : Return Integer=FILTERING AVAILABLE()
FOGRANGE AVAILABLE : Return Integer=FOGRANGE AVAILABLE()
FOGTABLE AVAILABLE : Return Integer=FOGTABLE AVAILABLE()
FOGVERTEX AVAILABLE : Return Integer=FOGVERTEX AVAILABLE()
FOG AVAILABLE : Return Integer=FOG AVAILABLE()
FULLSCREENGAMMA AVAILABLE : Return Integer=FULLSCREENGAMMA AVAILABLE()
GET MAXIMUM LIGHTS : Return Integer=GET MAXIMUM LIGHTS()
GET MAXIMUM PIXEL SHADER VALUE : Return Integer=GET MAXIMUM PIXEL SHADER VALUE()
GET MAXIMUM TEXTURE HEIGHT : Return Integer=GET MAXIMUM TEXTURE HEIGHT()
GET MAXIMUM TEXTURE WIDTH : Return Integer=GET MAXIMUM TEXTURE WIDTH()
GET MAXIMUM VERTEX SHADER CONSTANTS : Return Integer=GET MAXIMUM VERTEX SHADER CONSTANTS()
GET MAXIMUM VOLUME EXTENT : Return Integer=GET MAXIMUM VOLUME EXTENT()
MIPCUBEMAP AVAILABLE : Return Integer=MIPCUBEMAP AVAILABLE()
MIPMAP AVAILABLE : Return Integer=MIPMAP AVAILABLE()
MIPMAPLODBIAS AVAILABLE : Return Integer=MIPMAPLODBIAS AVAILABLE()
MIPMAPVOLUME AVAILABLE : Return Integer=MIPMAPVOLUME AVAILABLE()
NONPOWTEXTURES AVAILABLE : Return Integer=NONPOWTEXTURES AVAILABLE()
PERSPECTIVETEXTURES AVAILABLE : Return Integer=PERSPECTIVETEXTURES AVAILABLE()
GET MAXIMUM PIXEL SHADER VERSION : Return Float=GET MAXIMUM PIXEL SHADER VERSION()
PROJECTEDTEXTURES AVAILABLE : Return Integer=PROJECTEDTEXTURES AVAILABLE()
RENDERAFTERFLIP AVAILABLE : Return Integer=RENDERAFTERFLIP AVAILABLE()
RENDERWINDOWED AVAILABLE : Return Integer=RENDERWINDOWED AVAILABLE()
SEPERATETEXTUREMEMORIES AVAILABLE : Return Integer=SEPERATETEXTUREMEMORIES AVAILABLE()
ONLYSQUARETEXTURES AVAILABLE : Return Integer=ONLYSQUARETEXTURES AVAILABLE()
TNL AVAILABLE : Return Integer=TNL AVAILABLE()
TLVERTEXSYSTEMMEMORY AVAILABLE : Return Integer=TLVERTEXSYSTEMMEMORY AVAILABLE()
TLVERTEXVIDEOMEMORY AVAILABLE : Return Integer=TLVERTEXVIDEOMEMORY AVAILABLE()
NONLOCALVIDEOMEMORY AVAILABLE : Return Integer=NONLOCALVIDEOMEMORY AVAILABLE()
TEXTURESYSTEMMEMORY AVAILABLE : Return Integer=TEXTURESYSTEMMEMORY AVAILABLE()
TEXTUREVIDEOMEMORY AVAILABLE : Return Integer=TEXTUREVIDEOMEMORY AVAILABLE()
GET MAXIMUM VERTEX SHADER VERSION : Return Float=GET MAXIMUM VERTEX SHADER VERSION()
VOLUMEMAP AVAILABLE : Return Integer=VOLUMEMAP AVAILABLE()
WBUFFER AVAILABLE : Return Integer=WBUFFER AVAILABLE()
WFOG AVAILABLE : Return Integer=WFOG AVAILABLE()
ZBUFFER AVAILABLE : Return Integer=ZBUFFER AVAILABLE()
ZFOG AVAILABLE : Return Integer=ZFOG AVAILABLE()
MESH EXIST : Return Integer=MESH EXIST(Mesh Number)
EFFECT EXIST : Return Integer=EFFECT EXIST(Effect Number)
VERTEX SHADER EXIST : Return Integer=VERTEX SHADER EXIST(VertexShader Number)
PIXEL SHADER EXIST : Return Integer=PIXEL SHADER EXIST(PixelShader Number)
STATISTIC : Return Integer=STATISTIC(Statistic Code)
3D処理の統計値を得る。
Statistic Code=統計コード
統計コード | 内容 |
1 | ポリゴン数 |
2 | stencil buffer available |
3 | current universe |
4 | number of universes |
5 | number of primitives drawn to screen |
6 | polygon count of current universe |
7 | number of drawn primitives in current universe |
8 | number of polygons tested for collision in current universe |
9 | number of collision tests in current universe |
その他 | 不明 |