Cityengine教程建筑物貼紋理_第1頁
Cityengine教程建筑物貼紋理_第2頁
Cityengine教程建筑物貼紋理_第3頁
Cityengine教程建筑物貼紋理_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——Cityengine教程建筑物貼紋理[Cityengine教程]CityEngine建模例如教程6:BasicShapeGrammar之Part2:簡單建筑物貼紋理(有圖)

本節(jié)內(nèi)容開始對之前構(gòu)建的建筑貼上紋理。使用的規(guī)則是在上一節(jié)的基礎(chǔ)上進(jìn)行修改。也是在學(xué)習(xí)中,內(nèi)容中如有不對的地方,歡迎大家指正。

1.開始貼紋理之前,先在規(guī)則的最前面對要使用的紋理進(jìn)行定義。//textures

frontdoor_tex=\wall_tex=\dirt_tex=\roof_tex=\

由于要使用的窗戶的紋理有9種不同的紋理,這些紋理存放在assets/fa?ade文件夾中。在使用的時候,我們這里定義隨機獲取其中一個窗戶紋理,這樣窗戶的紋理就是隨機的了。

randomWindowTexture

fileRandom(\2.為建筑物的正面和側(cè)面定義紋理Frontfacade-->

setupProjection(0,scope.xy1.5,1,1)

=

setupProjection(2,scope.xy,scope.sx,scope.sy)

split(y){groundfloor_height:Groundfloor|{~floor_height:Floor}*}Sidefacade-->

setupProjection(0,scope.xy,1.5,1,1)

setupProjection(2,scope.xy,scope.sx,scope.sy)split(y){groundfloor_height:Floor|{~floor_height:Floor}*}

添加紅色部分的代碼,setupProjection()定義面在scope的xy平面使用color和dirt圖片(由通道0和通道2代表)。在使用colormap時,紋理圖片將以1.5m×1m進(jìn)行重復(fù)貼模。而使用dirtmap時,將會在scope的x、y方向平鋪。其中setupProjection()命令有以下幾種:

setupProjection(uvSet,axesSelector,texWidth,texHeight)setupProjection(uvSet,axesSelector,texWidth,texHeight,widthOrigin,heightOrigin)

setupProjection(uvSet,axesSelector,texWidth,texHeight,widthOrigin,heightOrigin,uwFactor)(1)uvset代表的是不同的紋理圖層:uv-setTextureLayer0colormap1bumpmap

2dirtmap3specularmap4opacitymap5normalmap

(2)axesSelector定義哪個軸分別代表u和v軸,可選的參數(shù)有:

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的軸定義

(3)texWidth和texHeight分別代表紋理的寬度和長度。假使值小于0,則認(rèn)為可以對紋理做鏡像顯示,~符號表示值大小可以浮動,‘符號表示相對值。

(4)widthOrigin和heightOrigin分別代表距離u方向和v方向的偏移

(5)uwFactor設(shè)置w軸值相對于u軸的系數(shù),默認(rèn)為03.添加Roof規(guī)則Roof-->

setupProjection(0,scope.xy,scope.sx,scope.sy)texture(roof_tex)projectUV(0)

其中projectUV()命令含義如下:

命令:projectUV(uvSet)指定紋理應(yīng)用于哪個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,0,-0.5)

texture(frontdoor_tex)i(\

5.定義Wall和SolidWall的紋理Wall-->color(wallColor)texture(wall_tex)

set(material.dirtmap,dirt_tex)projectUV(0)projectUV(2)SolidWall-->color(wallColor)s('1,'1,0.4)

t(0,0,-0.4)texture(wall_tex)

set(material.dirtmap,dirt_tex)i(\projectUV(0)projectUV(2)

為Wall和SolidWall定義使用的紋理,使用set()命令定義在material.dirtmap屬性,使用dirt_tex紋理。然后定義了將紋理貼在color和dirt通道。set(attribute,boolvalue)set(attribute,floatvalue)set(attribute,str

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論