纳金网

标题: VRML多媒体编程及自定义节点的应用 [打印本页]

作者: yeu1233    时间: 2012-9-13 16:33
标题: VRML多媒体编程及自定义节点的应用
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 [... ]

" ... "




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5