中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

BlenderPython中bpy模塊有哪些

發布時間:2021-11-25 13:46:41 來源:億速云 閱讀:292 作者:小新 欄目:大數據

小編給大家分享一下BlenderPython中bpy模塊有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

簡介

bpy全稱Blender Python API,是blender使用python與系統執行數據交換和功能調用的接口模塊。通過調用這個模塊的函數,一般來說可以實現以下功能(下面的功能說明摘自《Blender權威指南》11.2.1部分):

  • 代替界面操作去完成對物體的修改,例如修改網格屬性或添加修改器。

  • 自定義系統的相關配置,例如重設快捷鍵或修改主題的色彩。

  • 自定義工具的參數配置,例如自定義雕刻筆刷的參數。

  • 自定義用戶界面,例如修改面板的外觀和按鈕的排列效果。

  • 創建新的工具,例如Surface Sketching(表面繪制)工具。

  • 創建交互式工具,例如游戲的邏輯腳本。

  • 創建與外置渲染器的接口調用,例如配置Vray等外置渲染器。

  • 從定義Blender的數據結構。

同時在Blender的界面中,為python腳本書寫提供了非常人性的功能,把鼠標放在某個控件(按鈕、輸入框)上一段時間,系統就會提示相應的python接口代碼,如把鼠標放在Render按鈕上,提示如下圖:
BlenderPython中bpy模塊有哪些
當然上面的提示比較簡單,僅僅是函數的提示,如果想獲得詳細的提示,再該控件上右鍵,顯示如下圖,然后點擊Online Manual或者Online Python Reference即可進入該控件相應官方的API文檔界面。(Edit Source還提供了修改該控件系統代碼的功能,不過一般應該用不到。)
BlenderPython中bpy模塊有哪些

data

blender界面上所有可使用調節的對象內容(包括mesh模型、lamp燈光、camera攝像機,material材質等)都在python中以特定的類型存儲起來,在控制臺輸入bpy.types.class_name就可以查看相應的類別(bpy.types里面存了特別多的類型),同時對這些對象的在界面上的修改操作也對應這些類型屬性的修改,這樣就把界面操作和python腳本操作對應起來了。

BlenderPython中bpy模塊有哪些

當然使用bpy.data子模型可以訪問在界面出現的對象(對個對象是以collection方式存儲)
訪問對象列表

bpy.data.objects  #訪問場景內普通對象列表,包括lamp、camera以及mesh模型的bpy.data.scenes  #訪問場景列表bpy.data.materials  #訪問材質對象列表

BlenderPython中bpy模塊有哪些

訪問具體的對象,可以通過bpy.data.objects[name/id],很明顯通過使用對象的名稱(使用自動補全會提示對象名稱)或者在列表中的id來獲取這個對象(對scenes和materials列表訪問同理),如下

bpy.data.objects['Camera']  #訪問名為`Camera`的攝像機對象bpy.data.objects[1]  #訪問列表中的第一個對象

BlenderPython中bpy模塊有哪些
訪問對象的屬性,可以通過點方法進行調用,一般使用自動補全會提示可以使用的屬性。

bpy.data.objects['Camera'].name #訪問對象名稱bpy.data.objects['Camera'].location #訪問對象的位置

BlenderPython中bpy模塊有哪些

ops

bpy.ops子模塊提供了很多內置的Operator(操作符),這些操作符既可以在控制臺中使用,也可以被集成到界面中由按鈕操作來完成(這里只關注python腳本的使用)。在我看來這些操作符就是類似其他語言中聲明的工具函數,可以通過bpy.ops.ops_name(parameters)傳入相應的參數來直接進行調用(一般的程序員同學都應該會吧)。當然和工具函數一樣,也可以定義自己的操作符,注冊到系統中,就可以像內置的操作符一樣使用了。
具體的操作這里面就不講究了(方法太多),如果要使用其中對應的請查看相應的api。

context

context(正文)是blender數據管理中的一個全局變量集合,它包含了目前被選擇的和激活的(物體的兩種屬性狀態)的物體的信息,還記錄了當前物體的編輯模式(data中沒有這方面的信息)。當然使用context對物體對象的訪問以及屬性的操作和data子模塊中相似。

bpy.context.selected_objects #訪問選擇上的對象列表,明顯看出可以同時選擇多個對象bpy.context.active_object #訪問目前激活的對象,激活的對象在某一時刻只有一個,或者沒有(激活對象這個功能主要是因為很多的屬性操作和變換都是對激活對象進行操作的)

BlenderPython中bpy模塊有哪些

以上是“BlenderPython中bpy模塊有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦甸市| 尚义县| 长治市| 新化县| 蒲江县| 内乡县| 金乡县| 鲁甸县| 伊春市| 富宁县| 阳城县| 洛阳市| 勐海县| 石景山区| 兖州市| 石家庄市| 辽阳市| 巴彦县| 商河县| 绥宁县| 临高县| 金阳县| 罗城| 平安县| 巴里| 卢龙县| 永宁县| 乌鲁木齐县| 马龙县| 崇明县| 霍林郭勒市| 奉化市| 革吉县| 濮阳市| 长阳| 卢氏县| 环江| 佳木斯市| 蒲江县| 隆化县| 莱阳市|