﻿WEBVTT

00:00:01.028 --> 00:00:04.593
您好，歡迎使用藝術家腳本。我叫Sybren。

00:00:04.593 --> 00:00:08.143
在本集中，我們將考慮創建自己的插件。

00:00:08.694 --> 00:00:13.479
在上一個視頻中，我們採用了現有代碼要創建猴子網格，

00:00:13.479 --> 00:00:17.634
請在其周圍添加一些內容以將其轉變為運算符。

00:00:17.634 --> 00:00:21.389
在本視頻中，我們將做基本相同的事情。

00:00:21.389 --> 00:00:27.254
我們採用現有的運算符，在其周圍添加代碼，將其保存到其他位置，

00:00:27.254 --> 00:00:29.994
然後，我們將擁有我們的插件。

00:00:29.994 --> 00:00:34.389
到目前為止，我們的代碼始終位於Blend文件本身內。

00:00:34.389 --> 00:00:37.839
這是完美的情況特定於該Blend文件的位置。

00:00:37.847 --> 00:00:41.782
每個人都想抓它。但是，這並不總是有用的。

00:00:43.145 --> 00:00:46.740
因為也許您也想在其他Blend文件中使用它。

00:00:46.877 --> 00:00:52.727
您始終希望可以使用它。甚至您甚至想與同事或朋友共享您的代碼。

00:00:55.394 --> 00:01:00.404
在所有這些情況下，將您的代碼轉換為插件是正確的選擇。

00:01:00.404 --> 00:01:03.629
在此視頻中，我們將介紹以下內容。

00:01:03.629 --> 00:01:07.809
將查看實際上是什麼代碼文件，如何編輯它。

00:01:07.809 --> 00:01:09.904
我們將看看Add-on的成分。

00:01:10.140 --> 00:01:15.040
我們將把我們的猴子網格運算符變成一個猴子網格插件。

00:01:15.040 --> 00:01:21.160
最後，我們將研究您將要做的事情，即在編輯代碼後重新加載代碼。

00:01:22.873 --> 00:01:25.073
因此，讓我們開始吧。

00:01:25.073 --> 00:01:26.988
實際是什麼代碼文件？

00:01:26.988 --> 00:01:32.263
您可能已經猜到了，它實際上只是一個帶有名稱的純文本文件

00:01:32.263 --> 00:01:34.923
以“.py”結尾。真的沒有更多了。

00:01:37.667 --> 00:01:42.502
編輯代碼也很簡單。您幾乎可以在那裡使用任何文本編輯器。

00:01:43.099 --> 00:01:47.294
我只是不使用文字處理器例如Open Office或Microsoft Word，

00:01:48.369 --> 00:01:50.444
因為這些不只是純文本。

00:01:51.992 --> 00:01:53.607
您可能會想使用

00:01:53.607 --> 00:01:56.067
Blender自己的內部文本編輯器。

00:01:58.167 --> 00:02:01.907
畢竟，它甚至具有針對Python的語法突出顯示。

00:02:01.907 --> 00:02:07.042
這意味著它有一些Python的基本知識。它知道關鍵字“for”和“if”和“深度”，

00:02:07.481 --> 00:02:13.126
並且可以為它們加上不同的顏色，從而使您更容易理解代碼的結構。

00:02:14.409 --> 00:02:18.864
但是對於Blender的編輯器，我總是感到困惑。我不知道

00:02:18.864 --> 00:02:25.174
我正在編輯文本文件，該文件是Blender的一部分，或者對磁盤外部安全。

00:02:25.462 --> 00:02:28.212
要保存文件，您必須按Alt S

00:02:28.715 --> 00:02:32.135
而不是Ctrl S，否則您將保存Blend文件

00:02:32.550 --> 00:02:38.675
而不是文本文件。我寧願推荐一些不同的東西，一些更適合該任務的東西。

00:02:38.815 --> 00:02:41.735
我個人最喜歡的是Visual Studio代碼。

00:02:42.527 --> 00:02:47.482
它是Microsoft的一個開源項目，並且是一個非常好的編輯器。

00:02:47.482 --> 00:02:50.402
其他受歡迎的選擇是@More Sublime Text。

00:02:50.846 --> 00:02:55.986
或者，如果您想做的真的很大，Pie Charm，還有很多選擇。

00:02:55.986 --> 00:03:01.686
因此，我建議您下載一些，然後嘗試一下，這將是最好的選擇。

