如何在 Blender 2.8 Python API 中將對象網格設置為活動

2021-01-20 blender幫

若要在 Blender 2.8 Python API 中將網格(對象)設置為活動,context.view_layer使用「網格」的active屬性而不是2.8之前上下文的場景context.scene。

嘗試使用"bpy.context.scene.objects.active"使對象處於活動狀態時,Blender 會引發錯誤:

屬性Bpy_prop_collection:未找到屬性「active」,blender升到2.8之後,Python API已經把這個屬性移走

若要使 Blender 2.8 中的對象處於活動狀態,請使用以下代碼:

obj = bpy.context.window.scene.objects[0]

bpy.context.view_layer.objects.active = obj # 'obj' is the active object now

轉載請註明出處(百家號:blender幫)

相關焦點

  • 在Blender 2.8 Python API 中選擇對象代碼大調整
    自從Blender 2.8更新後,對python腳本調整了原有設置選擇物體代碼,根據 Blender 2.8 Python API 更改網格(對象)可以使用 getters 和設置器進行選擇。嘗試通過調用blender2.79代碼「bpy.context.active_object.select」屬性檢查網格的選定狀態時,Blender 會引發錯誤:AttributeError: 'Object' object has no attribute 'select'要檢查是否在 Blender 2.8 中選擇了對象,請使用獲取器:bpy.context.active_object.select_get
  • BLENDER2.9 PYTHON 適合初學者:一些有用的循環
    學 python和 bpy API需要花費一些時間,你可以很容易地理解 blender python API,只要你按TAB鍵它是自動完成代碼關鍵詞的,所以你可以在 blender python控制臺中找到可用的選項。
  • blender2.9 python3網格編輯模式內定字符串
    在 blenderpython腳本中,對字符串處理比較多,初學者都認為簡單就用它來修改對象名,或者用它來劃分列表等等,其實 blender python中定義了很多大寫的字符串,如果寫錯了,系統會報錯,所以有必要先了解一下內部定義的字符串。
  • 使用Blender2.9 python 腳本複製多個對象
    blender python 腳本在 Blender2.79 到 2.8 之間發生了巨大的變化,2.8之後變更了代碼使用方式,原來2.79腳本不起作用,如果你是2.8之後才開始學習blender python 腳本,儘量參考BlenderPythonAPI2.8之後,建議直接用BlenderPythonAPI2.9
  • blender怎麼製作蜂巢網格圖形 渲染畫網格數值設置方法步驟
    blender是一款3D建模工具,功能齊全,不過有不少用戶對它的操作不是很熟練。下面小編就來給各位小夥伴帶來blender怎麼製作蜂巢網格的教程詳情。感興趣的小夥伴們隨小編一起來看看吧。  蜂窩式網格的步驟:  1.首先打開blender軟體,我們新建一個圓柱體。
  • blender2.9 python訪問網格三角形
    默認情況下,在 Blender 中,Python無法訪問網格三角形。當需要訪問網格三角形時,必須首先使用網格calc_loop_triangles方法計算它們。調用calc_loop_triangles 方法後,loop_triangles 屬性將引用MeshLoopTriangle對象的集合,其中頂點屬性將包含 3 個整數數組,這些整數是三角形頂點的索引。
  • 如何通過Blender Python API創建網格
    要通過Blender Python API將自定義網格添加到場景中,我們需要執行以下操作:打開「文本編輯器」窗口。導入主要的Blender Python API模塊。importbpy任何網格都由頂點,邊和面組成。讓我們為它們製作數據塊。
  • blender python類別
    Blender python 使用面向對象的方法處理其數據。對象類包含泛型屬性,如對象的位置。然後,它使用它的數據屬性來使用特定於對象類型的類來存儲對象特定數據,每個數據類型都是 ID 的子類bpy.data.objects是 Object類實例的列表。
  • 訪問Blender 2.8 Python API 中的軸心點「pivot_point」類型
    blender的軸心點和遊標只是空間坐標系的一個點坐標,當然這個坐標點還有自身的坐標軸,隨著2.8版本的升級,軸心點pivot_point已經調到tool_settings內。Blender 2.7 pivot_point"屬性bpy.context.area.spaces[0].pivot_point# 'BOUNDING_BOX_CENTER':在 Blender 2.8 API 中移動到:bpy.context.scene.tool_settings.transform_pivot_point
  • blender python基礎知識大集合
    使用 blender python編寫代碼需要對 blender python基礎有一定的了解,本文很好地介紹了基礎代碼bpy.context 當前環境的所有選擇內容的bpy.context.object 當前活項物體,只能選擇一個mesh = bpy.data.objects["mesh"] Mesh變量存儲物體網格數據
  • Blender Python:網格定義
    概要了解如何定義和創建網格對於在Blender中編寫幾何腳本至關重要。頂點和面首先,我們定義頂點和面變量……它們定義為數組。(與往常一樣,將導入定義為bpy!)網格和對象變量現在,我們需要為網格和場景對象定義變量。
  • blender2.8 API更新後,物體在視口和渲染的可見屬性設置變化
    在對象可見性方面,對應一種是視窗顯示和另一種是渲染可見性,請注意一件事,隱藏的物體渲染時會出現,只是在視圖上邊見不到,這兩個屬性是分開設置和讀取。這些屬性在2.8之後是更改過。2.7所用的代碼:object.hide2.8的代碼:obj.hide_viewport物體.hide_viewport=True ,就可以隱藏物體,就是平時快捷鍵H,隱藏功能obj.hide_render可以將這個簡單的函數用於 2.7
  • Blender Python:數學網格
    概要掌握了使用「頂點和面」創建網格的基礎知識之後,重要的是要了解一些使用更有效的過程生成網格的技術。該頁面介紹了一些代碼,這些代碼用於根據數學方程式繪製網格。在此過程中,您可以看到如何使用變量和循環來組織頂點和面。波面變數這些變量對於創建波表面以及使我們能夠控制創建變化都是必不可少的。
  • 通過Blender python 渲染和保存圖像
    通過blender中的 python 腳本渲染和保存多個圖像。我知道如何通過 Blender GUI 渲染和保存圖像,但我想通過我的腳本完成所有操作,因為我使用的是一組嵌套循環,需要保存多個圖像。能夠渲染圖像,保存圖像與輸出成功。
  • 如何設置PyCharm2020,連接到blender進行代碼編寫
    沒有明確的方式將 IDE 連接到允許快速工作流程的blender建議本文檔展示了一個blender2.9-pycharm2020 開發代碼工作流程,你會發現,方便處理你好多的麻煩。現在我們要設置PyCharm.
  • 從blender 2.7 移植到blender 2.8 的附加調整
    在最新版本的 Blender 開發人員對 API 進行了許多更改,因此為早期 Blender 版本(2.7 及以下)編寫的所有腳本和加載項都停止工作。若要在新的 Blender 2.8 中運行加載項,您需要移植它們 — 更改其代碼以使用新的 Blender API 正常工作。
  • blender python處理矩陣乘法變更符號
    如果對矩陣對象執行任何乘法,要注意一件事情,Python 的最新版本(當然還有包含Blender內置Python版本)為適當的矩陣乘法實現了新的表示方法。用blender腳本編寫器編寫任何矩陣乘法,乘法* 語法仍然有效,這個只能作為 2.8 中嘗試普通乘法,而不是 2.7 中的矩陣乘法。如果你用在矩陣乘法會報出有趣的錯誤,因為這並不一定會拋出一個錯誤,a * ba @ b想要支持 2.7 和 2.8 的相同矩陣乘法樣式?
  • blender2.9 python3實用腳本合集
    更改所有材料的設置您想要更改材質設置,但不僅能作用單個材質,而且對於文件中的所有材質:# 導入blender模塊import bpy#枚舉所有材質for item in bpy.data.materials:#設置 "use_shadeless"item.use_shadeless = True
  • 使用Visual studio code 作為外部 IDE 編寫 Blender2.9 腳本
    從官方網站下載 Python 解釋器分發: www.python.org/downloads/下載與 Blender 中使用的版本相同的 Python 解釋器版本。blender2.90 b的 Python版本為3.7.7下載後,安裝 Python 解釋器。
  • blender python入門系列教程一:認識bpy.data.objects
    啟動blender軟體,如果沒有變更系統設置,默認3d視窗就有一個燈,一個相機和一個立方體。直接選用Scripting界面,在python控制臺,直接輸入bpy.data.objects,系統返回<bpy_collection[3], BlendDataObjects> 中文翻譯:bpy集合[3],blender數據對象輸入:bpy.data.objects