3DSTATE for Visual basic.Net开发(十三)

本文详细解析了3D场景配置文件(wld)的结构与内容,包括摄像机、灯光、模型对象等元素的定义方式,并通过一个实际示例展示了如何在文件中设置丰富的场景细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3DSTATEfor Visual basic.Net开发

三峡大学土木水电学院3S实验室 肖泽云

注:转载请说明来源处!

十一、WLD世界文件解析

所有的场景都是保存在wld文件中,在这个文件中包含有摄像机、灯光、空气、模型等。下面我们来看一下这个文件的主要构成。
一般来说,完整的wld文件必须包含有摄像机和模型对象。在WLD文件中也存在着一定的语法规则,如果要注释,采用//,且在/*……*/之间为注释。
eg
// 注释
/* notes ....
*/
BEGIN_DESIGN://开始
ATMOSPHERE: 160 160 170 FOG: 0.0100LIGHT: 0//设置大气,雾及灯
DEFAULT_COLOR: 160 160 170 //设置默认颜色
CAMERA: default_camera//设置默认摄像机,其名称在程序中将会调用
LOCATION: 500 0 0//摄像机的位置
DIRECTION: -1 0 0//摄像机的方向,该方向为一向量
VIEW_FIELD: 90 //可视的范围角度
CULLING_DEPTH: 0
EYE_DISTANCE: 4//可视距离
TRACK: NO_TRACK//设置摄像机轨迹,在这里没有设置轨迹
CHASE: NO_CHASE//设置摄像机跟踪,在这里没有设置跟踪
CHASE_TYPE: NO_CHASE 0.3
CHASE_DISTANCE:500
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:0 FRICTION:0 ELASTICITY:0
END_CAMERA: default_camera//结束摄像机的定义

BEGIN_MODULE: main //任何世界都必须包含main,main中列出的即为场景中出现的模型对象
OBJECT://有Object和DYNAMIC两种,其中Object代表静态模型,DYNAMIC表示动态的模型
MODULE_NAME: CUBE//模型的名称,在场景中调用时用
MATRIX:
1000
0100
0010
0001
END_OBJECT:
END_MODULE: main

BEGIN_MODULE: CUBE //该模型中各部分的具体情况
POLYGON: pCUBE0
COLOR: 255 0 0
BITMAP: NO_BITMAP//没有贴图
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
100 -100 100 10100 RGB: 255 0 0 N: 73 -73 73
-100 -100 100 11100 RGB: 255 0 0 N: -73 -73 73
-100 100 100 01100 RGB: 255 0 0 N: -73 73 73
100 100 100 00100 RGB: 255 0 0 N: 73 73 73

POLYGON: pCUBE1
COLOR: 0 255 0
BITMAP: NO_BITMAP
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
-100 -100 100 10100 RGB: 0 255 0 N: -73 -73 73
-100 -100 -100 11100 RGB: 0 255 0 N: -73 -73 -73
-100 100 -100 01100 RGB: 0 255 0 N: -73 73 -73
-100 100 100 00100 RGB: 0 255 0 N: -73 73 73

POLYGON: pCUBE2
COLOR: 0 255 0
BITMAP: NO_BITMAP
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
100 -100 100 01100 RGB: 0 255 0 N: 73 -73 73
100 100 100 00100 RGB: 0 255 0 N: 73 73 73
100 100 -100 10100 RGB: 0 255 0 N: 73 73 -73
100 -100 -100 11100 RGB: 0 255 0 N: 73 -73 -73

POLYGON: pCUBE3
COLOR: 0 0 255
BITMAP: NO_BITMAP
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
100 100 100 00100 RGB: 0 0 255 N: 73 73 73
-100 100 100 10100 RGB: 0 0 255 N: -73 73 73
-100 100 -100 11100 RGB: 0 0 255 N: -73 73 -73
100 100 -100 01100 RGB: 0 0 255 N: 73 73 -73

POLYGON: pCUBE4
COLOR: 0 0 255
BITMAP: NO_BITMAP
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
100 -100 100 00100 RGB: 0 0 255 N: 73 -73 73
100 -100 -100 20100 RGB: 0 0 255 N: 73 -73 -73
-100 -100 -100 22100 RGB: 0 0 255 N: -73 -73 -73
-100 -100 100 02100 RGB: 0 0 255 N: -73 -73 73

