推荐给好友 上一篇 | 下一篇

二--X3d文本的显示

 

一、X3D-Edit安装配置

二、文本的显示

三、X3D2D图形的构造

四、基本3D图形的创建方法

五、立体造型的几何变换

六、视点和导航的设置

七、场景的光照效果

八、纹理映射

九、X3D场景的多媒体效果

十、X3D的动画效果

十一、X3D的交互技术

十二、X3D的嵌入脚本编程技术

十三、X3D的嵌入脚本Java编程技术

十四

二、文本的显示


 


介绍如何创建具有文字的场景效果,在创建过程中还将详细介绍如何设置光源以及文字风格等方法。


一、 创建一个新的X3D文件


操作如下:


1 运行X3D-Edit,出现如图所示的界面。



说明:


X3D-Edit程序界面分为五个区,即:用户命令区、节点区、节点属性区、程序编辑区及消息区。


用户命令区是位于顶层,包括菜单命令和工具条命令。


节点区位于界面的左侧,包括X3D目前所支持的所有特性节点,它是标签操作方式,单击相应的标签将在下方显示出相应的节点,凡是不可添加的节点均以灰色显示。


节点区的下方是节点属性区,属性区所在的窗口中包括当前节点的大部分属性,在这里我们可以更改或设置相应的属性值。


界面的最下方是消息区,用来显示当前操作或编译情况。


程序编辑区用来显示和编辑我们所设计的X3D程序,它是多文档窗口形式。


2 X3D-Edit运行后会调用默认的newScene.x3d,当然,我们也可单击File | New菜单重新创建。


3 单击File | Save as ,将默认的newScene.x3d保存为另一个文件1.x3d,并指定到自己的文件夹中。如"d:\X3d示例\"。注意:系统一开始使用默认的保存文件名Untitled-0.x3d


4 单击工具栏最右边的Process XSL按钮,弹出如图所示的对话框。根据安装需要修改其中的文件路径设置。



5 单击"确定"按钮,将会把X3D格式转换为VRML97格式并在IE显示wrl文件场景。若此时鼠标指针为一个十字加上E,那么说明可以正常使用了。


6.在X3D-Edit中导入VRML文件,转换成X3D文件并输出:在菜单栏中的“File”文件菜单中点击“Import”导入命令,在子菜单中选择确定“VRML97(.wrl)”命令;在弹出的“Import”导入对话框中对要导入的VRML文件的位置进行确认;点击“Import”按钮确定后,在弹出的对话框中选定为“Import into a new document”(导入并新建一个文档),点击“OK”按钮确定;这时就完成了VRML文件的导入,并在一瞬间自动转换成了未定标题的X3D文件untitled-1.x3d,通过X3D-Edit程序X3D文件的结构显示,可以清晰地看到X3D文件遵守XML编码规范。相对于VRML源代码来说,可读性有了显著的提高,不过源代码的尺寸大小也明显增加了。在X3D-Edit程序中,可以通过点击X3D文件的结构显示树,则在对应的属性设置对话框中进行更改设置。转换后需修改红色提示部分内容,如加入概貌profile(没有也可以),属性值如field中accessType由eventOut改为outputOnly,type:Vector3Float改为SFVec3f等,完成X3D文件后,即可保存输出。


7. X3D-Edit3.0提供了更为丰富的处理功能,选择第一个Process XSL按钮,根据安装需要修改弹出对话框中的文件路径设置单击"确定"按钮,将会在IE显示x3dv文件场景。



新版本Flux Player V1.2 可支持完整的X3D immersive 概貌,并提供了一个高度优化的引擎以对X3D内容渲染,一组API以进行第三方开发,一次单击就可安装在Web页面中浏览X3D内容的媒体播放器插件,性能更稳定、操纵得到改进


二、 修改head节点下的内容


head X3D的第一个节点,放在场景节点的开头。它对应于HTML中的标记。该节点下的内容可以是component (组件)metadata(元数据)或自定义内容。下面来修改:


1 单击 ,将会在节点属性窗口中显示其属性,如下图所示。



说明:meta (metadata) 元数据为场景提供一些信息,它使用和HTMLmeta 标签一样的定义。每个元数据包括名称(name)和内容(content)


