VRML多媒体编程及自定义节点的应用

一. VRML多媒体编程

1. 形体生成

方法1: 利用VRML的基本形体节点

方法2: 利用VRML的复杂形体节点

方法3: 利用Inline节点调用另外一个VRML文件

方法4: 利用其它三维绘图工具(如3D MAX、RHINO)生成并输出成VRML文件

2. 灯光的生成

在一个局部坐标系中设置光源,根据具体的光源,给出光照半径、角度、方向

使用的节点有:

PointLight,主要参数有:radius、color
DirectionalLight,主要参数有:direction、color

SpotLight,主要参数有:radius、direction、beamWidth、cutOfAngle

3. 文字的生成

使用的节点有:

Text,主要参数有:string、fontStyle
FontStyle,主要参数有:size、justify、horizontal

4. 图片处理
目的:在形体上贴图。
使用的节点有:

ImageTexture,主要参数有:url
TextureCoordinate,主要参数有:point

TextureTransform,主要参数有:rotation、scale、translation

5. 像素图的生成

使用的节点有

PixelTexture,主要参数有:image
TextureCoordinate,主要参数有:point

TextureTransform,主要参数有:rotation、scale、translation

6. 影像的应用
使用的节点有

MovieTexture,主要参数有:url
7. 声音的生成
使用的节点有

Sound,主要参数有:location、maxBack、minBack、maxFront、minFront、source
AudioClip,主要参数有:url

二. VRML自定义节点的应用
1. PROTO使用步骤
作用:在程序中给出一个自定义节点。
假设的一个问题,想定义一个板凳节点BENCH,如何编程?

步骤1:

写出一段程序,放在程序的第一行之后,注意,有一对方扩弧和一对花扩弧

PROTO BENCH [ ] { }
步骤2:
在方扩弧里面给出编程时可能要改变的参数内容,如想改变板凳腿颜色和板凳腿的尺寸,则在方扩弧里面给出下面的内容:

[ field SFColor legcolor 1 0 0
field SFVec3f legsize 0.4 1.2 1
]

步骤3:

在花扩弧里面给出用几个Transform节点语句定义的板凳内容,颜色用IS语句替代

{
Transform{ … }
}
步骤4:
在程序中用BENCH节点定义所需要的板凳内容,例如下面定义了两个板凳,一个用缺省参数,一个改变了板凳腿的颜色:

Transform{
translation -5 0 0
children BENCH {}
}
Transform{
translation 5 0 0
children BENCH {legcolor 0 0 1}
}
2. EXTERNPROTO使用步骤
作用:使用自己或他人定义的PROTO节点
步骤1:

了解所使用的自定义节点的具体内容

步骤2:

在调用程序中给出一个EXTERNPROTO语句,它由三个部分组成:名称、一对方扩弧、一对双引号。方扩弧里面给出被调用的PROTO语句的内容,但要去掉初始值;双引号中给出被调用文件的位置,它可以在电脑上,也可以在网络中。例如:

EXTERNPROTO BENCH [… ]

发布于 :未分类

发表评论

电子邮件地址不会被公开。