VRML高级三维模型.ppt_第1页
VRML高级三维模型.ppt_第2页
VRML高级三维模型.ppt_第3页
VRML高级三维模型.ppt_第4页
VRML高级三维模型.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲VRML高级三维模型,大纲,造型的编组与素材调用GroupDEF/USE造型的外观设计Material节点创建文本造型高级三维模型点集造型节点线集造型节点面集造型节点挤出造型节点网格标高造型节点作业,造型的编组与素材调用,造型的编组和素材调用VRML提供了一类具有编组功能的节点,可以将多个造型作为自己的子节点组合成一个整体,一起进行平移、旋转、缩放等操作:Group编组节点Transform变换节点Inline内联结点Anchor超级链接节点Switch选择开关结点Billboard布告牌节点LOD层次细节控制节点,造型的编组与素材调用,Group编组节点编组节点可以包含任意数目的子节点,将多个简单造型组合成一组复杂造型,作为一个整体进行设计、命名和调用。语法:Groupchildren#exposedFieldMFNodebboxCenter0.00.00.0#SFVec3fbboxsize-1-1-1#SFVec3faddChildren#eventInMFNoderemoveChildren#eventInMFNode,造型的编组与素材调用,children域用于设定包含在该组结点中的所有子节点,通常为Shape造型节点、Transform坐标变换节点及下一层的Group结点,组节点的数目无限制。默认为空列表。bboxCenter域用于设定包围该组节点所有造型的包围盒的中心点坐标。默认值为(000),中心点在原点。bboxSize域设定包围在当前包围盒的尺寸。默认值为(-1-1-1),由系统设置。addChildren入事件用于将指定节点加入到该组节点列表中。removeChildren入事件用于将指定节点从该组节点列表中删除。,造型的编组与素材调用,节点名的定义与重用在虚拟空间的场景中,为了减少源代码的编写量,提高效率,对重复的造型,通过可以先定义,后重复使用该定义。编写简练;减少程序代码;层次清晰;结构合理;DEF节点名节点类型USE节点名节点名可以由任何字母和数字开头;不能包括单引号、双引号、数字运算或英镑符号。定义的节点只在本文件范围内调用有效,一旦对被定义的源节点的域值进行修改,所有引用节点的域值都随之改变。举例:desk.wrl,造型的外观设计,Appearance节点立体几何造型的外观设计为造型添加颜色;设置有关材质的属性,创建出金属、玻璃、石头等属性:透明度反光度发光度为造型添加纹理贴图,增强造型的真实感。,造型的外观设计,语法:AppearancematerialNULL#exposedFieldSFNodetextureNULL#exposedFieldSFNodetextureTransformNULL#exposedFieldSFNode域值说明:material域用于设定立体造型外观的材质属性。texture域用于设定立体造型表面静态或动态的纹理贴图。textureTransform域用于对使用的纹理贴图进行坐标变换。,造型的外观设计,Material材质节点当节点为NULL时,即apperanceAppearancematerialNULL或apperanceAppearance表示相关的几何体本身为发白光的材质,忽略周围的所有光照,造型为纯白色,无任何亮度对比,无立体感。当节点为空时,即appearanceAppearancematrialMaterial表示一个默认材质结点,采取默认的光照,呈现浅灰色,有亮度对比和立体感。举例,造型的外观设计,Material节点语法MaterialdiffuseColor0.80.80.8#exposedFieldSFColorambientIntensify0.2#exposedFieldSFFlotspecularColor000#exposedFieldSFColoremissiveColor000#exposedFieldSFColorshininess0.2#exposedFieldSFFlottransparency0#exposedFieldSFFlot,造型的外观设计,diffuseColor域设定物体的漫反射颜色:当光照射在物体表面时,物体表面向各个方向反射的基本色彩。域值由三个浮点值组成,分别代表红、绿、蓝三原色(RGB)。默认值为0.80.80.8,浅灰色。ambientIntensify域设定有多少环境光线被物体表面反射。环境光各向同性,以diffuseColor*ambientIntensify来计算。默认值为0.2。,造型的外观设计,specularColor域设定镜面反射光的颜色。入射角等于反射角是镜面反射的基本原理。设置了镜面反射,会因观察角度变化感受到强弱不同的反射效果。默认值为000,反射光为黑色。emmisiveColor域设定发光物体产生光的颜色。默认值为000,表示不发光。,造型的外观设计,shininess域设定物体表面的亮度。取值范围从漫反射表面的0到高度抛光表面的1;较小的取值表示像纤维材质;较大的取值表示像金属材质。默认值为0.2。Transparency域设定物体的透明度。取值范围从不透明的0到完全透明的1。默认值为0.0,表示不透明。,造型的外观设计,创建文本造型,文本(Text)是场景中的一种造型,但不是几何造型。VRML的文本对场景进行说明、信息提示和超级链接。性质:有不同的外观和材质属性;可以进行纹理包装;它是一个没有厚度的平面造型,不具备三维立体特征。Text语法Textstring#exposedFieldMFStringlength#exposedFieldMFFlotmaxExtent0.0#exposedSFFLotfontStyleNULL#exposedSFNode,创建文本造型,string域设定要创建的文本内容。域值可以是一行文本,也可以是多行文本。每一行的文本都要包含在双引号内,多行文本要用逗号或空格分隔,或者分行书写,在引号内的回车符、换行符无效。行间距由FontStyle文本外观节点的Spacing域的域值设定。默认值为空列表,不创建任何文本。例:“Hello”,”IamaStudent”“WelcomTo”,“XiamenUniv.”,创建文本造型,length域域值为每一行文本造型设定长度。长度以VRML长度单位计算。根据设定的长度,系统自动改变字符的尺寸或字符间距来满足设定的长度。默认值为空列表,由系统自动设定。maxExtent域域值设定任意行或列文本的最大有效长度。当某一行文本造型的长度大于它的域值时,系统将通过改变字符尺寸和字符间距将其压缩到其域值所设定的最大有效长度内。默认值为0.0,不对长度进行最大限制。注意:其他没被压缩行的字符间距与被压缩行的字符间距相同。,创建文本造型,fontStyle域设定文本造型的外观特征。域值为NULL或一个FontStyle结点。当域值NULL时,表示使用默认的外观特征:左对齐;水平从左到右排列;垂直方面从上到下排列;文本高度为1.0;文本间距为1.0;字体为Serif。,创建文本造型,FontStyle节点用于设定文本的语种、字符的大小和形状、字体的风格以及文本的对齐方式、排列方式,行间距或列间距等。语法:FontStylefamily“SERIF”#SFStringsize1.0#SFFloatspacing1.0#SFFloatstyle“PLAIN”#SFStringHorizontalTRUE#SFBooljustify“BEGIN”#MFStringleftToRightTRUE#SFBooltopToBottomTRUE#SFBoollanguage“”#SFString,创建文本造型,family域设定文本造型的字符集。字符集有三种:“SERIF”,它是一种细线变宽字体,系统选用TimesNewRoman字体;“SANS”,它是一种简单变宽字体,系统选用Helvertica字体;“TYPEWRITER”,它是一种等宽字体,系统选用Coutier字体。默认值为”SERIF”。size域设定文本字符的尺寸;水平排列时,设定文本高度;垂直排列时,设定文本宽度;默认时为1.0。,创建文本造型,spacing域设定文本字符的行间距。当水平排列时,为行间距;当垂直排列时,为列间距;默认值为1.0。style域设定文本造型的字体风格;有四种:“PLAIN”普通体;“BOLD”粗体;“ITALIC”斜体;“BOLDITALIC”加粗斜体。默认值为“PLAIN”。,创建文本造型,Horizontal域设置文本造型的主排列方向:水平或垂直;默认值为TRUE,表示水平方向是主排列方向、垂直方向是次排列方向。Justify域表示文本造型中字符块的对齐方式;域值为含有一个或两个域值的列表;有两个域值时,用空格或逗号分隔;第一个为主对齐方式;第二个为次对齐方式;当水平排列时,主对齐方式为水平方向,次对齐方式为垂直方向;当垂直排列时,主对齐方式为垂直方向,次对齐方式为水平方向。有四种类型:“BEGIN”左对齐;“MIDDLE”居中对齐;“END”右对齐;“FIRST”;默认值为“BEGIN”,“FIRST”。,创建文本造型,leftToRight域设定文本造型的字符是否从左到右排列;默认值TRUE,从左到右。topToBottom域设定文本造型中的文本是否从上到下排列;默认值为TRUE,从上到下。Language域设定文本造型使用的语言;以两个字母表示,有不同语言编码的地区在语言代码后加连字符和地区编码:ar(阿拉伯);de(德语);de_DE(德语德国);de_CH(德语瑞士);en(英语);en_US(英语美国);en_GB(英语英国);hi(印度);jp(日语);ru(俄语);sa(梵语);zh(中文);zh_TW(中文繁体);zh_CN(中文简体);,创建文本造型,举例:例3-39、3-40、3-41、3-42、3-43,高级三维模型,PointSet点集节点VRML中点的造型是用X、Y、Z三维坐标定位,大小为一个像素的空间点。点集就是不同位置空间点的集合。用途:模拟天上闪烁的繁星和远处点点的灯光;特性:不受光源影响;不能粘贴纹理;不能进行碰撞检测;,高级三维模型,语法:PointSetcoordNULL#exposedFieldSFNodecolorNULL#exposedFieldSFNodecoord域设定离散点的三维坐标位置;color域设定空间点的颜色;,高级三维模型,当域coord可取值NULL,表示无任何点造型。当域coord取值Coordinate坐标节点时,表示对点的坐标进行定位。Coordinate坐标节点语法Coordinatepoint#exposedFieldMFVec3fPoint域的域值提供了一张三维坐标列表,用来设定一个或一组空间点的XYZ坐标。三个数一组,用空格分隔;组与组之间用逗号分隔。如point111,120,345,高级三维模型,如图:垂直三角锥体有4个顶点geometryPointsetcoordCoordinatepoint000200020002,高级三维模型,当color域取值NULL,表示不对空间点着色;当color域取值Color节点时,表示设定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论