Blender 3D:從新手到專業/高階教程/Python 指令碼/外部指令碼
|
|
適用於 Blender 版本:2.49。 |
將指令碼嵌入 Blender 文件對於某些特殊目的很有用,但通常您希望能夠在任何數量的 Blender 文件中重複使用它,並且可能將其分發給其他人以便與他們的 Blender 專案一起使用。為此,您需要將指令碼另存為一個文字檔案,該檔案可以複製到您的 Blender 使用者首選項中。它還需要插入一些額外的資訊。
為了使您的指令碼可安裝,它需要以以下內容作為其第一行
#!BPY
在此之後,新增一個多行 Python 字串來定義指令碼在指令碼選單中顯示的名稱和其他資訊
"""
Name: 'Add Tetrahedron'
Blender: 249
Group: 'Add'
Tooltip: 'Creates a tetrahedron object'
"""
"Blender:" 行指定了指令碼相容的 Blender 的最低要求版本;這裡我們指定 "249" 表示它需要 Blender 版本 2.49。 "Group:" 表示指令碼將在指令碼選單的哪個子選單中顯示:它必須與現有子選單名稱之一匹配,否則指令碼將進入 "Misc" 子選單。 "Name:" 是將新增用於呼叫此指令碼的選單項的名稱,而 "Tooltip:" 將在使用者將滑鼠懸停在該選單項上時顯示。
因此,您完整的指令碼如下所示
#!BPY
"""
Name: 'Add Tetrahedron'
Blender: 249
Group: 'Add'
Tooltip: 'Creates a tetrahedron object'
"""
from __future__ import division
import math
import Blender
NewMesh = Blender.Mesh.New("Tetrahedron")
NewMesh.verts.extend \
(
[
(0, -1 / math.sqrt(3),0),
(0.5, 1 / (2 * math.sqrt(3)), 0),
(-0.5, 1 / (2 * math.sqrt(3)), 0),
(0, 0, math.sqrt(2 / 3)),
]
)
NewMesh.faces.extend \
(
[[0, 1, 2], [0, 1, 3], [1, 2, 3], [2, 0, 3]]
)
TheObj = Blender.Object.New("Mesh", "Tetrahedron")
TheObj.link(NewMesh)
TheScene = Blender.Scene.GetCurrent()
TheScene.link(TheObj)
TheScene.update()
Blender.Window.Redraw()
您的指令碼內容現已完成。在文字編輯器中,找到 "Text" 選單下的 "Save As" 選項,並選擇一個檔名來儲存您的指令碼 - 可能將其命名為 TetrahedronMaker.py。
就這樣。此儲存的文字檔案現在已準備好安裝到您的 Blender 使用者設定中,或分發給其他人以便安裝到他們的設定中。
要安裝指令碼,只需將您之前儲存的檔案複製到 Blender 使用者設定中的使用者指令碼目錄。
對於不同的作業系統,它是
- Linux/Unix: ~/.blender/scripts
- Windows XP: C:\Program Files\Blender Foundation\Blender\.blender\scripts
- Windows XP (alt): C:\Documents and Settings\USERNAME\Application Data\Blender Foundation\Blender\.blender\scripts
- Windows Vista: C:\Users\USERNAME\AppData\Roaming\Blender Foundation\Blender\.blender\scripts
- Mac OS X
- 在 Mac OSX 下,路徑實際上隱藏在 blender.app 中,因此要了解路徑,您需要知道指令碼資料夾實際上隱藏在 blender.app 本身中。假設 Blender 位於應用程式目錄中,路徑將是 "/Applications/blender/blender.app/Contents/MacOS/.blender/scripts"。如果您嘗試從 Finder 開啟 .app 內容,您會注意到路徑的 .blender 部分不可見,而 Blender 仍然可以導航到此資料夾。
- 右鍵單擊(或 Ctrl-單擊)檔案 "blender",然後在彈出選單中選擇 "Show Package Contents"。它將顯示 blender 資料夾下所有隱藏的檔案,然後選擇其中的 "scripts" 資料夾。
- 要在 OSX 終端中檢視此資料夾,請在列出的路徑的 MacOS 資料夾中使用 ls -a 命令(列出所有資料夾/檔案,即使是隱藏的)。在 "/Applications/blender-2.37a-OSX-10.3-powerpc" 資料夾中為指令碼資料夾建立一個別名可能是好主意,以便可以透過 Finder 輕鬆操作指令碼。我知道將 Blender 的指令碼資料夾埋藏在應用程式內部很令人困惑,但這是為了保持應用程式的可移植性,並且不需要安裝。
- 比上面更安全的方法是將您的指令碼儲存在您的主資料夾中的某個位置:使用此方案,當您升級 Blender 應用程式時,您不會有刪除指令碼的風險,因為它們沒有包含在應用程式資料夾中。遵循此原則的一種方法如下:在您自己的主目錄中建立一個包含您的指令碼(或其中一些指令碼)的資料夾;然後,不要將您的檔案直接放在上面討論的 .../.blender/scripts/ 資料夾中,只需在 .../.blender/scripts/ 資料夾中新增指向您指令碼目錄的連結(例如,使用 "ln -s" Unix 命令,或者透過執行 "open /Applications/blender-2.37a-OSX-10.3-powerpc/blender.app/Contents/MacOS/.blender/scripts/" [根據您的 Blender 版本進行調整],然後透過 Finder 建立一個連結,使用檔案 -> 建立別名)。Blender 現在將找到您放在主目錄中的所有指令碼:它將按照您在其 .../.blender/scripts/ 資料夾中建立的連結進行操作,轉到您自己目錄中的相應資料夾,並找到您放置在那裡的所有 Python 指令碼。
要使用已安裝的指令碼,請開啟一個新的 Blender 文件。擺脫預設的立方體以避免它遮擋視線。將 3D 檢視水平分成兩部分,並將其中一部分更改為指令碼視窗。轉到 "Scripts" 選單,看看您的 "Add Tetrahedron" 專案是否出現在 "Add" 子選單中;如果沒有,請選擇 "Update Menus"("Scripts" 選單中的最後一個專案)並再次檢視。選擇新的選單項,觀察您的四面體物體出現在 3D 檢視中!