maya布林運算遇到的問題

2021-07-26 08:59:29 字數 2319 閱讀 2033

布林運算也是maya建模中乙個經常不容易達到預期效果的領域,但是如果你能學會按照maya的運算規則來思考這些問題,並且及時找出癥結的所在,那麼用起布林運算來會得心應手得多。

1、布林運算的選擇先後順序有誤。這對並集和交集運算沒有影響,但會導致在差集運算時達不到預期效果(如圖

一、圖二)。解決方法是按「ctrl+z」返回到上一步,重新調整模型的選擇順序,再次進行布林差集運算即可。

2、布林運算的其中乙個模型與另乙個模型法線整體相反(圖三)。此時進行布林運算時模型會消失。

判斷方法:單擊選單欄「顯示」,將游標移動到一級下拉列表目錄「多邊形」上,單擊二級下拉列表目錄「面法線」,此時可以看到法線方向(圖四)。如果模型法線彼此整體相反,可選中需要恢復法線方向的模型,單擊選單欄「法線」,單擊一級下拉列表目錄「反向」,將之前被反向的模型法線還原回來,然後即可成功進行布林運算(圖五)。

3、模型太過複雜多面。此時進行布林運算會占用大量記憶體,當電腦記憶體不足或maya版本較低時,運算將不能達到預期效果。例如將乙個按照圖六屬性建立的圓柱體與乙個預設設定的圓環進行布林差集運算,選擇順序是先選圓柱體後選圓環(圖七),那麼將產生圖八的錯誤結果。

解決辦法:建模初期盡可能減少面的數量,也不要執行任何光滑操作,如果要看效果,可以按「3」鍵觀察高模。

4、進行布林運算的多個模型相接觸的地方沒有任何線穿過。例如圖九中左邊兩個模型的接觸面沒有線穿過,右邊有一條線穿過。左右兩種情況下布林運算雖然都能達到預期效果,但左邊模型在布林運算結束後無法再進行互動式分割(圖

十、十一),因此為了防止後續操作無法進行,在布林運算前一定要將模型的接觸面新增一條線。

以本圖中的模型為例,加分割線操作方法如下:選中圓柱體,單擊選單欄「編輯網格」,單擊一級目錄下拉列表中的「互動式分割工具」(圖十二),在圓柱體上單擊確定第乙個節點位置,再次單擊確定下乙個節點位置(圖十三),直到分割線畫好以後按「enter」鍵即可。

5、布林運算的模型相交區域包含邊界邊(圖十四)。此時進行布林運算模型會消失(圖十五)。解決方法:將平面擠出成乙個立方體(圖十六),擠出後的立方體法線會與圓球相反,因此要先反轉立方體的法線,然後選中立方體和圓球進行布林運算,本例中使用差集運算(圖十七),得到預期結果後刪除歷史(刪除方法如圖十八),再選中立方體,單擊右鍵進入面模式(圖十九),在front檢視下框選圖二十中的所有面並按del鍵刪除,返回物件模式即可得到平面與圓球的差集結果(圖二十一)。

6、模型中存在非流形結構(圖二十二)。此時進行布林運算,模型同樣會消失。解決辦法:選中立方體上的洞口的任意一條邊,擠出乙個面將洞口封住,兩個洞口都封住後,框選立方體所有頂點,單擊「編輯網格」下的「合併」(合併的閾值要先還原為預設設定),這樣立方體就變成流形結構了,此時再進行布林運算就可成功(圖二十三)。

7、布林運算的模型中存在沒有厚度的邊或麵(圖二十四)。沒有厚度的邊或麵與其他模型做布林差集和交集運算無意義,如果想將平面和圓球合在一起,可以用「網格」中的「結合」代替「布林運算」中的「並集」(圖二十五)。

注意事項:以上每個糾正方法中的每乙個細節都要嚴格按照先後順序來準確操作,並且不能有所遺漏,否則很可能失之毫釐謬以千里。

python 布林運算

給定乙個布林表示式和乙個期望的布林結果 result,布林表示式由 0 false 1 true and or 和 xor 符號組成。實現乙個函式,算出有幾種可使該表示式得出 result 值的括號方法。示例 1 輸入 s 1 0 0 1 result 0輸出 2解釋 兩種可能的括號方法是1 0 0...

布林運算製做火箭

首先把要製作的火箭看一下 如圖 首先畫兩個橢圓,然後把它們交集獲得乙個這樣的圖形有一點像火箭的身體了 再然後又畫兩個橢圓還是跟剛剛一樣的但是不是交集了,畫出來以後,把乙個橢圓放到另乙個橢圓的上面,然後來乙個減去頂層形狀就行了.又畫乙個橢圓,把橢圓放到有點像火箭的下面,但是橢圓的圖層一定要到火箭圖層的...

布林運算子

a,b 1,2 有乙個為假即為假 print a 1 and b 2 true and true true print a 1 and b 2 true and false false 有乙個為真即為真 print a 1 or b 2 true or true true print a 1 or ...