Cityengine教程建筑物贴纹理_第1页
Cityengine教程建筑物贴纹理_第2页
Cityengine教程建筑物贴纹理_第3页
Cityengine教程建筑物贴纹理_第4页
Cityengine教程建筑物贴纹理_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、Cityengine 教程CityEngine 建模示例教程 6 : Basic Shape Grammar之Part 2:简单建筑物贴纹理(有图) 本节内容开始对之前构建的建筑贴上纹理。使用的规则是在 上一节的 基础上进行修改。作者也是在学习中,内容中如有 不对的地方,欢迎 1幵始贴纹理之前,先在规则的最前面对要使用的纹理进行定义。 / textures frontdoor_tex = nfacade/shopdoor.tifn wall_tex = Hfacade/brickwall2.tifn dirt_tex = Hfacade/dirtmap.15.tifH roof_tex = H

2、roof/roof.tifn由于要使用的窗户的纹理有9种不同的纹理这些纹理 存放在assets/fa ?ade文件夹中。在使用的时候,我们这里定义随 机获取其中一个窗户纹理,这样窗户的纹理就是随机的了。 random WindowTexture fileRandom(H*facades/textures/window.*.tifH) 2. 为建筑物的正面和侧面定义纹理Frontfacade - setupProjection(0, scope.xy 1.5, 13 1) setupProjection(23 scope.xy, scope.sx, scope.sy) split(y) grou

3、ndfloor_height: Groundfloor | floor_height: Floor * Sidefacade - setupProjection(0, scope.xy5 1.5, 1, 1) setupProjection(2, scope.xy5 scope.sx3 scope.sy) split(y) groundfloor_height: Floor | floor_height: Floor *添力 红色部分的代码,setupProjection()定义面在scope的xy平面使 用color和dirt图片(由通道0和通道2代表)。在使用color map 时,纹理图

4、片将以1 -5m x1 m进行重复贴模。而使用dirt map时, 将会在scope的xy方向平铺。其中setupProjection()命令有 以下几种:setupProjection(uvSet, axesSelector, texWidth, texHeight) setupProjection(uvSet5 axesSelector, tex Width, texHeight, widthOrigin, heightorigin) setupProjection(uvSet5 axesSelector, texWidth, texHeight, widthOrigin, heighto

5、rigin, uwFactor) (1) uvset代表的是不同的纹理图层:uv-set Texture Layer 0 colormap bumpmap dirtmap specularmap opacitymap normalmap 2) axesSelector定义哪个轴分别代表u和v轴,可选的参数 有: scope.xy, scope.xz, scope.yx, scope.yz, scope.zx, scope.zy 以 scope的轴定义 world.xy, world.xz, world.yx, world.yz, world.zx, world.zy 以 world 的轴定义

6、(3 )texWidth和texHeight分别代表纹理的宽度和长度。如 果值小 于0,则认为可以对纹理做镜像显示,符号表示值大小可以浮 动,符号表示相对值。 (4) widthOrigin和heightorigin分别代表距离u方向和v方向的 偏移 (5) uwFactor设置w轴值相对于u轴的系数,默认为0 3. 添加Roof规则 Roof - setupProjection(0, scope.xy, scope.sx, scope.sy) texture(roof_tex) projectUV(O) 其中projectUV()命令含义如下: 命令:projectUV(uvSet)指定纹理

7、应用于明6个uvset。 4. 为窗户和门指定纹理:Window - s(1,1,0.4) t(0,0,-0.25) texture(randomWindowTexture) i(window_asset) Door - S(1,1,0.1) t(0,05-0.5) texture(frontdoor_tex) i(Hbuiltin:cubeH) 5. 定义 Wall 和 SolidWall 的纹理 Wall - color(wallColor) texture(wall_tex) setfmaterial.dirtmap, dirt_tex) projectUV(O) projectUV(2

8、) SolidWall - color(wallColor) s(*1 /1,0.4) t(O,O3-O.4) texture(wall_tex) set(material.dirtmap, dirt_tex) i(builtin:cube:notex) projectUV(O) projectUV(2)为 Wall 和 SolidWall定义使用的纹理,使用set()命令定义在 material.dirtmap属性,使用dirt_tex纹理。然后定义了将纹理贴在 color 和 dirt 通道。 set(attribute3 bool value) set(attribute5 float v

温馨提示

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

评论

0/150

提交评论