<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
繼上一篇 《Blender Python 程式設計:快速入門》 我們已經瞭解了 Blender Python 指令碼的基本概念。接下來讓我們瞭解如何用 Python 程式設計實現一些 有意思的功能(減輕部分工作量)。
Blender 並不是唯一一款允許你為場景程式設計和自動化任務的3D軟體; 隨著每一個新版本的推出,Blender 正逐漸成為一個可靠的 CG 製作一體化解決方案,從使用油脂鉛筆的故事板到基於節點的合成。
事實上,你可以使用 Python 指令碼和一些額外的包來批次處理你的物件範例化,程式化地生成東西,設定你的渲染設定,甚至獲得你當前專案的自定義統計資料,這是非常棒的功能! 這是一種減輕繁瑣任務負擔的方式,同時也能讓開發者參與到這個創造性工具社群中,而不僅僅是美術人員。
開啟 Blender 中的文字編輯器,讓我們開始編碼。這個過程的主要步驟包括
for
迴圈來匯入多個 “猴頭” 網格為了實現我們的專案,我們將進口三種主要必需品。首先,我們將匯入 bpy 庫,它將允許使用者在 Blender 文字編輯器中存取 Python 環境。我們將從這個庫中匯入一些功能,以方便存取。最後,我們還將匯入用於執行不同型別計算的 math 庫。在這個特殊的場景中,數學庫主要用於計算用於測量旋轉角度的尤拉角。需要匯入的庫如下:
import bpy from bpy import context, data, ops import math
我們的下一個目標是從 Blender 環境中刪除所有不必要的元素。可以通過兩種方式執行此操作。一種方法是使用 delete
函數並將 use_global
引數設定為 False 。另一種方法是建立一個 for
迴圈,並在預設螢幕中檢查所有物件,選擇正在尋找的特定型別的物件,並刪除適當(認為不必要的特定專案)的元素。下面是執行以下操作的程式碼塊。
# Remove The Default Cude Object # bpy.ops.object.delete(use_global=False) bpy.ops.object.delete(use_global=False, confirm=False) for o in bpy.context.scene.objects: if o.name == "Cube": bpy.ops.object.delete(use_global=False)
在下一步,我們將在各自的位置新增相應的多個 “猴頭” 網格。為了執行這個步驟,我們將把三個變數初始值設為零。這三個變數分別表示 x 軸、y 軸 和 z 軸。我們將相應地修改這些變數,以獲得 “猴頭” 網格的最佳位置。count
變數用於根據需要改變這些軸的位置。
# Create multiple monkey meshes x = 0 y = 0 z = 0 count1 = 0 count2 = -5 for i in range(3): # Import the monkey mesh bpy.ops.mesh.primitive_monkey_add(location = (x + count1, y + count1, z)) count1 += 5 for i in range(2): # Import the monkey mesh bpy.ops.mesh.primitive_monkey_add(location = (x + count2, y - count2, z)) count2 += -5
一旦我們完成了建立多個 “猴頭” 網格,我們可以新增一個相機來檢視我們的物件和它們的整體檢視。我們將設定場景和建立我們的相機,並將相機鏡頭設定為 30 mm。預設的相機尺寸通常是 50 mm 。但是,我們將使用這個特定的大小(30 mm),以便在 指定的範圍內所有物件都清晰可見 。然後,我們將建立相機物件,並設定相機的位置和旋轉角度。
位置(location
) 將決定相機的位置,在那裡我們將有最好的視角,所有物件呈現在螢幕的可見區域。旋轉角度(rotation_euler
) 由角度轉換為弧度,這是在前面的編碼部分中引入的數學庫的幫助下完成的。
我們將指定沿所有三軸旋轉的角度(弧度),以便 位置 和 旋轉角度 都被正確放置。我們將場景的 collection
連結到當前的相機,並確保當前選擇的相機被設定為活動
### Creating A New Camera Angle scn = bpy.context.scene # create the second camera cam = bpy.data.cameras.new("Camera") cam.lens = 30 # create the second camera object cam_obj = bpy.data.objects.new("Camera", cam) # Locations cam_obj.location.x = 16 cam_obj.location.y = -6 cam_obj.location.z = 8 # Rotations cam_obj.rotation_euler[0] = math.radians(64) cam_obj.rotation_euler[1] = math.radians(0) cam_obj.rotation_euler[2] = math.radians(47) scn.collection.objects.link(cam_obj) # Set the Camera to active camera bpy.context.scene.camera = bpy.data.objects["Camera"]
建立多個猴子網格和放置我們的相機在所需位置後的 最後一步 是儲存影象。在我們儲存影象之前,我們將渲染我們的影象,並將其儲存為 “.png” 格式。渲染基本上是將 Blender 空間中的 3D 場景轉換為 2D 檢視,以便更容易以列印形式視覺化。
為了執行這個步驟,我們將設定路徑,並將三維模型場景從相機的角度渲染成二維影象,儲存在指定路徑的目錄中。一旦我們的影象被渲染和儲存,我們可以恢復之前的路徑來執行進一步的計算和操作。
# Setting the path for the first image captured in the first camera FILE_NAME = "1.png" FILE_PATH = "D:\Cool Projects\Paperspace\3-D Models\1.png" # Save Previous Path previous_path = bpy.context.scene.render.filepath # Render Image bpy.context.scene.render.filepath = FILE_PATH bpy.ops.render.render(write_still=True) # Restore Previous Path bpy.context.scene.render.filepath = previous_path
以上就是Blender Python程式設計實現批次匯入網格並儲存渲染影象的詳細內容,更多關於Blender Python匯入渲染影象的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45