X3D互动游戏几何建模分析涵盖X3D互动游戏几何建模结构分析和X3D互动游戏几何语法剖析。X3D互动游戏几何建模结构分析包含X3D球体、X3D圆锥体、X3D立方体、X3D圆柱体、X3D文本等分类和设计,X3D互动游戏几何语法剖析主要针对X3D球体语法、X3D圆锥体语法、X3D立方体语法、X3D圆柱体语法、X3D文本语法等进行详细的剖析和设计。
X3D互动游戏三维几何建模结构分析指对基本几何体进行分析设计,包括球体、圆柱体、立方体、椭球体以及圆锥体等。首先根据球体的半径设计一个球体;然后编写圆柱的底半径和高确定一个圆柱体;根据长、宽、高创建一个长方体;通过圆锥的底半径和高编写一个圆锥体造型,如图3-4所示。
图3-4 X3D互动游戏几何体结构分析与设计
X3D互动游戏三维几何建模结构分析与设计:利用球节点创建球体造型需要给出球体半径,生成一个三维立体球;使用X3D互动游戏圆锥体节点需要提供圆锥的半径、高、侧面等信息创建一个三维立体圆锥体;利用Box节点设计立方体和长方体,只需要给出长、宽、高等信息,生成一个三维立体的立方体或长方体造型;使用X3D互动游戏圆柱体节点需要提供半径和高以及侧面等参数创建一个圆柱体;利用文本节点创建三维立体文字造型等。
X3D互动游戏建模设计主要涵盖Shape模型节点、Sphere球体节点、Box立方体节点、Cone圆锥体节点、Cylinder圆柱体节点、Text文本节点等的语法定义、解释和分析。
在X3D互动游戏文件Scene(场景)根节点中添加开发与设计所需要的三维立体场景和造型时,在Shape模型节点中包含两个子节点,分别为Appearance外观节点与geometry几何造型节点。Appearance外观子节点定义了物体造型的外观,包括纹理映像、纹理坐标变换以及外观的材料节点;geometry几何造型子节点定义了立体空间物体的几何造型,例如Box节点、Cone节点、Cylinder节点和Sphere节点等原始的几何结构。
X3D互动游戏节点是X3D互动游戏文件中最高一级的X3D互动游戏节点,包含profile概貌与head头文件。head头文件节点包括component组件、metadata描述说明标签,head标签节点是X3D互动游戏标签的第一个子对象,放在场景的开头,在head头文件元素中加入meta子元素描述说明,表示文档的作者、说明、创作日期、著作权等相关信息。如果想使用指定概貌profile的集合范围之外的节点,可以在head头文件中加入component组件语句,用于描述场景之外的其他信息。
Scene场景节点表示包含所有X3D互动游戏场景语法结构的根节点。在此根节点下增加Shape模型节点和子节点,以创建三维立体场景和造型,在每个文件里只允许有一个Scene根节点。Shape模型节点是建立在Scene场景根节点之下的模型节点,在Shape模型节点下可以创建外观子节点和几何造型子节点,对三维立体空间场景和造型进行外观和几何体描述。
在X3D互动游戏文件中的Scene根场景节点的基础上选择或添加一个Shape模型节点或其他节点可以编辑各种三维立体场景和造型。Shape模型节点定义了一个X3D互动游戏立体空间造型所具有的几何尺寸、材料、纹理和外观特征等,这些特征定义了X3D互动游戏虚拟空间中创建的空间造型。Shape节点是X3D互动游戏的内核节点,X3D互动游戏的所有立体空间造型均使用Shape节点创建,所以Shape节点在X3D互动游戏文件中显得尤为重要。
Shape模型节点可以放在X3D互动游戏文件中的任何组节点下,Shape模型节点可以包含Appearance子节点和geometry子节点,可以用符合类型定义的原型ProtoInstance来代替。Shape模型节点的语法定义如下:
Shape模型节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。Shape模型节点包含DEF、USE、bboxCenter、bboxSize、containerField以及class域等。
Sphere球体节点设计描述了一个球体的几何造型,根据球体半径大小的不同,可以改变球体的大小。球体节点通常作为Shape节点中的geometry子节点。Sphere球体节点是一个几何节点,用来创建一个三维立体球,根据开发与设计需求可以为Sphere球体节点粘贴纹理、设置各种需要的颜色以及透明度等。Shape模型节点可以包含Appearance子节点和geometry子节点,Sphere球体节点作为Shape模型节点下geometry几何节点域中的一个子节点,而Appearance外观和Material材料节点用于描述Sphere球体节点的纹理材质、颜色、发光效果、明暗、光的反射以及透明度等。
Sphere球体节点语法定义了一个三维立体球体的属性和域值,通过Sphere球体节点的域名、域值、域的数据类型以及事件的存储/访问权限的定义来描述一个三维立体空间中的球体造型,主要利用球体半径(radius)和实心(solid)参数创建(设置)X3D互动游戏球体文件. Sphere球体节点的语法定义如下:
Sphere球体节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ x表示。域数据类型描述SFFloat域是单值单精度浮点数; SFBool域是一个单值布尔量,取值范围为[true|false],事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值. Sphere球体节点包含DEF、USE、radius、solid、containerField以及class域等。
Box立方体节点是一个三维立体基本几何节点,用来创建立方体、长方体以及立体平面的原始几何造型,该节点一般作为Shape节点中geomety域的子节点。Box立方体节点描述了一个立方体的几何造型。根据立方体的长、宽和高大小的不同可以改变立方体的大小和长短。Box立方体节点通常作为Shape节点中的geometry子节点。
Box立方体节点语法定义了一个三维空间立方体造型的属性名、域值、域数据类型、存储/访问类型,通过Box立方体节点的域名、域值等来描述一个三维空间立方体造型,主要利用立方体的size大小分别定义立方体的长、高和宽,用solid等参数创建X3D互动游戏中的立方体造型。Box立方体节点的语法定义如下:
Box立方体节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。域数据类型描述SFVec3f域定义了一个三维向量空间,一个SFVec3f域值包含3个浮点数,数与数之间用空格分离,该值表示从原点到所给定点的向量;SFBool域是一个单值布尔量,取值范围为[true|false],事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值。Box立方体节点包含DEF、USE、size、solid、containerField以及class域等。
Cone圆锥体节点设计是在X3D互动游戏文件中创建一个三维立体几何节点,用来在三维立体空间中创建一个圆锥体造型,根据开发与设计需求可以为Cone圆锥体节点粘贴纹理、设置各种需要的颜色以及透明度等,使浏览者体验三维立体空间中各种物体造型的浏览效果。Cone圆锥体节点定义了一个圆锥体的原始造型,是X3D互动游戏中的基本几何造型节点,一般作为Shape节点中的geometry子节点。Shape节点中的Appearance外观和Material材料子节点用于描述Cone圆锥体节点的纹理材质、颜色、发光效果、明暗、光的反射以及透明度等,提高开发与设计的效果。Cone圆锥体节点描述了一个圆锥体的几何造型,通过设置圆锥体的半径大小、圆锥体的高度等参数可以改变圆锥体的尺寸大小。
Cone圆锥体节点语法定义了一个三维立体空间中圆锥体造型的属性名和域值,利用Cone圆锥体节点的域名、域值、域的数据类型以及事件的存储/访问权限的定义来创建一个三维立体空间中的Cone圆锥体造型,主要使用Cone圆锥体节点中的高度(height)、圆锥底半径(bottomRadius)、侧面(side)、底面(bottom)以及实心(solid)参数创建X3D互动游戏中的圆锥体造型。Cone圆锥体节点的语法定义如下:
Cone圆锥体节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。域数据类型描述SFFloat域是单值单精度浮点数; SFBool域是一个单值布尔量,取值范围为[true|false],事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值. Cone圆锥体节点包含DEF、USE、height、bottomRadius、side、bottom、solid、containerField以及class域等。
Cylinder圆柱体节点设计描述了一个圆柱体的3D几何造型,根据圆柱体的半径大小、圆柱体高度的不同可以改变圆柱体的尺寸。圆柱体节点通常作为Shape节点中的geometry几何子节点。Cylinder圆柱体节点定义了一个圆柱体的原始造型,是X3D互动游戏中的基本几何造型节点。Shape节点中的Appearance外观和Material材料子节点用于描述Cylinder圆柱体节点的纹理材质、颜色、发光效果、明暗、光的反射以及透明度等,提高开发与设计的效果。
Cylinder圆柱体节点语法定义了一个三维立体空间中圆柱体造型的属性名和域值,利用Cylinder圆柱体节点的域名、域值、域的数据类型以及事件的存储/访问权限的定义来创建一个三维立体空间中的Cylinder圆柱体造型,主要利用Cylinder圆柱体节点中的高度(height)、圆柱底半径(bottomRadius)、侧面(side)、底面(bottom)以及实心(solid)参数创建X3D互动游戏中的三维立体圆柱体造型。Cylinder圆柱体节点定义了一个圆柱体的三维立体造型,通常作为Shape节点中的geometry域的值。Cylinder圆柱体节点的语法定义如下:
Cylinder圆柱体节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。域数据类型描述SFFloat域是单值单精度浮点数;SFBool域是一个单值布尔量,取值范围为[true|false],事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值。Cylinder圆柱体节点包含DEF、USE、height、radius、top、side、bottom、solid、containerField以及class域等。
Text文本节点设计用来在X3D互动游戏空间中创建文本造型,通常使用Shape节点的geometry域的值。Text文本节点描述了一个文字几何造型,根据文字的文本内容创建一行或多行文本、定义文本的长度以及文本的外观特征等。Text文本节点通常作为Shape节点中的geometry几何子节点。Text文本节点用于在虚拟现实立体空间中创建文字,Text文本节点包含有string、length、maxExtent、lineBounds、textBounds以及fontStyle等域,其中fontStyle为文本外观子节点。
Text文本节点语法定义了一个三维立体空间中文本的属性名和域值,利用Text文本节点的域名、域值、域的数据类型以及事件的存储/访问权限的定义来创建一个三维立体空间中的Text文本,主要利用Text文本节点中的文本内容(string)、文本长度(length)、文本最大有效长度(maxExtent)以及实心(solid)等参数创建X3D互动游戏中的三维立体文本造型. Text文本节点的语法定义如下:
Text文本节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。域数据类型描述SFFloat域是单值单精度浮点数; MFFloat域是多值单精度浮点数;SFBool域是一个单值布尔量,取值范围为[true|false]; MFString域是一个含有零个或多个单值的多值域,指定了零个或多个字符串;SFVec2f域定义了一个二维矢量;MFVec2f域是一个包含任意数量的二维矢量的多值域,指定零组或多组二维矢量。事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值。Text文本节点包含DEF、USE、string、length、maxExtent、solid、lineBounds、textBounds、containerField以及class域等。
FontStyle文本外观节点是Text文本节点的子节点,用来控制文本造型的外观特征,通过设定FontStyle节点可以改变由Text节点创建的文本造型的外观、字体、字型、风格和尺寸大小等。FontStyle文本外观节点用于在虚拟现实立体空间中创建文字时对文字的外观进行设计,FontStyle文本外观节点包含family、style、justify、size、spacing、language、horizontal、leftToRight以及topToBottom域(属性)等。
FontStyle文本外观节点语法定义了一个三维立体空间中文本外观的属性名和域值,利用文本外观节点的域名、域值、域的数据类型以及事件的存储/访问权限的定义来创建一个效果更加理想的三维立体空间文字造型,主要利用FontStyle文本外观节点中的family(字体)、style(文本风格)、justify(摆放方式)、size(文字大小)、spacing(文字间距)、language(语言)、horizontal(文本排列方式)等参数创建X3D互动游戏中的三维立体文本外观造型。FontStyle文本外观节点的语法定义如下:
FontStyle文本外观节点包含域名、域值、域数据类型以及存储/访问类型等,节点中的数据内容包含在一对尖括号中,用一对 、/ 表示。域数据类型描述SFFloat域是单值单精度浮点数;SFBool域是一个单值布尔量,取值范围为[true|false];SFString域是单值字符串类型;MFString域是一个含有零个或多个单值的多值域,指定了零个或多个字符串。事件的存储/访问类型描述表示域(属性)的存储/访问类型,包括inputOnly(输入类型)、outputOnly(输出类型)、initializeOnly(初始化类型)以及inputOutput(输入/输出类型)等,用来描述该节点必须提供该属性值。FontStyle文本外观节点包含DEF、USE、family、style、justify、size、spacing、language、horizontal、leftToRight、topToBottom、containerField以及class域等。