這篇教程是向武林網的朋友詳解NURBS命令。教程介紹地非常全面,對于學習3Dmax的朋友很有幫助,推薦過來,大家一起來學習吧!
第一章 NURBS概念
NURBS是一種非常優秀的建模方式,在高級三維軟件當中都支持這種建模方式。NURBS能夠比傳統的網格建模方式更好地控制物體表面的曲線度,從而能夠創建出更逼真、生動的造型。NURBS曲線和NURBS曲面在傳統的制圖領域是不存在的,是為使用計算機進行3D建模而專門建立的。在3D建模的內部空間用曲線和曲面來表現輪廓和外形。它們是用數學表達式構建的,NURBS數學表達式是一種復合體。
在這一章里,只是簡要地介紹一下NURBS的概念,來幫助了解怎樣建立NURBS和NURBS物體為什么會有這樣的表現。
1.1 NURBS的定義
NURBS是Non-Uniform Rational B-Splines的縮寫,是非統一有理B樣條的意思。具體解釋是:
。Non-Uniform(非統一):是指一個控制頂點的影響力的范圍能夠改變。當創建一個不規則曲面的時候這一點非常有用。同樣,統一的曲線和曲面在透視投影下也不是無變化的,對于交互的3D建模來說這是一個嚴重的缺陷。
。Rational(有理):是指每個NURBS物體都可以用數學表達式來定義。
。B-Spline(B樣條):是指用路線來構建一條曲線,在一個或更多的點之間以內插值替換的。
簡單地說,NURBS就是專門做曲面物體的一種造型方法。NURBS造型總是由曲線和曲面來定義的,所以要在NURBS表面里生成一條有棱角的邊是很困難的。就是因為這一特點,我們可以用它做出各種復雜的曲面造型和表現特殊的效果,如人的皮膚,面貌或流線型的跑車等。
1.2 度數和連續性
所有的曲線都有Degree(度數)。一條曲線的度數在表現所使用的等式里面是最主要的指數。一個直線的等式度數是1,一個二次的等式度數是2.NURBS曲線表現是立方等式,度數是3.可以把度數設得很高,但通常不必要這樣做。雖然度數越高曲線越圓滑,但計算時間也越長。一般只要記住Degree(度數)值越高曲線越圓滑就可以了。
曲線也都有Continuity(連續性)。一條連續的曲線是不間斷的。連續性有不同的級別,一條曲線有一個角度或尖端,它的連續是是C0.一條曲線如果沒有尖端但曲率有改變,連續性是C1.如果一條曲線是連續的,曲率不改變,連續性是C2,如圖所示。
一條曲線可以有較高的連續性,但對于計算機建模來說這三個級別已經夠了。通常眼睛不能區別C2連續性和更高的連續性之間的差別。
連續性和度數是有關系的。一個度數為3的等式能產生C2連續性曲線。NURBS造型通常不需要這么高度數的曲線。
一條不同片斷的NURBS曲線可以用不同級別的連續性。具體來說,在同樣的位置或非常靠近的地方放置一些可控點,會降低連續性的級別。兩個重疊的可控點會使曲率變尖銳。三個重疊的可控點會在曲線里建立一個有角度的尖角。附加一個或兩個可控點會在曲線的附近聯合它們的影響力。
從可控點中刪除一個離開它們,就增加了曲線的連續性的級別。在3DMAX里,Fuse(熔化)可控點會在曲線里建立一個假象的曲率或尖角。如果要恢復原狀,Unfuse(反熔化)那個點就可以了。
1.3 Refine(精煉)曲線和曲面
精煉一條NURBS曲線的方法是在上面加更多的可控點。精煉能更精細地控制曲線。當在3DMAX里精煉一條曲線的時候,軟件會保持原始的曲率(從技術上說,它保持著統一的節點矢量)。換句話說,曲線的形狀不會改變,但是相鄰的可控點會從新加的可控點那里移開。
NURBS曲面與NURBS曲線本質上有一親的屬性。
1.4 點曲線和點曲面的概念
在3DMAX里可以用點曲線和點曲面來建立模型。控制這些物體的點是被強制依附于曲線或曲面上的。它沒有黃色的虛線控制格和重量控制。這是一個比較簡單的界面,初學者可能更喜歡用。這并不是說高級用戶就用不上了,如果是那樣的話開發商就不會把它加到3DMAX中去了。可以用基礎點來構建一條曲線,然后構建從屬曲面。
可以使用按鈕來把點曲線或點曲面轉換成獨立的可控曲線或可控曲面。另一方面,盡量不要把可控曲線或曲面轉換成點曲線或曲面,因為這樣會有多種點的解決方案,會有難以遇料的結果。
1.5 Tolerance(容差)
這里先介紹一個容差的概念,以后將要用到。容差是指在3DMAX所使用的度量單位里的一個距離。如果連接的曲線間的間距大于這個值,3DMAX實際上是先建立一條融合曲線,然后再把三個部分連接在一起形成一條完整的曲線。如果間距小于這個值,則3DMAX不建立融合曲線。
先在兩條曲線間建立一條Blend(融合)曲線,然后把三條曲線連接在一起形成一條單個的曲線,這是一種比較好的方法,得到的結果與父曲線匹配得很好。
當有一個距離,但是它太小的時候會出現問題。在這種情況下,3DMAX要產生融合,但是因為那里沒有足夠的空間給它,結果曲線會有一個環形在那里。要避免這個環形,把Tolerance(容差)設置得比間距大就可以了。如果設置容差為0,3DMAX會為它選擇一個值。
第二章 NURBS模型
像3DMAX的其它物體一樣,一個NURBS模型也能集合多個NURBS次物體。例如,一個NURBS物體可能包含兩個曲面,而它們在空間里是相互獨立的,沒有依附關系。無論是NURBS曲線還是NURBS曲面都是可以進入其次物體級別,用點或者可控點來調節。這里的點和可控點與傳統的3DMAX的Spline Objects(樣條物體)的控制點表現都很出色。
在NURBS模型的父物體如果是一個NURBS曲面,下面列出了NURBS Sub-Objects(次物體)有可能包含的所有項目:
。Surfaces(曲面):在3DMAX中有兩種NURBS曲面。一種是用點來控制的Point surface(點曲面),這些點總是在曲面上。另一種使用CV(可控點)來控制的CV surface(可控曲面),這些點可以在曲面的外部來控制曲面的形態,調節起來更加靈活。
。Curves(曲線):在3DMAX中也有兩種NURBS曲線。這兩種是完全符合上面提到的那兩種曲面的。Point Curve(點曲線)是由曲線上的點來控制的,這些點總在曲線上。CV Curve(可控曲線)是由可控點來控制的,這些點不一定在曲線上。
。Points(點):點曲面和點曲線的Sub- Objects(次物體)里有這個項目。能建立一個點次物體,可以不是曲線或曲面的一部分。
。CV(可控點):可控曲面和可控曲線有CV(可控點)次物體。不像點那樣,CV(可控點)總是曲線或曲面的一部分。
。Import(引入):引入是NURBS物體把其它3DMAX物體引入到自身造型內的一個過程。在NURBS造型內部,被引入的物體會被當作NURBS造型來渲染,但是保持最初的參數和變動修改。
2.1 建立NURBS模型
3DMAX提供了多種途徑來建立NURBS曲面。下面是建立NURBS物體的幾種方法:
。可以在Create(建立)命令面板的Shape(圖形)面板中建立NURBS Curves(曲線)。
。可以在Create(建立)命令面板的Geometry(幾何體)面板中建立NURBS Surfaces(曲面)。當使用這種方法的時候,NURBS Surfaces(曲面)只是一個原始的平面矩形,可以使用Modify(變動)命令面板來改變。
。可以使用Modify(變動)命令面板的Edit Stack(編輯堆棧層)按鈕,把一個原始幾何體轉化為NURBS物體。
。可以把Torus Knot環形節轉化為NURBS物體。
。可以把Prism棱柱轉化為NURBS物體。
。可以把Loft放樣物體轉化為NURBS物體。
。可以把Spline樣條曲線轉化為NURBS物體。
。可以把Patch Gird物體轉化為NURBS物體。
2.2 創建NURBS模型
當創建NURBS模型的時候,通常是遵循下面這些步驟的:
。建立一個簡單的物體作為NURBS的起始物體,可以是一個曲面物體或是被轉化的原始幾何體。
。進入Modify(變動)命令面板。在這里能編輯原始的物體,或者建立附加的次物體來修飾造型。也可以選擇刪除原始物體,在Sub-Objects(次物體)里面重新建立一個起始物體。
可以直接進入到Modify(變動)命令面板,以避免建立一個附加的Top-Level(頂級)NURBS物體會出現的問題。在一個NURBS物體里,次物體可分從屬的次物體和獨立的次物體,從屬的次物體被顯示為綠色,而獨立的次物體則顯示為白色。
2.3 Surfaces Trimming(曲面剪切)
剪切曲面是使用一條在這個面上的封閉曲線,來剪掉曲線以外的部分,或者是在曲面上剪出一個洞。也能把剪切的部分翻轉或者顛倒過來,不過這僅限于剪出的那個洞或最初剪掉的曲線以外的部分。這個功能在2.0版之前是無法實現的。
在剪切一個面之前,必須在這個面上建立一條曲面上的曲線。下列這些曲線能夠剪切曲面。
。Surface-Surface Intersection Curve(面與面交叉線)
。U Iso Curve(水平Iso曲線)和V Iso Curve(垂直Iso曲線)
。Normal Projected Curve(標準投影曲線)
。Vector Projected Curve(矢量投影曲線)
。CV Curve on Surface(曲面上的可控曲線)
。Point Curve on Surface(曲面上的點曲線)
實例:在CV Surface(可控曲面)上剪出一個洞
1、在Top視圖里建立一個CV Surfacd(可控曲面)
2、然后進入Modify(變動)命令面板,按下按鈕,打開建立工具箱。然后按下按鈕,激活Top視圖,在已建好的曲面上建立一條封閉的CV曲線。
3、進入Curve Level(曲線級),選擇新建的曲線,把滾動面板向上托,勾選Trim(剪切)和Flip Trim(翻轉剪切)就可以在曲面上剪出一個洞。
注意:如果把NURBS曲面的General(總體設置)里面的Surface Trim(曲面剪切)關掉的話(清除勾選),那么所剪切的結果則不會顯示在視圖中。
2.4 NURBS模型的變動修改和建立次物體
當進入Modify(變動)命令面板的時候,可以直接編輯NURBS模型。但不能應用一個修改器來作用于全部種類3DMAX物體。
當在Modify(變動)命令面板里編輯NURBS物體的時候,可以在浮動的工具箱里建立次點、曲線、曲面等次物體,而不用再返回到建立面板。如果經常使用3DMAX的話,會感到這是一種很特別的方法。在NURBS曲線和曲面的Modify(變動)命令面板中,增加了很多新的功能,可以建立新的NURBS次物體
下面將簡要地介紹怎樣建立NURBS Sub-objects(次物體),使我們有一個初步的概念,在后面的章節中再系統地進行學習。
。在曲線和曲面的滾動面板中都能建立Point(點)次物體。在這里所創建的點相對于這個NURBS物體來說,要么是獨立的點,要么是從屬于NURBS幾何體的一個點。
。在曲線和曲面的滾動面板中也都能建立Curves(曲線)次物體。創建的曲線次物體和點一樣有兩種狀態,一種是獨立的Point Curve(點曲線)或CV Curve(可控曲線),另一種狀態是在造型中已經存在的曲線和曲面的從屬曲線。例如,用Blend Curves(融合曲線)命令將兩條分離的曲線末端互相連接,中間的那條圓滑的過渡曲線就是從屬曲線。
。曲面有一個自己的滾動面板。曲面次物體也分為兩種。要么是獨立的Point Surface(點曲面)或CV Surface(可控曲面),要么是從屬于造型中已經存在的曲面。例如,用Blend Surface(融合曲面)將兩個分離的曲面的邊連接起來,在中間形成一個圓滑的過渡曲面,這個過渡曲面就是從屬曲面。
。可以結合其它3DMAX物體。如果結合的物體不是NURBS物體,它將被轉換為NURBS幾何體。在3DMAX3.0版里NURBS曲線可以結合NURBS曲面或能轉換為其他3DMAX物體。被結合的物體變成一個或多個曲線或曲面次物體。
。可以Import(引入)其他3DMAX物體。被引入的物體將保持自己的參數。當是NURBS物體一部分的時候,作為NURBS物體來渲染,但不能在Import(引入)的次物體級別里面編輯它。在這個次物體級別里,視圖顯示為一般類型的幾何體,而不是NURBS物體。一個NURBS曲面能Import(引入)曲線、曲面或轉換為NURBS的其他3DMAX物體。
注意:3DMAX可以分離出一個NURBS次物體,使之成為另一個NURBS物體,還能提取Import(引入)的物體,使之獨立,成為真正的NURBS物體的一部分。
2.5 使用NURBS工具箱來建立次物體
除了滾動面板以外,還有一種更為簡便和快捷地建立NURBS次物體的方法,那就是使用NURBS的工具箱。大家要盡量使用工具箱來建立NURBS次物體,這對以后的快速建模很有幫助,因為這樣可以在任何一個級別直接建立次物體,而不用回到Top級使用滾動面板來建立。
觀察工具箱
1、選擇一個已建好的NURBS物體,然后進入Modify(變動)命令面板,
2、打開NURBS的建立工具箱
工具箱的控制按鈕是用來建立NURBS次物體的。而在3DMAX3.0版里曲線和曲面的工具箱是一樣的,曲線次物體也可以建立曲面。一般來說,工具箱是按照下面所述運作的:
。在Modify(變動)命令面板里,打開按鈕的時候,每當選擇了一個NURBS物體或次物體,就能看見工具箱了。當沒有選擇NURBS物體或轉到其它命令面板的時候,工具箱就會消失。當再回到變動面板或選擇NURBS物體的時候,就會再次出現。
。可以用工具箱在NURBS物體的Top Level(頂級)、Object Level(物體級)和一些NURBS次物體級別直接建立次物體。
。當打開工具箱里的一個按鈕進入到建立模式的時候,變動面板將改變顯示的參數(如果有的話),顯示為所建立的這種次物體的參數。
。如果在Top Level(頂級)或物體級使用工具箱來建立一個物體,想修改就必須到次物體級別里。
。如果是在次物體級別里使用工具箱來建立一個同樣的次物體類型,例如在曲面次物體級別建立一個曲面,可以關閉工具箱上的建立按鈕(或擊右鍵)直接進行編輯。
。如果是在次物體級別里使用工具箱來建立一個不同的次物體類型,就必須轉換到所建立的次物體級別里,才能進行編輯。例如,建立了一條曲線,就要到Curve Level(曲線級)選擇這條曲線進行變動修改。
把鼠標放在工具箱的每一個按鈕上,都會出現相應的提示來描述功能。
2.6 NURBS Curves(曲線)
NURBS Curves(曲線)是Shape(樣條)物體,可以用來做各種曲線,使用擠壓或旋轉功能以一條NURBS Curves(曲線)為基礎,輕松地產生一個三維曲面。可以用NURBS曲線作為路徑或用來Loft(放樣)。但這種放樣所產生的物體不是NURBS物體,在后面交介紹NURBS專用的放樣方法。
也可以用NURBS曲線作為控制器的路徑或運動軌跡。
還可以給一條NURBS曲線加上厚度,渲染成圓柱形的物體。加了厚度的曲線是作為多邊形網格物體來渲染的,而不是NURBS曲面。
2.7 CV Curve(可控曲線)和CV Surface(可控曲面)
像樣條曲線一樣,可控曲線和可控曲面也都有控制頂點。控制點位置控制著曲線或曲面的形態。然而,不像樣條曲線的頂點那樣,可控曲線或曲面的控制點并不都被定義在曲線或曲面上。而是定義了一種連接每個控制點并且包圍著NURBS曲線或曲面的控制格,3DMAX將其顯示為黃色虛線
提示:當使用縮放區域工具的時候,3DMAX顯示的是整個NURBS物體區域,包括綠色的控制點。另外,還可以進入變動面板在可控曲線或曲面的CV次物體級別來調整控制點,用各種工具如移動、旋轉、縮放對控制點進行加工,以改變物體的形態。
每個控制點都有權重,可以利用這一點來調整控制點對曲線或曲面的影響程度。加大權重可以把曲面向控制點的方向吸引,減少重量可以使曲面松弛,遠離控制點。
Weights(權重)對于調整NURBS曲線或曲面的外形是一種很有效的方法。
控制點的Weights(權重)值是一種有理數,其大小是相對于這個曲線或曲面里的其它控制點而言的。如果把所有控制點的權重都加大,則對物體不會產生影響,因為這樣并沒有改變各點之間的權重比率。
2.8 Point(點)、Point Curve(點曲線)和Point Surface(點曲面)
點曲線和點曲面是類似于可控曲線和曲面的,但這里的點只能在曲線或曲面上,而不能在外面,還有一點不同的是這里的點沒有權重。
點曲線和點曲面能夠更直觀地建立和操作。然而,它們會帶來意想不到的結果,因為給定的這些NURBS點可能會產生一個以上的NURBS的計算結果。而這種情況在CV曲線或曲面里是不會發生的。
建立獨立的點與點曲線或曲面的點是相同的,但不是曲線或曲面最初部分。可以用Fit(擬合)方式連接一些點,來建立一條點曲線。
2.9 Sub-Objects(次物體)的選擇
當創建NURBS物體的時候,經常工作在次物體方式下。當在次物體級別的時候,會經常使用到3DMAX選擇的技巧,如點擊、拖動一個區域,或按住Ctrl鍵來選擇一個或多個次物體。
也可以按名字來選擇NURBS次物體。打開狀態欄里的按鈕,然后按H鍵,會顯示一個對話框,這里列出了當前級別所有次物體的名稱。在列表選擇一個或多個物體,然后點擊Select(選擇)鍵就會選擇相應的次物體。這個功能在曲線和曲面的次物體級別非常有用。在一個復雜的曲線或曲面里用名字來區分數量巨大的控制點是非常困難的,但是可以為頻繁編輯的NURBS次物體指定自己便于記憶的名字。
還有一個非常有用的功能,按Ctrl+H也會出現一個對話框,不過這里只列出了鼠標所在位置相鄰的次物體,這也是個很方便的功能,不過在2.5版以后才有此功能。
提示:當在NURBS里操作的時候,會經常往返于物體和次物體級別之間,或者從一個跳到其他的級別。這里介紹兩個鍵盤的快捷方式和一個菜單,會更簡潔地完成這幾項操作:
。次物體選擇開關(默認鍵Ctrl+B),用來打開和關閉Sub-Objects(次物體)按鈕。
。循環次物體級別的快捷鍵(默認鍵Insert),從一個次物體級別到下一個級別,往復循環。
。在變動面板里,當右擊選擇的NURBS物體的時候,會自動彈出一個菜單,菜單的最下面部分會列出這個物體所具有的所有級別,如果這個物體有Point(點),菜單就會出現Point Level(點級別),進入Point Level(點級別)就可以對點進行各種變動修改。除此還有Top Level(頂級)、Surface CV Level(曲面CV級)、Surface Level(曲面級)、Curve CV Level(曲線CV級)、Curve Level(曲線級),在哪一個級別里,就可以對這個級別所制定的對象進行變動修改。
2.10 從屬的Sub-Objects(次物體)
NURBS次物體有兩種狀態,要么是獨立,要么是從屬。一個從屬的次物體是以其他幾何體為基礎的。例如,用一個融合曲面光滑地連接兩個其他的曲面,移動兩個原始曲面中的一個,或賦予動畫,中間的融合曲面部分將發生改變,以保持連接兩個原始曲面中間綠色部分為融合兩個分離曲面的從屬曲面
這是一種立即反應,當建模的時候就確定了父物體和從屬次物體之間的交互關系,這種關系使得改變NURBS模型和制作NURBS模型的動畫變得非常容易。
注意:從屬次物體必須有父物體,而這個父物體同時也是這個NURBS模型的次物體。而物體級別的NURBS曲線或曲面是不會有從屬關系的。如果相用一個Top Level(頂級)的NURBS物體來建立一個從屬物體,首先要Attach(結合)或Import(引入)一個Top Level(頂級)物體。
可以把一個從屬次物體轉換為獨立次物體。在轉換之后,將不在依附于父物體,父物體的變動也不會影響到它,從而作為一個獨立次物體可以直接編輯它。
在適當的次物體級別,從屬NURBS次物體在Wireframe(線框)方式顯示的視圖里被顯示為綠色,獨立的次物體被顯示為白色。
對父物體作的改變有時得不到從屬幾何物體正確的更新顯示。例如:兩條曲線之間建立的圓角需要曲線是共面的,如果移動了一條曲線則就不共面了,3DMAX就不能正確地更新圓角了。在這種情況下,從屬幾何物體就會返回到默認位置,并且顯示為桔黃色以表示錯誤。
變動從屬次物體
一般來說,可以選擇并變動從屬次物體(變動從屬次物體要在次物體級別)。在次物體級別里,能對從屬次物體進行移動、旋轉等變動修改。
當按Shift鍵來復制一個從屬NURBS次物體的時候,父物體也被復制。例如,如果按Shift鍵來復制一個UV放樣曲面,則所有的放樣曲線也被復制。這種方法建立的物體與原始物體是一種類型的,不像早先的NURBS版本,復制出來的只能是獨立的可控曲面。復制物體有父物體,所以編輯復制物體方法就像編輯原始物體一樣。
Seed Values(種子值)
有一些種類從屬次物體依賴于幾何體上,可能會生產多于一種的解決方法。例如,如果想建立一個面與曲線交叉點,但是曲線與面存在著多于一個的交叉點,3DMAX必須決定哪一個點的位置作為交叉點。
像這些種類的物體,由Seed Values(種子值)參數控制如何作決定。種子的位置指的是在父物體上的位置,距離種子值最近的位置是3DMAX選擇滿意的建立條件。當編輯這些種類的從屬物體的時候,可以改變種子值。種子的位置顯示為黃色的小正方形。
例如,一個面與線交叉點的種子的位置是沿著父曲線長度的水平位置。面與線交叉最靠近的種子點是選擇作為從屬點的位置。
如果是一個面,種子的位置是在面的參數里的一對水平和垂直的坐標值。
替換父次物體
從屬次物體現在可以讓控制替換物體或所依賴的物體。例如,偏移曲面有一個按鈕叫Replace Base Surface(替換基礎曲面)。能點擊這個按鈕,然后點擊其他的曲面來替換原來的父曲面。
設計這個功能的主要原因之一是使能夠用未剪切曲面的方案替換一個剪切的曲面。這樣做,需要使用名稱選擇對話框。例如,選擇一個未剪切的曲面次物體,打開狀態欄的按鈕,按H,然后按名字選擇剪切的方案。
第三章 NURBS的各項基本操作在這章里將講解NURBS的各項基本操作,這里雖然沒有直接講怎樣建模,但這些知識對于以后能夠熟練流暢地建模非常重要,所以還是要仔細地學習。
3.1 NURBS和Modifiers(變動修改)
一般來說,可以應用變動修改到NURBS模型,就像做其他3DMAX物體一樣。可以編輯變動修改,因為是應用到網格和面片曲面的。但這些不能應用到NURBS物體,當NURBS物體選擇的時候,它們是不可用的。
3.1.1 變形NURBS物體
當Bend(彎曲)和Twist(扭曲)操作可控點次物體時,變形變動修改是這樣工作的:
它們不把NURBS模型變成可編輯的網格物體。這個方法使能使用一個變形變動修改,展開堆棧層,可以對NURBS物體進一步編輯。然而,因為變形變動修改直接影響可控點和普通點,而不是NURBS模型的網格近似,將會產生意想不到的結果。例如,如果可控點比漣漪的波長還遠,則(Ripple)漣漪變動修改不能作用于曲面。如果想讓這個變動修改來影響網格近似來代替可控點,可以首先應用一個網格選擇變動修改。然后當展開堆棧層時,就可以編輯網格,注意現在不是一個NURBS物體。
3.1.2 NURBS物體和UVW貼圖變動修改
當應用UVW帖圖變動修改時,影響NURBS物體同影響網格物體時是一樣的。如果展開堆棧層,變動修改仍然有效。然而,可以忽略個別曲面次物體的貼圖。這樣做,打開曲面產生貼圖坐標選框,得到的是曲面固有的貼圖;當關閉時,可以從展開的UVW變動修改里獲得貼圖。
3.1.3 NURBS選擇變動修改
3DMAX里有兩個選擇變動修改,Ncurve Sel(NURBS曲線選擇)和Nsurf Sel(NURBS曲面選擇),能夠放置一個NURBS次物體選擇變動修改在堆棧層上,這個功能僅能夠修改選擇的次物體。同樣,選擇的曲線次物體也是樣條物體,可以作為路徑和運動軌道。
Nsurf Sel(NURBS曲面選擇)能選擇除Import(引入)物體以外的NURBS物體。Ncurve Sel(NURBS曲線選擇)僅能夠選擇有效的頂級曲線物體。每個次物體的選擇只能在一個單一的次物體級別
使用NURBS選擇變動修改的方法:
1.在Modify(變動)命令面板里選擇一個NURBS物體,應用Ncurve Sel(NURBS曲線選擇)和Nsurf Sel(NURBS曲面選擇)中的一個。在物體級別選擇變動修改是沒有任何控制的。
2.點擊打開堆棧層里的Sub-Objects(次物體)按鈕,從下拉列表里選擇一個次物體級別。
對于一致的次物體類型的選擇修改有著同樣的選擇控制方法,除了選擇連接的曲線或曲面是無效的。
當應用變動修改時候,也可以用名字來選擇NURBS次物體。打開狀態欄里的按鈕,然后按H鍵,會顯示一個對話框,這時只列出了當前級別所有次物體的名稱,在列表里選擇一個或多個物體,然后點擊Select鍵就會選擇相應的次物體。
按Ctrl+H也會出現一個對話框,不過這里只列出了鼠標所在位置相鄰的次物體,這只在2.5版以后才有此功能。
3.使用選擇控制來建立一個選擇的次物體類型的選擇設置。
用Nsurf Sel(NURBS曲面選擇)變動修改,能選擇除Import(引入)物體以外的NURBS次物體。用Ncurve Sel(NURBS曲線選擇)能選擇除Import(引入)和曲面物體以外的NURBS次物體。
一旦使用了變動修改來建立選擇,就可以用其他的修改應用到自身上,如果選擇的次物體是一條曲線,也可以用來作為路徑和軌道。
注意:NURBS選擇變動修改不支持像網格選擇那樣的拷貝和粘貼。拷貝和粘貼網格選擇是基于頂點索引的。NURBS選擇是基于物體的ID號碼的,每個模型可以有唯一的ID號碼。
3.2 NURBS和動畫
一般來說,可以用打開Animate按鈕和變換次物體的屬性來賦予NURBS曲線和曲面動畫,例如改變可控點或點的位置,用動畫參數控制從屬NURBS次物體等,不能把以下幾種方法做成動畫,NURBS物體的建立、建立參數、NURBS物體基本的改變(例如添加或刪除可控點或點)、Attach(結合)物體等。
有一些NURBS編輯操作會丟失動畫控制器。
一般來說,下面的幾項操作能刪除NURBS物體或次物體的動畫:
。Make Independent(變成獨立):直接刪除次物體的任何動畫;
。Break(打斷)、Extend(擴展)、Join(連接)、Refine(精煉)和Delete(刪除)這些操作能改變曲線或曲面里的點或可控點的數目,也就刪除了所有點或可控點的動畫。
。Fuse(溶化):先熔化的點或可控點的動畫將丟失,先選取的點或可控點獲得第二點的動畫。
3.3 Attach(結合)與Import(引入)3DMAX物體
這里有兩種方法可以把3DMAX的其他物體引進到一個NURBS物體中:
。Attach(結合),可以結合網格和樣條物體,把結合的物體轉換為NURBS格式。一旦物體轉換完畢,就可以作為一個NURBS曲面或曲線來編輯。然而,被轉換物體的建立參數將丟失。
注意: 對于NURBS曲面,可以結合其他的NURBS物體,3DMAX Standard primitive(標準原始體)、其他類型的曲面或Patch(面片)物體到一個NURBS曲面里。
。Import(引入),可以引入其他的物體。被引入到NURBS物體里的物體不會丟失建立參數。可以選擇引入的物體作為次物體。
把物體結合或引入到NURBS物體的方法:
1.選擇NURBS物體,然后進入變動命令面板;
2.(可選的)如果想把物體重新調整并對齊NURBS物體中心,就要打開Reorient(再調整)選框;
3.打開Attach或Import按鈕。
4.點擊一個物體來結合或引入。
當把鼠標移動到可以引入的物體上的時候,光標會改變形狀。如果編輯的是一條NURBS曲線,則僅能結合NURBS曲線或樣條曲線。如果編輯的是一個NURBS曲面,則可以結合曲線、NURBS曲面或可以轉換的物體。
在第三步,可以點擊Attach Multiple(結合多個物體)或Import Multiple(引入多個物體),如圖所示,按這兩個按鈕可以顯示一個對話框,用來選擇多個物體一起結合或引入。
圖中各選項框的含義如下:
Lattice(格子):當打開時,顯示黃色虛線的控制格(可以改變顏色, Preferences/Colors面板里)。在曲線和曲面的的CV級別,也有一個自身的Display Lattice(顯示格子)的開關,這個設置將優先于總體設置。快捷鍵Ctrl+L,在物體級別,這個快捷鍵相當于打開或關閉總體設置的Lattice(格子)選項框。在次物體級別,相當于打開或關閉Display Lattice(顯示格子)選項框。
Curves(曲線):當打開時,顯示曲線,快捷鍵Ctrl+Shift+C
Surfaces(曲面):當打開時,顯示曲面,快捷鍵Ctrl+Shift+S
Dependents(從屬次物體):當打開時,顯示從屬次物體,快捷鍵Ctrl+D
Surface Trims(曲面剪切):當打開時,顯示曲面的剪切情況,當關閉時,顯示完整的曲面,即使是被剪切的。快捷鍵Ctrl+Shift+T
Transform Degrade(變換降級):當打開時,變換一個NURBS曲面就要降級顯示,在視圖里顯示為黃色的虛線,以提高顯示速度。當關閉時,曲面不降級顯示,始終以實體方式顯示,但這樣會降低顯示速度,快捷鍵Ctrl+X
NURBS次物體建立工具箱:當打開時顯示NURBS次物體建立工具箱,快捷鍵Ctrl+T
3.5 Curve Approximation(曲線近似)和Surface Approximation(曲面近似)
NURBS曲線和曲面是解析生產的,產生和顯示需要曲線來近似定義線,用曲面來近似定義面。可以通過在這個區域里設置近似的參數,來控制NURBS物體的顯示。
3.5.1 Display Line Parameters(顯示線參數)
這個區域的控制是用來影響NURBS曲面在視圖里的顯示效果的,如圖所示
U Lines(水平線)和V Lines(垂直線):線的數量影響NURBS在視圖里的顯示效果,分別控制著曲面自身的水平和垂直軸,降低這些值能加速曲面在視圖中的顯示,但降低了顯示精度,當值為0時,僅顯示物體的邊緣,如圖。
分別用Iso方式和Mesh網格方式顯示的NURBS茶壺
Iso Only(僅顯示Iso線):當選擇時,所有視圖的曲面都以Iso線方式顯示。Iso參數線類似于一種輪廓線。與傳統的網格方式相比,Iso線能以更簡潔的線條來表現物體。
Iso and Mesh(顯示Iso和網格):當選擇時,Wireframe(線框)視圖顯示曲面的Iso線,Shaded(陰影)視圖顯示陰影曲面。
Mesh Only(僅顯示網格):當選擇時,Wireframe(線框)視圖顯示曲面的網格,Shaded(陰影)視圖顯示陰影曲面。
3.5.2 Curve Approximation(曲線近似)
曲線近似控制顯示是在曲線物體的建立參數里面和NURBS模型的曲線近似滾動面板里(頂級別NURBS物體),如圖,在物體級別,近似控制影響所有在模型里的曲線次物體
Steps(步幅):用最大數目的線片斷來近似每一條曲線的片斷。如果3DMAX顯示或渲染的曲線是有角度的,則需要增加這個值來圓滑曲線。步幅值的有效范圍是從1到100.如果打開了Adaptive(適配),則Steps(步幅)和Optimize(優化)是不可用的。
Optimize(優化):打開這個選框可以優化曲線。當打開時,插補將使用指定的步幅值,除非是一條直線。
Adaptive(適配):(默認)打開這個選框,曲線基于自身曲率自動適配,可以得到非常圓滑的曲線。
3.5.3 Surface Approximation(曲面近似)
曲面近似滾動面板是控制NURBS模型里面的的曲面次物體的渲染效果和和視圖顯示效果。了解這些是很重要的,因為可以在視圖和渲染器里面設置不同的近似值,以達到提高制作過程中的顯示速度從而仍能達到光滑、逼真的渲染效果。
在滾動面板里開始的兩個按鈕是用來選擇哪一個種顯示輸出方式,Viewports(視圖)或Renderer(渲染器),如圖
Viewports(視圖):當選擇時,滾動面板影響的是NURBS物體里的曲面怎樣交互地顯示在視圖里。當應用一個網格變動修改的時候,例如應用網格選擇到NURBS物體,視圖曲面設置也同樣有效,這一點很重要,因為它影響到場景里的幾何體。
Renderer(渲染器):當選擇時,滾動面板影響的是NURBS物體里的曲面在渲染器里的渲染效果
Tessellation Presets(細化預調)
Low(低)、Medium(中)和High(高):這是三個細化的級別,Viewports(視圖)和Renderer(渲染器)默認的設置都是Mediuma(中)。如果機器足夠快可以Viewport(視圖)設為High(高)。如果需要更優質的渲染結果,可以把Renderer(渲染器)設為High。
Tessellation Method(細化方式)
這個控制區域用來影響NURBS曲面在視圖或渲染器里顯示效果。選擇的是Viewport(視圖),控制的就是視圖;選擇的是Renderer(渲染器),控制的就是渲染器。能選擇三種不同的算法來控制NURBS曲面的精細程度。
注意:選擇Viewport(視圖)時,必須也選擇Mesh Only(僅顯示網格),才能在Wireframe(線框)視圖里看到變化。
提示(視圖):用Parametric(參數)或Curvature(曲率)可以快速顯示。這種算法是建立一種網格方式,如果用網格的變動修改作用于NURBS物體,選擇這種算法能得到需要的結果。如果用的變動修改非常多,通常用Spatial(空間)或Parametric(參數)要比Curvature(曲率)好,因為它們是規則的細化曲面。Curvature(曲率)從屬細化對于3DMAX的一些變動修改可能會產生問題。
提示(渲染器):使用Spatial(空間)或Curvature(曲率)可以達到最精細的渲染效果。Curvature(曲率)在制作動畫的時候有更佳表現。
Parametric(參數):基于U Steps(水平步幅)和V Steps(垂直步幅)產生一個固定的細化效果,如圖。增加這些值可以提高精度但要降低速度。但是總體來說,這是近似曲面的一個最快速和最低精度的方法。
Spatial(空間):產生一個由三角面構成的統一的細化效果,如圖。
這里的Edge(邊)參數指的是細化中的三角面的最大長度,用的是3DMAX當前的單位,降低這個值可以增加精度,但同時也增加了渲染時間。
Curvature(曲率):這是一項默認值。基于曲面的曲率產生一個變量的細化效果。這種細化可以在較復雜的曲面上產生更為細膩的紋理,如圖所示,如果改變了曲面的曲率,則能獲得動態變化的曲率細化效果。
這里的Distance(距離)參數是用來指定近似從實際的NURBS曲面偏離多遠。距離是每個曲面邊界框對角線的一個百分比。在物體里的每個曲面都是基于自身的尺寸而細化的,獨立于其他曲面,并且縮放一個曲面不改變細化效果。降低這個值能夠增加精度但也增加了渲染時間。當把距離設為0時,3DMAX忽略這個參數,使用Angle(角度)來控制精度。
這里的Angle(角度)參數是用來指定近似里的面之間最大角度的。降低這個值能夠增加精度但也增加了渲染時間。當把角度設為0時,3DMAX忽略這個參數,使用Distance(距離)來控制精度。
當把Distance(距離)和Angle(角度)都設為0時,曲面將退化變成一個個平面。
Spatial and Curvature(空間和曲率):結合Spatial(空間)方式和Curvature(曲率)方式,用Edge(邊)、Distance(距離)和Angle(角度)三個值來控制曲面。
這里的Edge(邊)參數指的是細化中的三角面的最大長度,用的是3DMAX當前的單位,降低這個值可以增加精度,但同時也增加了渲染時間。當把邊設為0時,3DMAX忽略這個參數,使用Curvature(曲率)方式來控制精度。
這里的Distance(距離)參數是用來指定近似從實際的NURBS曲面偏離多遠。距離是每個曲面邊界框對角線的一個百分比。在物體里的每個曲面都是基于自身的尺寸而細化的,獨立于其他曲面,并且縮放一個曲面不改變細化效果。降低這個值能夠增加精度但也增加了渲染時間。當把距離設為0時,3DMAX忽略這個參數,使用Angle(角度)來控制精度。
這里的Angle(角度)參數是用來指定近似里的面之間最大角度的。降低這個值能夠增加精度但也增加了渲染時間。當把角度設為0時,3DMAX忽略這個參數,使用Distance(距離)來控制精度。
當把Distance(距離)和Angle(角度)都設為0時,曲面將退化變成一個個平面。
View-Dependent(觀看從屬):這個功能僅對渲染器有效。當打開后,可以使渲染場景中遠處的物體時不產生網紋效果。View-Dependent(觀看從屬)僅在渲染攝影機視圖或透視圖時才有效,而不能影響其他的視圖。
Merge(合并):控制曲面次物體的細化時哪些邊進行結合或非常接近的邊進行結合。當加入一個變動修改的時候,例如Mesh Select(網格選擇)--需要網格方式,NURBS曲面為了產生渲染結果細化時,3DMAX就會調整鄰接的曲面的細化程度來彼此適配。Merge(合并)參數控制的是怎樣來做這項工作。如果合并值為0,鄰接面無變化。增加合并值可以增加3DMAX計算的要適配的邊的距離,以確保它們渲染時不會在面與面之間產生裂縫,默認值是0.01.
在大多數情況下,不需要調整Merge(合并)值。如果渲染顯示在鄰接的面之間有裂縫,則可以增加合并 值來消除。
在技術上,Merge(合并)值一般是物體的邊界框對角線的千分之一。還可以縮放NURBS模型而不會影響到合并的設置。
Advanced Parameters(高級參數):點擊可以顯示一個對話框,如圖,這個對話框的參數應用于Spatial(空間)、Curvature(曲率)、Spatial and Curvature(空間和曲率)三種近似方式。
各項含義如下:
Subdivision Style(細分類型)選擇一種應用到細分曲面的循環分解的類型。
Grid(格子)細分曲面使用的是規則的格子。
Tree(樹型)細分曲面使用的是二元的樹。
Minimum Subdivison Levels(最小細分級別):指的是最小的循環數目。
Maximum Subdivison Levels(最大細分級別):指的是最大的循環數目。
第四章 建立NURBS曲線
可以在Create(建立面板)里來建立NURBS曲線物體。
建立NURBS曲線的方法:
1.進入建立面板,點擊進入Shapes(圖形)面板;
2.從下拉列表里選擇NURBS Curves(曲線);
3.打開Point Curve(點曲線)或CV Curve(可控曲線);
4.在視圖里,點擊并拖動建立第一點或可控點和曲線的片斷,釋放鼠標來建立第二個點或可控點。接下去點擊的每個都會增加一個新的點或可控點,右擊來結束曲經的建立。
當建立一條NURBS曲線的時候,可以按退格鍵來刪除上一次建立的點。
5、如果在最開始的點或可控點上點擊,將出現一個對話框,問是否封閉這條曲線。點擊No繼續建立,曲線是打開的。點擊Yes封閉曲線結束建立(也可以在曲線次物體級別里編輯它的時候來封閉)。當在曲線次物體級別顯示一條封閉曲線的時候,最初的點或可控點顯示一個綠色的圓圈,一個綠色的小叉表示曲線的方向。
6、調整曲線的建立參數。
7、(可選的)加一條新的NURBS曲線次物體,可以關閉Start New Shape選框,然后重復前面的步驟,就可以新建一條曲線了,而且和前面的曲線是同一物體。
當建立一條可控曲線的時候(不是點曲線),可以在同一個位置點擊來建立多于一個的可控點(或封閉它),能增加曲線上那個位置的可控點的影響力。建立兩個一致的可控點能尖銳曲率。建立三個一致的可控點能在曲線里建立一個生硬的轉角,這個技巧能幫助塑造曲線。然而,如果單個的移動可控點,將丟失這個效果(也可以用Fuse(熔化)的方法來達到同樣的效果)。
4.1 NURBS曲線的建立參數
NURBS曲線的建立面板,如圖所示。
Interpolation(插值) 這個區域的控制是改變產生和顯示曲線的近似值的精度和方式的。詳細內容請看“Curve Approximation(曲線近似)”部分。
Renderable(可渲染):選中后曲線就可以渲染出來。
Thickness(厚度):設置可渲染曲線的厚度。它是圓的直徑,使用3DS MAX內部單位。
Generate Mapping Coords(產生貼圖坐標):選中后可以產生貼圖坐標,就可以應用貼圖和材質到曲線上了。
Draw In All Viewpots(在所有視圖繪制):當這個功能選中的時候(默認是選中的),在最初的點擊或點擊并拖動之后,還可以在其他視圖里進行繪制,這使繪制一條三維曲線成為可能。當這個功能關閉的時候,第一次在視圖里點擊之后鼠標就被捕捉了,便不能在其他的視圖里點擊了。
Automatic Reparamerization(自動參數化)
None(無):不進行參數化設置(默認)。
Chord-length(弦長):以弦長為基準把曲線參數化。
Uniform(統一):以統一的基準把曲線參數化。
4.2 鍵盤輸入來建立NURBS曲線
鍵盤輸入面板可以讓用鍵入數據的方法來建立曲線。用TAB鍵可以在面板里的選項之間移動,如圖所示:
X、Y、和Z軸:輸入下一個點或可控點的坐標。
Weight(權重):輸入可控點的權重。點曲線沒有這項控制。
Add Point(增加點):增加點或可控點到曲線。
Close(封閉):結束曲線的建立,并使曲線封閉。
Finish(完成):結束曲線的建立。
4.3 從樣條曲線來建立NURBS曲線
可以把3DSMAX的樣條曲線轉換為NURBS格式的可控曲線。一旦轉換完畢,不能再編輯樣條曲線的參數,但可以作為一個NURBS物體來編輯,如移動可控點等等。
轉換樣條曲線的方法:
1、建立樣條曲線。
2、進入Modify(變動)命令面板。
3、在Modifier Stack(修改堆棧層)里點擊按鈕。
4、從跳出的菜單里選擇NURBS。
樣條曲線會轉換為一條或多條可控曲線。像圓形和弧形的那種光滑彎曲的樣條曲線會轉換為一條單個的可控曲線。有尖銳角度的樣條曲線會轉換為多條可控曲線。
4.4從曲線物體來建立獨立的曲線
用Top Level(頂級)NURBS曲線物體來建立獨立的曲面,使用Extrude(擠壓)和Lathe(旋轉)變動修改。擠壓是增加曲線的高度,沿著曲線自身的Z軸進行掃描來建立圖形。旋轉是建立一個旋轉的曲面,沿著一個指定的軸旋轉出曲面。
擠壓和旋轉變動修改對待NURBS曲線與對待其他圖形線條是一樣。使用NURBS曲線的媽處在于可以使用NURBS曲線的各種編輯功能來對曲線進行修改。
提示:當建立一個復雜的曲面時,要特別注意旋轉的使用,因為經常要渲染曲面的兩個面。在Render Scene(渲染場景)對話框里打開Force 2-Sided選框就可以把曲面的兩個面都渲染出來。如果想在視圖里觀察曲面的兩個面,就要選中Views/Viewport Configuration對話框里的Force 2-Sided選項。
在默認情況下,擠壓和旋轉所形成的是網格物體。要轉換為NURBS物體,可以改變擠壓和旋轉滾動面板里的Output(輸出)區域里的設置為NURBS。
以上就是NURBS命令詳解,希望能幫到大家!
|
新聞熱點
疑難解答