查看: 1236|回复: 0
打印 上一主题 下一主题

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

[复制链接]

435

主题

2

听众

6371

积分

高级设计师

Rank: 6Rank: 6

纳金币
6372
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-9-13 16:33:02 |只看该作者 |倒序浏览
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 [... ]

" ... "
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-15 03:01 , Processed in 0.067054 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部