00:03:01.806 --> 00:03:03.706
至於代碼文件的名稱，

00:03:04.224 --> 00:03:07.169
我已經提到過，它必須以“py”結尾。

00:03:07.419 --> 00:03:09.849
不過，還有其他一些要求。

00:03:09.849 --> 00:03:11.279
您不必全部了解。

00:03:11.279 --> 00:03:17.064
如果您只是堅持不帶任何重音，下劃線和數字的字母，那將會很好。

00:03:17.906 --> 00:03:21.456
如果您想了解有關創建附加組件的更多信息，

00:03:22.783 --> 00:03:27.743
可以轉到“幫助”菜單，然後轉到“高級”，“腳本”和“擴展Blender”，

00:03:27.743 --> 00:03:30.693
那裡有很多信息，包括Add-on教程。

00:03:32.097 --> 00:03:35.062
現在，讓我們看一下Add-on的成分。

00:03:36.479 --> 00:03:39.204
您的Add-on中確實必須具備三件事。

00:03:40.636 --> 00:03:43.741
在文件頂部，應該有一些元數據

00:03:44.179 --> 00:03:45.934
在“ bl”信息日期中，

00:03:46.472 --> 00:03:49.307
並且此元數據應包含Add-on的名稱(Blender的哪個版本)

00:03:51.231 --> 00:03:54.261
與它兼容，附加組件應位於的類別，

00:03:54.905 --> 00:03:56.280
和其他一些信息。

00:03:56.601 --> 00:04:01.821
您已經了解了第二和第三件事，那就是Register和Unregister函數。

00:04:03.796 --> 00:04:09.451
這些功能告訴Blender您的插件包含什麼，以便可以正確加載和卸載它。

00:04:10.703 --> 00:04:13.643
您在頂部看到的“bl”信息稱為字典。

00:04:14.858 --> 00:04:17.008
這基本上是一個查詢表。

00:04:17.255 --> 00:04:23.130
我們在《藝術家腳本》第5章中已經看到過它。好吧，讓我們開始吧

00:04:23.130 --> 00:04:29.410
這個微型插件可以工作。首先，我們必須將其保存到磁盤上的某個位置。

00:04:29.410 --> 00:04:34.850
現在並不重要，因為我們將安裝它，然後Bblender將其複製

00:04:34.850 --> 00:04:38.345
到最終位置，以後我們可以從那裡進行編輯。

00:04:39.132 --> 00:04:43.332
因此，我將其保存到“Scripting for Artists”文件夾中，

00:04:43.332 --> 00:04:46.592
並且僅使用小寫字母和下劃線作為名稱，

00:04:47.437 --> 00:04:49.107
結束命名“.py”。

00:04:51.768 --> 00:04:53.943
現在我們必須安裝插件。

00:04:56.431 --> 00:05:01.801
轉到偏好設置，轉到插件，安裝並找到我們最小的插件。

00:05:03.090 --> 00:05:08.740
現在，該插件已安裝到Blender中，並為我們複製到了正確的位置。

00:05:08.740 --> 00:05:12.175
您可以看到我們在這裡。這是我的主目錄

00:05:12.318 --> 00:05:17.698
“.config/blender/Blender的版本/腳本/插件/smallest_Add-on.py”

00:05:20.201 --> 00:05:23.746
我們可以手動將其放到那裡，一切都很好。

00:05:23.746 --> 00:05:26.096
只要文件在那裡，就好。

00:05:26.096 --> 00:05:30.321
但是通過這種方式，Blender會告訴您必須去的地方。

00:05:30.321 --> 00:05:35.126
可以看到，用戶界面顯示關於我們的插件的信息很少。

00:05:35.126 --> 00:05:40.641
因此，在啟用插件之前，我們先看看是否可以解決該問題。

00:05:40.641 --> 00:05:44.201
我們可以回到Blender文本編輯器，更改文件，

00:05:44.987 --> 00:05:46.037
再次保存，

00:05:46.533 --> 00:05:49.528
再次安裝，覆蓋剛剛安裝的文件，

00:05:51.208 --> 00:05:55.393
然後，單擊刷新。但是我認為這是太多的工作。

00:05:55.393 --> 00:06:01.018
讓我們僅使用您在此處看到的文件，然後在代碼編輯器中將其打開。

00:06:01.265 --> 00:06:03.210
這是給您的一個小把戲。

00:06:03.210 --> 00:06:07.435
如果要弄清楚Python文件在哪裡，可以將其導入。

