BASIC3D COMMANDS

Last-modified: 2010-07-20 (火) 16:02:07

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ポリゴン数
2stencil buffer available
3current universe
4number of universes
5number of primitives drawn to screen
6polygon count of current universe
7number of drawn primitives in current universe
8number of polygons tested for collision in current universe
9number of collision tests in current universe
その他不明