2 单击属性窗口中的content属性右侧的Value单元,弹出如下图所示的窗口。



3 将内容改为"1.x3d"后,单击OK按钮。


4 按同样的方法将head节点下的内容修改成下图所示。



提示:删除某条节点内容,只需选定它后按delete键,或者右击节点,从弹出的快捷菜单中选择"Delete"。另外,有些浏览器不支持中文元数据,最好全部使用英文。


三、 添加几何节点(Shape)


X3D 程序(文档)中,Scene X3D场景图的根节点,所有的场景节点都应添加到该节点下,并且在每个文件里只允许有一个Scene 根节点。操作如下:


1 保留Scene下的NavigationInfo节点内容,删除


2 单击Scene节点。然后在节点区中,单击 Allowed Nodes 标签。


3 从节点列表中,找到Shape,并右击Shape,从弹出的快捷菜单中选择"Insert As Child"。编辑器会自动定位到添加的Shape节点。


说明:Shape(几何)节点用于几何体、文本和外观特性的父节点。


四、 添加文本节点(Text)


Text 是一个用于文本显示的几何节点,在添加之前一定要添加场景外观节点(Appearance)Appearance 指定几何对象的视觉效果,它可以有MaterialTexture TextureTransform 节点。


1 从节点列表中,找到Appearance(外观),右击后从弹出的菜单中选择"Insert As Child"


2 在刚才添加的Appearance节点下添加Material节点。


说明:Material 指定相关几何节点的表面材质属性。用于光源的属性如下表所示:








































属性


含义


默认值


值的范围


diffuseColor


反射光


0.8 0.8 0.8


RGB颜色分量值为0~1


emissiveColor


自身发出的光


0 0 0


同上


specularColor*


高光


0 0 0


同上


shininess*


光强


0.2


0~1


ambientIntensity*


环境光


0.2


0~1


transparency*


透明度


0


0~1


注意:打*号的属性可能不起作用。


3.在Material节点属性窗口中将diffuseColor的属性改为"0 1 0",颜色为绿色。注意:在输入这些数值后一定要按Enter结束。


说明:RGB颜色分量的含义是,R表示红色,G表示绿色,B表示蓝色。各颜色分量的值均在01之间,每个值用空格隔开。


4 单击Appearance节点,从节点列表中,找到Text,然后右击Text,选择"Insert After"添加Text节点。


5 Text节点属性窗口中,将String属性内容设为""Hello, X3D!" "2004-1-2"" ,结果如下所示。


说明: "你好, X3D" "2004-1-2"文本之间有空格且两个文本上有双引号,之所以这么做是希望将其显示成两行文本。


6 编译预览,结果如下图所示。(1.x3d1.wrl



五、 设置文本风格


字体风格的设置是由FontStyle节点指定的,它的属性如下表所示:


















































属性


含义


默认值


可以选择的值


family


字体名


"SERIF"


"SERIF", "SANS", "TYPEWRITER":前两个是可变宽度的字体,最后一个是等宽字体


style


字体风格


PLAIN


PLAIN(常规), BOLD(粗体), ITALIC(斜体), BOLDITALIC(粗斜体)


justify


位置调整


"BEGIN"


"FIRST"(首字符对齐), "BEGIN"(左对齐), "MIDDLE"(居中), "END"(右对齐)


size


字体大小


1


实数值


spacing


行间距


1


实数值


horizontal


是否水平方向


True


True(水平方向), False(垂直方向)


leftToRight


字符是否从左到右


True


True(从左到右), False(从右到左)


topToBottom


字符是否从上到下


True


True(从上到下), False(从下到上)


下列就来将上述两行文本居中斜体显示,且行距设为2倍。


1 Text节点下添加一个子节点FontStyle


2 FontStyle节点属性窗口中,将style属性内容选择为ITALIC


3 justify属性栏内输入 "BEGIN" "MIDDLE",然后按回车。


4 spacing属性栏内输入2.0,然后按回车。这样代码就变成:



5 编译预览,结果如下图所示。(2.x3d2.wrl



但是,BS Contact 6.1好像对文本支持得不够好,justify属性看不出效果,这是因为BS Contact自动将场景进行最大化居中缩放处理。


 


 

评分:0

我来说两句

seccode