00:06:09.179 --> 00:06:13.474
您可以說“導入最小的插件”，這將加載我們的插件。

00:06:13.774 --> 00:06:19.499
您會看到，因為我們有一個Register函數，例如，它打印“hello world”，

00:06:19.679 --> 00:06:26.154
正如我們期望的那樣，我們還有一個未註冊的功能，可以說是“再見的世界”，

00:06:26.154 --> 00:06:28.359
這使您可以從Blender到Add-ons。

00:06:28.695 --> 00:06:31.945
還有他們的秘密名字，應該不會出現。

00:06:32.441 --> 00:06:34.731
“底線底線檔案底線底線”(“__file __”)

00:06:35.965 --> 00:06:39.375
這將為您提供Add-on存儲在其中的文件。

00:06:39.375 --> 00:06:45.100
因此，這可以將粘貼複製到您的編輯器中，並實際上會打開文件。

00:06:45.100 --> 00:06:49.955
在這裡，我們在Visual Studio代碼中，我們打開一個文件，

00:06:49.955 --> 00:06:54.345
並且，當然，文件打開對話框是特定於平台的。

00:06:54.345 --> 00:06:58.255
就我而言，我可以將文件名粘貼到控件V上，

00:06:58.255 --> 00:07:02.825
按“輸入，然後打開文件。”在這裡，我們看到了代碼

00:07:02.825 --> 00:07:06.665
Blender剛剛為我們安裝的。這是我們的代碼文件。

00:07:06.665 --> 00:07:11.005
現在，讓我們使用更多信息來擴展bl info指令。

00:07:11.005 --> 00:07:13.875
首先，讓我們添加一個作者字段。

00:07:15.308 --> 00:07:18.143
您可以根據需要添加電子郵件地址。

00:07:18.143 --> 00:07:21.173
這樣，人們可以輕鬆閱讀您的內容。

00:07:21.173 --> 00:07:24.473
其餘字段已記錄在Python API手冊中。

00:07:25.673 --> 00:07:31.468
因此，在Blender中，只需轉到Help Python API，然後搜索BL Info。

00:07:31.468 --> 00:07:32.963
這是更多字段

00:07:32.963 --> 00:07:35.343
我只是從該文檔中復製而來。

00:07:35.822 --> 00:07:40.172
位置是人們可以在Blender本身中找到它的Add-on的位置。

00:07:42.765 --> 00:07:45.425
由於我們還沒有任何用戶界面，

00:07:47.126 --> 00:07:50.251
因此我們可以在此處鍵入“運算子搜索”，

00:07:50.251 --> 00:07:55.691
然後人們將擁有自己尋找。說明僅描述了附加組件“更多猴子”的功能。

00:07:58.179 --> 00:08:02.589
其他字段我們暫時將其留空。我用Ctrl S保存了它。

00:08:03.551 --> 00:08:08.411
回到Blender中的“偏好設置”，我們已經更改了磁盤上的文件。

00:08:08.599 --> 00:08:10.539
讓我們單擊刷新按鈕。

00:08:10.803 --> 00:08:16.063
你可以看到它再次折疊了該面板，這表明該面板已重新加載。

00:08:16.656 --> 00:08:20.561
當我們打開它時，我們得到在此鍵入的信息。

00:08:21.324 --> 00:08:27.414
註冊和取消註冊功能沒有太大作用，它們只是在屏幕上打印一些內容。

00:08:27.414 --> 00:08:31.819
那麼，讓我們看看會發生什麼。我在這裡顯示終端，

00:08:31.819 --> 00:08:35.299
當我們啟用Add-on時，您可以看到“Hello World”。

00:08:35.299 --> 00:08:40.654
當然，當我們禁用時，您可以看到“再見世界”。這一直在繼續。

00:08:41.041 --> 00:08:47.111
現在，我們知道了將猴子網格運算符轉變為猴子網格插件所需的一切。

00:08:48.197 --> 00:08:52.012
現在我們回到了Visual Studio代碼。你可以看到

00:08:52.012 --> 00:08:55.702
我打開了側面的Add-ons目錄，所以您可以看到，

00:08:55.702 --> 00:08:57.812
我已經安裝了Blender Cloud Add-on，

00:08:57.812 --> 00:09:01.702
我們剛剛製作了最小的插件。讓我們來一個新的。

00:09:01.733 --> 00:09:06.728
創建一個名為“monkey create.py”的新文件。從我最小的插件