POLYGON: pCUBE5
ORIENTATION: BOTTOM
COLOR: 255 0 0
BITMAP: NO_BITMAP
TRANSPARENT: -1DISABLE_BLENDING
ROTATED: NO
LIGHT_DIMINUTION: 20
NUM_OF_POINTS: 4
100 -100 -100 01100 RGB: 255 0 0 N: 73 -73 -73
100 100 -100 00100 RGB: 255 0 0 N: 73 73 -73
-100 100 -100 10100 RGB: 255 0 0 N: -73 73 -73
-100 -100 -100 11100 RGB: 255 0 0 N: -73 -73 -73

END_MODULE: CUBE
END_DESIGN:
整个wld文件的内容就是这些。下面我们看一个wld文件,该文件在场景设置及模型方面更加丰富。
// This file was created by Morfit VR Engine
/* notes .... */
BEGIN_DESIGN:
ATMOSPHERE: 160 160 170 FOG: 0.0000LIGHT: 0
DEFAULT_COLOR: 160 160 170
CAMERA: Camera01
LOCATION: -629.242 -81.1386 97.0172
DIRECTION: 0.998785 0.034767 0.034931
VIEW_FIELD: 45
CULLING_DEPTH: 0
EYE_DISTANCE: 1
TRACK: NO_TRACK
CHASE: NO_CHASE
CHASE_TYPE: NO_CHASE 0.3
CHASE_DISTANCE:500
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:0 FRICTION:0 ELASTICITY:0
END_CAMERA: Camera01

CAMERA: _Last_working_position
LOCATION: -148.464 -146.82 14.6526
DIRECTION: 0.998785 0.034767 0.034931
VIEW_FIELD: 45
CULLING_DEPTH: 0
EYE_DISTANCE: 4
TRACK: NO_TRACK
CHASE: NO_CHASE
CHASE_TYPE: NO_CHASE 0.4
CHASE_DISTANCE:0
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:0 FRICTION:0 ELASTICITY:0

END_CAMERA: _Last_working_position
BACKGROUND: NewBackGround
NUMBER_OF_FRAMES: 1
REPLACE_RATE: 1
PICTURES_EXTENSION: jbm
PICTURES: FON004
DISTANCE: 30000
BOTTOM: -5500
BOTTOM_INTENSITY: 0
INTENSITY_STEP: 0.3
END_BACKGROUND: NewBackGround

LIGHT: NewLight
LOCATION: -670.074 -793.532 317.854
DIRECTION: 0 0 -1
COLOR: 255 255 255
AMBIENT: 0.5 2 100 10
RAYTRACING: NO
DISTANCE: -1
TARGET: GROUP football
AUTO: NO LIGHT_SET
TYPE: LIGHT_DEFAULT
END_LIGHT: NewLight

BEGIN_MODULE: main
DYNAMIC: doorr
MODULE_NAME: doorr
FATHER: NONE
TYPE: regular
CONTROL: 100
TRACK: NO_TRACK000
CHASE: NO_CHASE
CHASE_TYPE: NO_CHASE0.3
CHASE_DISTANCE:0
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:3.402823466385289E+038 FRICTION:0 ELASTICITY:0 ROTATION: WORLD_SPACE000
MATRIX:
1 0 0
0 1 0
0 0 1
LOCATION: -6.1 -51.46000000000001128
SCALE: 1 1 1
END_OBJECT: doorr

DYNAMIC: football
MODULE_NAME: football
FATHER: NONE
TYPE: regular
CONTROL: 100
TRACK: NO_TRACK000
CHASE: NO_CHASE
CHASE_TYPE: NO_CHASE0.3
CHASE_DISTANCE:0
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:3.402823466385289E+038 FRICTION:0 ELASTICITY:0 ROTATION: WORLD_SPACE000
MATRIX:
1 0 0
0 1 0
0 0 1
LOCATION: -46.53273344551995 -151.739119949743520.0553945686713
SCALE: 1 1 1
END_OBJECT: football

DYNAMIC: doorl
MODULE_NAME: doorl
FATHER: NONE
TYPE: regular
CONTROL: 100
TRACK: NO_TRACK000
CHASE: NO_CHASE
CHASE_TYPE: NO_CHASE0.3
CHASE_DISTANCE:0
PHYSICS: SPEED:000 FORCE:000 MAX_SPEED:3.402823466385289E+038 FRICTION:0 ELASTICITY:0 ROTATION: WORLD_SPACE000
MATRIX:
1 0 0
0 1 0
0 0 1
LOCATION: -6.0999999999999990128
SCALE: 1 1 1
END_OBJECT: doorl

OBJECT:
MODULE_NAME: the_world_2
MATRIX:
1000
0100
0010
0.6599999999998545 2.63999999999987301
END_OBJECT:

END_MODULE: main
/*在这中间针对各个Model的各个Polygon进行具体的描述,具体参加Worlds文件架中的Object2.wld文件*/
END_DESIGN:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值