00:09:07.382 --> 00:09:11.502
我將BL信息複製到其中。將名稱更改為“Monkey Grid”

00:09:13.846 --> 00:09:18.046
因為它不是猴子網格插件。讓我們去添加新網格。

00:09:18.046 --> 00:09:22.721
因此，我們將類別更改為“網格”。位置仍為“運算子搜索”。

00:09:22.721 --> 00:09:25.996
現在，說明比以往任何時候都更適用。

00:09:26.046 --> 00:09:28.261
讓我們保持現在的樣子。

00:09:29.022 --> 00:09:33.247
除了我們擁有的東西，這是我們唯一需要的東西。

00:09:33.247 --> 00:09:39.647
我們的代碼文件在正確的位置，具有正確的名稱，頂部具有正確的BL信息。

00:09:41.791 --> 00:09:44.156
現在，我們要做的就是

00:09:44.156 --> 00:09:48.906
將我們在該Blend文件中已經擁有的所有代碼複製到該文件中。

00:09:48.922 --> 00:09:49.787
回到Blender。

00:09:51.487 --> 00:09:55.697
我複製所有代碼。然後將Visual Studio代碼粘貼到其中。

00:10:00.587 --> 00:10:03.512
快速檢查一下，沒有什麼奇怪的。

00:10:04.276 --> 00:10:11.661
之所以可以刪除它，是因為我們不再從編輯器本身運行它，而是僅將其作為插件加載。

00:10:11.904 --> 00:10:14.019
我們不再需要一點點魔術。

00:10:15.187 --> 00:10:18.002
保存文件，現在我們回到Blender。

00:10:18.638 --> 00:10:22.508
可以肯定的是，讓我們從一個新文件開始。

00:10:22.508 --> 00:10:27.383
然後，轉到“偏好設置”，再次刷新列表，搜索猴子。

00:10:30.965 --> 00:10:35.015
在那裡，我們有了猴子網格，可以啟用它。

00:10:35.015 --> 00:10:39.015
讓我們看看它是否有效。按F3，“猴子網格”，

00:10:40.483 --> 00:10:43.913
我們在那裡，我們自己的插件正在工作。

00:10:45.444 --> 00:10:50.749
一切正常，這很好。但是從一開始，事情就永遠不會完美。

00:10:51.655 --> 00:10:58.050
因此，您要做的是經常在代碼編輯器和Blender本身之間來回切換，然後

00:10:58.191 --> 00:11:00.816
您必須告訴Blender重新加載腳本。

00:11:02.186 --> 00:11:06.001
我們已經在Add-ons列表中看到了此Refresh按鈕。

00:11:06.282 --> 00:11:08.402
但這只會刷新“Add-ons”列表，

00:11:09.514 --> 00:11:13.634
實際上並不會從磁盤中重新加載已加載的App-on。

00:11:14.738 --> 00:11:20.148
讓我們進行更改，以便可以看到重新加載實際上做了一些事情。

00:11:21.203 --> 00:11:22.703
返回代碼編輯器。

00:11:23.053 --> 00:11:27.783
假設我們更改了計數Y的默認值，將其從2更改為5，

00:11:30.887 --> 00:11:32.932
並將文件保存回Blender。

00:11:33.227 --> 00:11:38.327
當然，如果重做猴子網格，我們仍然將2作為默認值。

00:11:38.564 --> 00:11:41.154
因為我們還沒有重新加載腳本。

00:11:41.626 --> 00:11:43.966
按F3，重新加載腳本，

00:11:44.900 --> 00:11:47.355
實際上將重新加載您的腳本。

00:11:47.455 --> 00:11:52.900
現在，當我們這樣做時猴子網格，可以看到默認設置為5。

00:11:53.890 --> 00:11:56.120
所以這是您將要做的事情。

00:11:56.410 --> 00:12:00.600
這就是“藝術家腳本”的這一集。回顧一下，Add-on是

00:12:01.949 --> 00:12:06.439
只是在計算機上的特定位置具有特定名稱的文本文件。

00:12:07.422 --> 00:12:10.592
它在頂部有元數據在BL信息字典中。

00:12:11.281 --> 00:12:14.136
它的底部具有已註冊和未註冊功能。

00:12:15.136 --> 00:12:19.216
最後，重新加載完成該重新加載腳本運算符。

00:12:19.404 --> 00:12:24.629
就是這樣。如果您有任何疑問或意見，請在下面發表評論。

00:12:24.629 --> 00:12:26.399
我很快就會與你見面。