WEBVTT

1
00:00:00.440 --> 00:00:02.620
您好，歡迎來到藝術家腳本。

2
00:00:02.630 --> 00:00:06.860
我的名字是Sybren，在本集中我們將討論資產鏈接

3
00:00:07.240 --> 00:00:10.920
因為這集的代碼比之前的多了許多。

4
00:00:10.920 --> 00:00:13.140
而且程式碼也變得越來越複雜。

5
00:00:13.150 --> 00:00:16.860
我已將最終添加內容放在影片說明的連結中，以便您

6
00:00:16.860 --> 00:00:20.650
可以下載它並在觀看此影片時將其用作參考。

7
00:00:20.940 --> 00:00:24.190
現在我們就去混合雲來看看定居者計畫。

8
00:00:24.190 --> 00:00:27.830
這是一個公共項目，因此您不需要混合雲訂閱來存取它

9
00:00:27.840 --> 00:00:31.860
它將作為本集藝術家腳本編寫的一個很好的例子。

10
00:00:32.240 --> 00:00:35.360
我還在視頻說明中添加了該項目的鏈接

11
00:00:35.840 --> 00:00:38.270
這是定居者的攪拌機雲的動畫

12
00:00:38.270 --> 00:00:42.360
項目是典型的此類動畫項目

13
00:00:42.360 --> 00:00:45.550
有一組，每組都包含此中的資產

14
00:00:45.550 --> 00:00:48.890
像左邊的岩石和植物這樣的情況。

15
00:00:48.890 --> 00:00:51.730
您可以在設定開發中看到不同的混合文件

16
00:00:51.730 --> 00:00:54.460
對於岩石資產和正確的 I 資產。

17
00:00:54.640 --> 00:00:57.050
它們都連結到此處的環境文件中。

18
00:00:57.050 --> 00:00:59.170
您可以下載債務人試用版。

19
00:00:59.180 --> 00:01:03.160
只需單擊此處的下載按鈕，就會為您提供以下文件

20
00:01:04.140 --> 00:01:07.290
這裡。我已將文件解壓縮到亞特蘭大沙漠。它有一個

21
00:01:07.560 --> 00:01:11.740
小筆記和集合目錄。結束目錄包含環境資產。

22
00:01:11.740 --> 00:01:13.770
所以沙漠植物和岩石。

23
00:01:13.920 --> 00:01:15.910
筆記有一些陰影，因為我們不會尋找

24
00:01:15.910 --> 00:01:19.350
這些和性發現亞特蘭大沙漠點融合。

25
00:01:19.540 --> 00:01:22.040
我已經創建了我們要使用的 Jason 文件

26
00:01:22.040 --> 00:01:24.660
當然可以在準備影片時使用

27
00:01:24.940 --> 00:01:26.880
我們有一個新的工廠

28
00:01:26.880 --> 00:01:29.160
我們將從頭開始自動建置。

29
00:01:29.540 --> 00:01:31.480
現在，在我們開始 Ultimate NG 之前，

30
00:01:31.480 --> 00:01:34.670
看看攪拌機本身和手動總是好的

31
00:01:34.670 --> 00:01:37.060
完成您希望腳本執行的步驟。

32
00:01:37.070 --> 00:01:39.950
所以通常你會花一段時間然後鏈接，

33
00:01:40.940 --> 00:01:44.450
岩石說，你會去環境資產

34
00:01:44.840 --> 00:01:47.850
那裡有我們想要連結的集合。

35
00:01:47.860 --> 00:01:49.060
命名如下，

36
00:01:49.060 --> 00:01:51.290
你有 EN 破折號，代表環境

37
00:01:51.300 --> 00:01:53.750
資產，然後是名稱和編號。

38
00:01:53.760 --> 00:01:55.470
所以我們想要擁有所有的 N 塊岩石，

39
00:01:55.470 --> 00:01:59.530
我們希望岩石中的一切都光滑，就像整個事情一樣。

40
00:01:59.540 --> 00:02:00.080
一，

41
00:02:00.080 --> 00:02:02.010
我們不要那 11 件事，你已經可以了

42
00:02:02.010 --> 00:02:04.160
看到的是所有的集合都有一定的前綴

43
00:02:04.340 --> 00:02:07.960
我們可以在腳本中使用它，以便它自動選擇正確的。

44
00:02:08.039 --> 00:02:12.660
所以，灰岩下劃線 s 底線。這適用於第一組

45
00:02:13.240 --> 00:02:17.690
和 Ian dash rock underscore 平滑底線將適用於第二組。

46
00:02:17.710 --> 00:02:19.660
現在讓我們連結其中之一。

47
00:02:20.540 --> 00:02:25.150
您單擊一個連結並自動將其實例化到場景中。

48
00:02:25.160 --> 00:02:28.320
如果你想將其連結到我們在腳本中看到的自己，

49
00:02:28.330 --> 00:02:31.500
我們必須進一步調查這到底是什麼。

50
00:02:31.510 --> 00:02:35.750
所以我們這裡是一個對象，其實是空對象

51
00:02:36.140 --> 00:02:38.110
將實例 ng 設定為集合

52
00:02:38.300 --> 00:02:41.110
激發搖滾停止混合系列

53
00:02:41.280 --> 00:02:42.350
此外，

54
00:02:42.630 --> 00:02:45.010
空的當然是同一個集合的一部分

55
00:02:45.010 --> 00:02:47.010
這就是它出現在我們場景中的原因。

56
00:02:47.020 --> 00:02:48.540
所以這就是我們必須要做的。

57
00:02:48.720 --> 00:02:50.800
我們必須從林肯收藏

58
00:02:50.800 --> 00:02:53.210
搖滾停止混合到當前混合文件中。

59
00:02:53.220 --> 00:02:55.090
然後我們必須創建一個空的

60
00:02:55.090 --> 00:02:58.160
空將將該集合實例化到我們的場景中。

61
00:02:58.340 --> 00:03:03.060
現在與我們之前所做的相反，我們不打算使用連結運算子。

62
00:03:03.120 --> 00:03:05.880
從 python 中使用它非常困難，而且有很多

63
00:03:05.880 --> 00:03:08.570
如果你去幫助python，更好的方法，

64
00:03:08.580 --> 00:03:09.760
API參考

65
00:03:10.440 --> 00:03:15.060
然後對於 bP 資料庫，你會發現它是一個函式庫。

66
00:03:15.060 --> 00:03:18.560
B型pi資料庫的資料塊，點擊它

67
00:03:18.940 --> 00:03:22.010
在這裡您將進入載入功能。

68
00:03:22.170 --> 00:03:26.250
這就是我們將要使用的資料來載入的庫

69
00:03:26.590 --> 00:03:27.920
這需要一個檔案路徑，

70
00:03:28.010 --> 00:03:30.880
它需要一個可以設定為 true 的連結參數，如果

71
00:03:30.880 --> 00:03:32.770
你想要連結這就是我們想要做的。

72
00:03:32.780 --> 00:03:34.960
否則它將取決於當前文件

73
00:03:35.440 --> 00:03:37.370
如果檔案路徑是，relatives 應該是 true

74
00:03:37.370 --> 00:03:39.960
被解釋為相對於當前混合文件

75
00:03:40.440 --> 00:03:42.740
以下是如何使用此功能的一些範例。

76
00:03:42.930 --> 00:03:45.610
該函數實際上充當上下文管理器，

77
00:03:45.620 --> 00:03:49.130
這表示您將它與 with 語句一起使用。

78
00:03:49.150 --> 00:03:51.360
with 語句有一個縮排的主體

79
00:03:52.240 --> 00:03:55.030
所以你必須用 then 你在這裡有一個表達 then

80
00:03:55.030 --> 00:03:58.560
正如我們從前所知道的那樣，科林又來了。

81
00:03:58.940 --> 00:04:01.620
然後你又得到了一些程式碼

82
00:04:01.630 --> 00:04:04.660
縮排稱為 with 語句的主體。

83
00:04:05.040 --> 00:04:08.230
現在 with 語句在進入之前做了一些事情

84
00:04:08.230 --> 00:04:10.490
身體然後做其他事情

85
00:04:10.500 --> 00:04:12.780
退出身體你可以用這個

86
00:04:12.780 --> 00:04:15.790
諸如打開文件和讀取內容之類的事情

87
00:04:15.930 --> 00:04:18.480
然後確保當 with 語句

88
00:04:18.480 --> 00:04:21.630
決賽結束後自動關閉再次清理。

89
00:04:21.640 --> 00:04:22.460
我該走了。

90
00:04:23.040 --> 00:04:25.740
在這種情況下，它會加載混合文件並且它

91
00:04:25.750 --> 00:04:29.840
在資料中公開混合文件的內容

92
00:04:30.030 --> 00:04:32.780
然後你可以將數據分配給任何數據

93
00:04:32.780 --> 00:04:35.180
您想要從該混合文件連結的區塊，

94
00:04:35.310 --> 00:04:37.260
數據來自和數據至。

95
00:04:37.440 --> 00:04:40.970
它們看起來與您已經知道的數據的 b 部分非常相似。

96
00:04:40.970 --> 00:04:44.760
所以它有一個點青少年點集合物件等。

97
00:04:45.340 --> 00:04:49.400
唯一的區別是它們並不是真正的物體、場景或集合。

98
00:04:49.530 --> 00:04:51.160
它們只是一個名字清單。

99
00:04:51.540 --> 00:04:55.000
這樣我們就可以根據場景的名稱採取行動。集合的名稱。

100
00:04:55.000 --> 00:04:56.060
物件的名稱

101
00:04:56.440 --> 00:04:58.770
無論我們給數據取什麼名字

102
00:04:58.780 --> 00:05:01.420
當 with 語句被執行時，最終會被導入

103
00:05:01.430 --> 00:05:04.370
在此範例中，它附加了

104
00:05:04.370 --> 00:05:06.520
scene 呼叫 scene 到目前的 Blend 檔案。

105
00:05:06.530 --> 00:05:10.550
這取決於連結的預設值是 false。這就是預設行為。

106
00:05:10.720 --> 00:05:13.070
沒有給出連結參數。所以它會附加

107
00:05:13.360 --> 00:05:15.160
下面這裡。你會看到一個例子

108
00:05:15.340 --> 00:05:18.360
帶有連結。真的。這樣將連結而不是附加

109
00:05:18.740 --> 00:05:22.750
數據點場景。反對等的措施已列出

110
00:05:22.940 --> 00:05:26.460
就像我們以前見過的那樣。所以我們也可以為它們添加一些東西。

111
00:05:26.470 --> 00:05:29.840
與來自集合的數據類似也是

112
00:05:29.840 --> 00:05:32.860
集合名稱列表，以便我們可以循環這些名稱。

113
00:05:33.410 --> 00:05:36.680
這意味著我們可以循環遍歷集合，查看它們的名稱，

114
00:05:36.770 --> 00:05:40.040
看看是否帶有我們想要的前綴和 if。

115
00:05:40.040 --> 00:05:43.060
因此，我們將它們附加到資料點集合列表中。

116
00:05:43.440 --> 00:05:46.110
現在讓我們回到攪拌機並編寫一些程式碼

117
00:05:46.110 --> 00:05:48.570
稍微探索一下，看看它的行為。

118
00:05:48.710 --> 00:05:51.830
所以麗貝卡攪拌機，這一切都會看起來

119
00:05:51.830 --> 00:05:54.630
現在我們已經很熟悉了，我們正在導入 beep。

120
00:05:54.630 --> 00:05:55.090
I

121
00:05:55.280 --> 00:05:59.570
我們設定一個檔案路徑，因為我已將此檔案儲存在 set 目錄中，所以我們

122
00:05:59.570 --> 00:06:03.860
必須向上一個目錄然後兩端，然後我們就有搖滾停止混合。

123
00:06:04.440 --> 00:06:07.620
其餘部分與我們已經看到的範例非常相似。

124
00:06:07.630 --> 00:06:10.180
所以我們有BP資料庫加載

125
00:06:10.190 --> 00:06:12.450
那麼最終的路徑和連結等於 true 因為

126
00:06:12.450 --> 00:06:17.250
我們想要鏈接，然後我們就可以得到我們預期的從 適應 到 的數據。

127
00:06:17.940 --> 00:06:21.800
現在我們在這裡所做的就是列印集合中的數據

128
00:06:21.800 --> 00:06:25.310
看看我們的特定文件到底有什麼，

129
00:06:25.320 --> 00:06:29.250
點擊播放，然後我們進入啟動攪拌機的終端。

130
00:06:29.640 --> 00:06:33.430
如果您使用的是 Windows，您可以轉到窗口，然後轉到總系統控制台

131
00:06:33.570 --> 00:06:34.860
為了看到這個

132
00:06:35.240 --> 00:06:37.900
在這裡我們看到集合名稱列表。

133
00:06:37.910 --> 00:06:41.770
就像我們在攪拌機本身中看到的那樣，當我們手動完成所有步驟時。

134
00:06:41.880 --> 00:06:45.750
現在，即使我們實際上還沒有連結該混合文件中的任何內容，

135
00:06:45.800 --> 00:06:47.250
它確實有一些效果。

136
00:06:47.340 --> 00:06:48.760
如果你看一下大綱

137
00:06:50.540 --> 00:06:54.510
您可以看到它確實加載了我們想要的 Rock Stop 混合文件。

138
00:06:54.540 --> 00:06:56.360
所以它已經在做一些事情了

139
00:06:56.940 --> 00:06:58.540
現在我們有了名單，

140
00:06:58.590 --> 00:07:00.630
讓我們對找到的名稱進行一些過濾

141
00:07:00.640 --> 00:07:04.350
有趣的是，實際上將它們連結到當前的混合檔案中

142
00:07:04.840 --> 00:07:10.460
為了這。我們首先確定我們的前綴。所以記住我們有兩組岩石。

143
00:07:10.470 --> 00:07:13.570
我們現在只關注其中一個，稍後我們再做另一個。

144
00:07:13.580 --> 00:07:17.950
從 n 破折號開始，並將分數作為底線

145
00:07:18.440 --> 00:07:19.850
我們可以刪除這個列印

146
00:07:20.240 --> 00:07:26.660
只需說出集合資料中的集合名稱

147
00:07:28.440 --> 00:07:33.760
如果它不以我們的前綴開頭，我們就不感興趣。

148
00:07:33.760 --> 00:07:36.100
因此，我們使用 continue 關鍵字來跳過它們。

149
00:07:36.110 --> 00:07:40.570
這只會告訴 for 迴圈轉到下一個元素並跳過主體的其餘部分。

150
00:07:40.580 --> 00:07:43.990
在其他情況下，儘管我們有前綴，這意味著我們

151
00:07:43.990 --> 00:07:47.130
必須告訴 Blender 我們實際上想要連結這個集合。

152
00:07:48.240 --> 00:07:51.320
這意味著我們必須對點資料執行一些操作

153
00:07:51.500 --> 00:07:54.600
並表示我們可以附加該清單。

154
00:07:54.820 --> 00:07:56.250
讓我們嘗試一下。

155
00:07:59.240 --> 00:08:00.350
這會工作得很好

156
00:08:01.740 --> 00:08:05.060
現在我們可以在大綱中開啟這個文件

157
00:08:05.840 --> 00:08:09.200
我們可以看到這些集合已被添加到其中。

158
00:08:09.210 --> 00:08:12.050
這些正是我們想要的系列

159
00:08:12.050 --> 00:08:14.270
我們不想要的收藏品不在這裡。

160
00:08:14.270 --> 00:08:16.060
所以我們的程式碼正在做正確的事情。

161
00:08:16.410 --> 00:08:19.010
現在剩下的就是建立一個空的實例

162
00:08:19.010 --> 00:08:22.960
這些集合，然後將這些空連結到同一個集合。

163
00:08:23.440 --> 00:08:27.330
她體內的這些數據有些特別。

164
00:08:27.330 --> 00:08:32.169
使用資料到點集合是一個名稱列表，但是一旦使用

165
00:08:32.169 --> 00:08:37.640
主體已完成並部署載入的資料庫實際上已經載入了我們需要的內容

166
00:08:37.909 --> 00:08:41.500
資料到點集合不再是集合名稱清單。

167
00:08:41.919 --> 00:08:45.250
它實際上是連結的集合的列表。

168
00:08:45.540 --> 00:08:49.350
所以我們能做的就是循環它們。

169
00:08:50.940 --> 00:08:55.050
現在，這裡的 cole 首先是第一個集合，然後是第二個集合，依此類推。

170
00:08:55.540 --> 00:08:56.870
現在讓我們建立一個空的

171
00:09:00.840 --> 00:09:02.750
它應該以他們的收藏命名

172
00:09:03.080 --> 00:09:04.650
並且它不應該有任何數據。

173
00:09:05.140 --> 00:09:08.130
這樣攪拌機就知道這個物件應該是一個

174
00:09:08.130 --> 00:09:10.940
空的，沒有相機或測量任何其他東西。

175
00:09:10.950 --> 00:09:15.060
現在我們必須設定一些屬性，讓我們看看這些屬性是什麼。

176
00:09:16.940 --> 00:09:19.460
所以為了測試我加了一個空的空，

177
00:09:22.640 --> 00:09:26.990
我必須設定 Lisbon，它是實例類型的物件。

178
00:09:27.000 --> 00:09:29.560
當然，我們必須將集合設定為

179
00:09:29.570 --> 00:09:31.740
收藏之一，你就擁有了。

180
00:09:31.740 --> 00:09:32.860
這就是我們需要做的。

181
00:09:33.340 --> 00:09:37.110
但是在這裡，你說它是實例集合。所以我們必須設定

182
00:09:37.360 --> 00:09:38.650
實例下劃線類型

183
00:09:39.040 --> 00:09:40.930
和實例下劃線集合。

184
00:09:41.230 --> 00:09:45.850
我猜測實例下劃線類型必須具有值集合

185
00:09:46.440 --> 00:09:48.360
但我們總是可以查一下。當然。

186
00:09:49.640 --> 00:09:49.790
是的。

187
00:09:50.470 --> 00:09:54.260
現在你就得到了它。實例類型應設定為大寫集合。

188
00:09:55.540 --> 00:09:57.550
那我們就複製這個吧。

189
00:09:58.040 --> 00:09:58.240
是的。

190
00:10:00.230 --> 00:10:01.760
然後我們就有了

191
00:10:03.040 --> 00:10:06.030
實例集合當然是集合

192
00:10:06.030 --> 00:10:08.260
我們想要舉例說明哪個是煤炭。

193
00:10:09.940 --> 00:10:13.060
這會造成空虛，但它還不是我們理智的一部分。

194
00:10:13.540 --> 00:10:16.980
現在我認為創建一個特別的收藏來擁有是很好的

195
00:10:16.980 --> 00:10:20.160
所有這些都是空的，而不是放在頂層。

196
00:10:20.540 --> 00:10:24.860
因此，在開始執行此操作之前，我們要確保該集合存在。

197
00:10:25.540 --> 00:10:25.750
好的

198
00:10:26.840 --> 00:10:28.400
視為蜂鳴聲。

199
00:10:28.400 --> 00:10:32.720
當我們將其更改為完成所有工作的運算符時，我稍後會看到上下文。

200
00:10:32.720 --> 00:10:36.860
當然，我們使用場景的上下文，而不是上下文。那個場景。

201
00:10:36.870 --> 00:10:38.660
但現在這就夠了

202
00:10:39.040 --> 00:10:44.310
假設我們想要的集合

203
00:10:44.310 --> 00:10:47.050
將一切連結起來應該稱為環境。

204
00:10:47.440 --> 00:10:48.180
現在

205
00:10:48.310 --> 00:10:51.350
我想創建這個集合，但前提是它尚不存在。

206
00:10:51.510 --> 00:10:55.930
最簡單的方法就是要表現得好像它已經存在一樣

207
00:10:56.070 --> 00:10:58.850
然後看看當它還不存在時會發生什麼錯誤。

208
00:10:58.920 --> 00:11:00.910
然後簡單處理了那個案子。

209
00:11:01.840 --> 00:11:03.460
所以讓我們先做簡單的事。

210
00:11:03.840 --> 00:11:06.360
假設它已經存在。

211
00:11:06.940 --> 00:11:11.050
然後我們就可以透過場景存取這個集合

212
00:11:13.940 --> 00:11:15.560
像這樣。

213
00:11:15.940 --> 00:11:17.650
它只會給我們一個集合

214
00:11:18.440 --> 00:11:19.960
如果它還不存在。

215
00:11:20.640 --> 00:11:20.850
好的

216
00:11:21.240 --> 00:11:21.450
毫米。

217
00:11:21.940 --> 00:11:23.650
這將引發一個關鍵錯誤。

218
00:11:24.240 --> 00:11:25.840
現在我們已經獲得了所需的資訊。

219
00:11:25.840 --> 00:11:30.660
讓我們回到之前所做的程式碼。我們想使用嘗試並接受

220
00:11:31.040 --> 00:11:37.060
所以我們告訴 python 為我們嘗試這個。

221
00:11:40.840 --> 00:11:48.160
如果失敗，我們將不得不創建一個新的集合。

222
00:11:48.640 --> 00:11:48.950
好的。

223
00:11:51.540 --> 00:11:56.160
然後，一旦創建了該集合，我們就必須將其添加到同一個集合中。

224
00:11:59.540 --> 00:11:59.860
好的。

225
00:12:01.140 --> 00:12:03.140
所以現在這段程式碼將只使用現有的

226
00:12:03.140 --> 00:12:05.240
集合（如果存在）並建立一個新集合。

227
00:12:05.240 --> 00:12:08.160
如果現在還沒有我們想要連結到的集合。

228
00:12:08.170 --> 00:12:09.860
我們能做到，他們就是這樣。

229
00:12:10.240 --> 00:12:10.470
是的。

230
00:12:11.040 --> 00:12:11.240
是的。

231
00:12:13.880 --> 00:12:15.350
這將使連結器為空。

232
00:12:18.940 --> 00:12:21.710
您可以看到現在運行的時間要長得多。

233
00:12:21.900 --> 00:12:24.850
在這裡，我們將所有阿薩德都連結到了文件中。

234
00:12:26.770 --> 00:12:27.730
它們都是空的

235
00:12:27.860 --> 00:12:29.660
它們都在環境集合中。

236
00:12:31.240 --> 00:12:33.660
我們沒有任何我們不想擁有的東西

237
00:12:34.140 --> 00:12:35.230
現在作為最後的潤色。

238
00:12:35.230 --> 00:12:39.480
讓我們沿著 X 軸將所有空的東西排成一行，這樣

239
00:12:39.480 --> 00:12:43.490
它們很好地分散開來，而不是全部集中在一個地方。

240
00:12:43.490 --> 00:12:47.390
我們必須追蹤前一個空的 X. 位置。

241
00:12:47.400 --> 00:12:50.660
所以讓我們從零開始

242
00:12:51.710 --> 00:12:54.290
讓我們把每個空的東西交給攪拌機

243
00:12:54.470 --> 00:12:57.370
現在它們已連結到場景，我們可以設定它們的位置。

244
00:12:58.140 --> 00:12:58.350
好的。

245
00:13:00.840 --> 00:13:03.950
然後我們可以將位置 X 增加步驟 X。

246
00:13:03.960 --> 00:13:06.640
這樣下一個空的就會使用下一個位置。

247
00:13:07.210 --> 00:13:12.160
即刪除所有MT。再次運行腳本

248
00:13:18.540 --> 00:13:20.850
他們都整齊地排列在那裡。

249
00:13:22.140 --> 00:13:24.470
我們的腳本正在運行，但它非常有限。

250
00:13:24.640 --> 00:13:27.630
如果我們想載入具有不同前綴的資源，我們

251
00:13:27.630 --> 00:13:30.750
必須去更改原始碼中的這個前綴。

252
00:13:30.750 --> 00:13:31.880
再次運行腳本，

253
00:13:32.060 --> 00:13:35.360
如果我們想從不同的混合文件加載，我們必須再次這樣做。

254
00:13:35.550 --> 00:13:38.310
如果您想將空物體連結到不同的場景集合中

255
00:13:38.320 --> 00:13:40.780
我們必須再次編輯腳本並再次運行它。

256
00:13:41.340 --> 00:13:45.410
如果我們有一個包含所有這些資訊的文件，那就更好了

257
00:13:45.410 --> 00:13:47.960
包含哪些混合檔案使用哪些前綴

258
00:13:47.960 --> 00:13:49.950
使用要連結到的集合。

259
00:13:50.540 --> 00:13:54.050
然後我們可以將程式碼放入不需要更改的附加元件中

260
00:13:54.440 --> 00:13:57.620
和其他項目細節放入單獨的文件中。

261
00:13:57.740 --> 00:14:00.380
在我們這樣做之前，讓我們複製我們的程式碼，

262
00:14:00.380 --> 00:14:02.330
將其放入單獨的python堆中

263
00:14:02.340 --> 00:14:05.180
並將一些程式碼混入單獨的函數中

264
00:14:05.360 --> 00:14:08.200
這樣我們就可以使用一些更高層級的構建塊

265
00:14:08.200 --> 00:14:11.450
stata 一直在查看一大堆程式碼。

266
00:14:11.940 --> 00:14:14.160
所以讓我們複製現在擁有的內容

267
00:14:14.840 --> 00:14:18.740
並轉到附加元件。我已經做好準備了，我們已經見過很多次了。

268
00:14:18.750 --> 00:14:21.460
這只是一個帶有賬單信息的 python 文件

269
00:14:22.040 --> 00:14:23.180
我們改進了蜂鳴聲。我

270
00:14:23.360 --> 00:14:25.650
我已經添加了一個空的運算符

271
00:14:25.650 --> 00:14:27.880
執行函數或會感覺出來。

272
00:14:28.010 --> 00:14:30.220
它被添加到導入選單中，以便我們

273
00:14:30.220 --> 00:14:33.050
可以只匯入文件，然後從 Jason 載入內容

274
00:14:33.640 --> 00:14:36.210
我們有攪拌機類，其中有操作員

275
00:14:36.210 --> 00:14:39.850
類別以及我們之前見過的註冊和未註冊的函數。

276
00:14:40.240 --> 00:14:43.260
最重要的是，讓我們貼上程式碼

277
00:14:43.260 --> 00:14:46.450
我們剛剛複製了，讓我們把它變成一些函數。

278
00:14:46.940 --> 00:14:50.130
所以這裡同時發生了一些事情。

279
00:14:50.250 --> 00:14:53.090
第一個位元將資料連結到目前混合檔案。

280
00:14:53.100 --> 00:14:56.690
然後我們有一些程式碼可以為我們創建一個集合（如果它還不存在）。

281
00:14:56.700 --> 00:14:58.770
所以實際上這是完全不同的事情所以

282
00:14:58.770 --> 00:15:00.700
可以移動到不同的功能。

283
00:15:01.100 --> 00:15:04.400
然後我們查看連結到混合文件中的所有集合。

284
00:15:04.410 --> 00:15:06.760
所以這其實屬於程式碼的第一部分。

285
00:15:08.640 --> 00:15:13.650
因此，讓我們取出這部分並開始為其編寫一個單獨的函數。

286
00:15:14.140 --> 00:15:14.350
嗯。

287
00:15:14.740 --> 00:15:19.050
我們稱之為確保集合，因為它確保集合存在。

288
00:15:19.560 --> 00:15:21.250
它需要訪問現場。

289
00:15:22.250 --> 00:15:24.460
當然它需要知道集合名稱。

290
00:15:26.280 --> 00:15:29.360
然後我們聲明它將返回集合。

291
00:15:29.740 --> 00:15:31.960
讓我們將程式碼移到這裡

292
00:15:40.120 --> 00:15:42.360
並更改該集合名稱。

293
00:15:42.940 --> 00:15:48.360
現在我們要做的就是返回集合的鏈接，然後這個功能就完成了。

294
00:15:48.840 --> 00:15:50.850
現在我們有其他程式碼需要研究。

295
00:15:52.840 --> 00:15:53.250
是的

296
00:15:54.040 --> 00:15:56.060
我們將此函數稱為連結到場景的函數。

297
00:15:56.190 --> 00:16:00.460
它將把檔案路徑作為參數，而不是在這裡硬編碼。

298
00:16:01.040 --> 00:16:04.760
同樣，它將採用前綴作為參數，而不是在這裡進行硬編碼。

299
00:16:05.340 --> 00:16:09.280
然後我們有一個集合的鏈接，然後是位置。

300
00:16:09.280 --> 00:16:13.190
為什麼稍後我們將連結來自多個的多組資產

301
00:16:13.190 --> 00:16:16.440
混合文件然後將它們放在不同的行中是很好的。

302
00:16:16.440 --> 00:16:20.470
這就是我在這裡添加位置 Y 參數的原因。

303
00:16:20.480 --> 00:16:21.970
現在外套的其餘部分需要

304
00:16:21.980 --> 00:16:24.360
發明它是因為它需要成為函數的一部分

305
00:16:24.740 --> 00:16:27.820
當然現在我們還必須設置野外位置

306
00:16:28.180 --> 00:16:29.860
所以我們可以這樣做。

307
00:16:31.140 --> 00:16:35.160
現在我們有兩個函數，我們可以從操作符中呼叫它們

308
00:16:35.540 --> 00:16:39.110
仍然具有我們之前使用的相同硬編碼值

309
00:16:39.120 --> 00:16:41.470
這樣至少我們可以看到他們正在工作。

310
00:16:42.740 --> 00:16:48.260
因此，首先我們必須建立集合的連結。

311
00:16:48.840 --> 00:16:49.980
是的。

312
00:16:51.700 --> 00:16:55.170
然後我們可以呼叫連結到一個場景

313
00:16:55.170 --> 00:16:58.810
與我們之前使用的相同的檔案路徑和相同的前綴。

314
00:16:58.820 --> 00:17:01.960
然後是收藏。然後是我們想要連結到的集合。

315
00:17:03.140 --> 00:17:06.349
現在我們只使用零作為狂野位置。

316
00:17:07.140 --> 00:17:10.349
現在當然你必須啟用你的我不知道你是怎麼做到的

317
00:17:10.940 --> 00:17:13.400
現在你必須安裝並啟用你的 Adam。

318
00:17:13.410 --> 00:17:16.060
如果您想回顧一下這是如何完成的。

319
00:17:16.069 --> 00:17:19.510
尋找從腳本調用的藝術家章節的腳本以添加到那裡。

320
00:17:19.510 --> 00:17:20.450
一切都解釋清楚了。

321
00:17:20.839 --> 00:17:23.770
現在您必須從 Jason 提交導入連結資源

322
00:17:23.780 --> 00:17:26.450
您可以看到一切都按預期進行。

323
00:17:27.740 --> 00:17:31.420
現在是時候查看我已經提到過幾次的 Jason 檔案了。

324
00:17:31.430 --> 00:17:36.050
Jason 代表 javascript 物件表示法，它是一種非常常見的檔案格式。

325
00:17:36.060 --> 00:17:40.750
它不是最容易使用的，但它是可行的，而且並不那麼複雜。

326
00:17:40.750 --> 00:17:44.770
python 內建了對解析這些檔案和保存這些檔案的支援。

327
00:17:44.940 --> 00:17:48.170
所以對於我們的案例來說，這是一個相當方便的免費文件

328
00:17:48.340 --> 00:17:48.660
這裡。

329
00:17:48.660 --> 00:17:53.420
如果要開啟花括號，您會看到該文件的高級概述

330
00:17:53.420 --> 00:17:55.650
一個關閉文件並在捲曲內

331
00:17:55.650 --> 00:17:58.690
大括號裡你有一個基本上是Python字典的東西。

332
00:17:58.700 --> 00:18:02.560
所以它是引號之間的名稱，並且該名稱具有值

333
00:18:03.140 --> 00:18:04.140
在這種情況下

334
00:18:04.270 --> 00:18:05.560
這是另一本字典。

335
00:18:06.440 --> 00:18:10.280
所以在這裡我們說這些是我們的收藏品，我們想要收藏。

336
00:18:10.280 --> 00:18:12.770
我們想要岩石，我們想要植物

337
00:18:13.440 --> 00:18:14.760
並且在每個內

338
00:18:15.140 --> 00:18:18.550
我們說連結將包含文件和前綴列表

339
00:18:18.550 --> 00:18:21.460
我們想要將場景連結到這個集合中。

340
00:18:21.470 --> 00:18:24.890
所以你在這裡看到了一個清單。它與 python 具有相同的表示法。

341
00:18:24.890 --> 00:18:27.870
所以有了這些塊狀括號之類的東西。

342
00:18:27.910 --> 00:18:32.060
其中我們有一個字典列表（在本例中為字典）。

343
00:18:32.060 --> 00:18:32.450
再次，

344
00:18:32.460 --> 00:18:36.270
每個字典都有一個檔案並且有一個前綴

345
00:18:36.280 --> 00:18:38.930
從該文件連結到的所有集合。

346
00:18:38.940 --> 00:18:40.860
我們對植物做了類似的事。

347
00:18:40.870 --> 00:18:45.350
我們有一個鏈接，然後是文件，前綴文件，前綴文件，

348
00:18:45.350 --> 00:18:47.380
在這種情況下，前綴有三個。

349
00:18:47.380 --> 00:18:47.770
甚至

350
00:18:48.940 --> 00:18:53.820
現在我們可以刪除這個連結並將這些資訊直接放入植物中。

351
00:18:53.830 --> 00:18:56.420
但我總是喜歡有一點點

352
00:18:56.420 --> 00:18:59.490
更明確，這也將給你以後的機會。

353
00:18:59.490 --> 00:19:01.430
如果你想添加一些額外的東西。

354
00:19:01.440 --> 00:19:07.270
也許呃，也許你想要一些可見的東西，但默認或不可見，或者也許你

355
00:19:07.270 --> 00:19:11.720
想要僅在某些視圖層中啟用或不透過將其放在連結下來啟用。

356
00:19:11.720 --> 00:19:12.060
K.

357
00:19:12.060 --> 00:19:15.450
您可以稍後為自己的工作流程新增多個按鍵

358
00:19:15.450 --> 00:19:18.850
讓我們保持簡單並編寫一些加載該文件的程式碼，

359
00:19:19.170 --> 00:19:22.190
然後將其轉換為我們可以使用的python資料結構。

360
00:19:22.740 --> 00:19:24.560
那麼讓我們註解掉這兩行。

361
00:19:25.050 --> 00:19:28.190
我們將把它們留在身邊作為我們的參考。之後，

362
00:19:28.740 --> 00:19:32.850
首先載入 Jason 文件，為此我們需要 Jason 模組。

363
00:19:33.240 --> 00:19:38.840
這是內建在 python 中的，因此我們只需導入 Jason 即可存取它。

364
00:19:38.850 --> 00:19:42.250
我認為將 Jason 文件放在 Blend 文件旁邊是一個很好的做法，

365
00:19:42.250 --> 00:19:45.220
這意味著我們想用斜線斜線符號來寫它，

366
00:19:45.230 --> 00:19:47.730
這意味著我們必須先翻譯文件。

367
00:19:47.740 --> 00:19:51.860
這可以透過傳遞斜槓 ss 點 Jason 檔案名稱來完成

368
00:19:52.040 --> 00:19:53.960
透過飛行員通過它的路徑

369
00:19:54.140 --> 00:19:56.270
這會解決這個問題。

370
00:19:56.640 --> 00:20:00.960
所以現在我們需要做的就是打開文件並將其輸入 Jason 庫。

371
00:20:01.540 --> 00:20:05.590
我將複製和貼上一些代碼而不是輸入，因為現在

372
00:20:05.590 --> 00:20:09.360
我們有很多 python 程式碼可以自動完成並顯示

373
00:20:09.360 --> 00:20:13.950
資訊彈出視窗和所有內容，因為我放大了該影片的編輯器

374
00:20:13.960 --> 00:20:17.560
會阻擋很多事情並且比任何事情都更令人分心。

375
00:20:18.540 --> 00:20:20.270
這就是打開文件的方式，

376
00:20:20.840 --> 00:20:24.410
你可以用開啟的Jason檔名來表示，如檔所示

377
00:20:24.680 --> 00:20:26.640
這將打開文件進行讀取

378
00:20:26.940 --> 00:20:29.930
一旦 with 語句完成，它將再次關閉它，

379
00:20:29.930 --> 00:20:33.780
確保我們不會在網路上留下任何打開的文件句柄。

380
00:20:33.900 --> 00:20:35.170
這不是一個這樣的問題，

381
00:20:35.240 --> 00:20:39.330
但在 Windows 上這是一個問題，因為如果檔案是由一個程式開啟的，

382
00:20:39.340 --> 00:20:42.000
另一個程式將無法讀取或寫入該文件，

383
00:20:42.000 --> 00:20:43.850
您甚至無法刪除該檔案。

384
00:20:44.040 --> 00:20:47.180
因此，請務必確保在開啟文件後將其關閉。

385
00:20:47.310 --> 00:20:50.160
with 語句是實現此目的的完美方法。

386
00:20:50.740 --> 00:20:52.270
當我們打開文件後

387
00:20:52.640 --> 00:20:56.710
我們可以將其傳遞給 Jason download，它將檔案作為第一個參數。

388
00:20:56.740 --> 00:21:00.460
這將載入檔案並將其解析為 python 資料結構。

389
00:21:01.240 --> 00:21:03.980
這意味著這裡的連結資訊是一個字典。

390
00:21:03.990 --> 00:21:08.000
如果您想確切地查看其中的內容，可以使用 print 語句，運行程式碼

391
00:21:08.200 --> 00:21:09.760
然後你就可以親自看看了。

392
00:21:10.240 --> 00:21:13.280
回到我們的 Jason 文件，我們知道它代表

393
00:21:13.280 --> 00:21:17.930
具有一個稱為集合的鍵的字典，其中包含另一個字典。

394
00:21:17.940 --> 00:21:19.860
那麼讓我們看看如何在 python 中存取它。

395
00:21:21.370 --> 00:21:23.050
你會把這個連結拿來當混蛋。

396
00:21:23.440 --> 00:21:28.350
我們得到了鍵集合，我們可以透過取得鍵值對來循環它

397
00:21:28.530 --> 00:21:31.230
為此，我們使用 dot items 函數

398
00:21:31.600 --> 00:21:36.060
字典上的點項給了我們一些可以用 for 迴圈迴圈的東西

399
00:21:36.440 --> 00:21:39.520
它會讓你了解關鍵和價值

400
00:21:39.870 --> 00:21:43.550
在我們的例子中，它會帶給我們那本字典的岩石。

401
00:21:44.140 --> 00:21:46.660
然後穿上第二本字典。

402
00:21:47.240 --> 00:21:50.260
所以呼叫名稱是第一位的，呼叫訊息是它的

403
00:21:50.260 --> 00:21:53.770
字典，然後在第二次迭代中調用名稱是植物

404
00:21:53.970 --> 00:21:56.270
然後調用info就是植物詞典。

405
00:21:56.740 --> 00:22:01.270
所以我們要做的第一件事就是確保這個集合確實存在。

406
00:22:02.440 --> 00:22:05.560
我們有一個函數可以做到這一點。所以讓我們移動該程式碼

407
00:22:06.600 --> 00:22:07.660
並把它放在這裡。

408
00:22:08.340 --> 00:22:11.590
而不是將環境當作藝術收藏，

409
00:22:11.660 --> 00:22:14.460
我們當然從 Jason 檔案中取得集合名稱。

410
00:22:15.660 --> 00:22:18.800
現在可能也是保存文件的好時機。

411
00:22:18.820 --> 00:22:23.350
在攪拌機中重新加載，看看它實際上為您創建了這些集合。

412
00:22:23.460 --> 00:22:25.900
這只是第一步，看看它是否有效。

413
00:22:26.180 --> 00:22:30.350
並且運行它兩次以查看當集合已經存在時它仍然有效。

414
00:22:31.340 --> 00:22:33.590
所以接下來我們要做的就是看一下

415
00:22:33.590 --> 00:22:36.460
在該連結鍵和其中的列表。

416
00:22:37.040 --> 00:22:39.670
因此，呼叫連結將為我們提供此列表

417
00:22:41.840 --> 00:22:44.670
當然，因為它是一個列表，我們可以循環它

418
00:22:44.680 --> 00:22:47.750
它將為我們提供帶有文件和前綴的字典。

419
00:22:47.870 --> 00:22:50.360
讓我們變得更容易一點

420
00:22:51.340 --> 00:22:56.670
取得檔案和前綴鍵並將它們的值儲存在這些變數中。

421
00:22:57.340 --> 00:23:00.270
因此，對於第一次迭代，錯誤路徑將是

422
00:23:00.640 --> 00:23:01.360
這條路

423
00:23:02.940 --> 00:23:04.770
這個前綴將是

424
00:23:05.440 --> 00:23:06.260
這個前綴

425
00:23:08.140 --> 00:23:11.050
現在剩下的就是將一切與場景連結起來。

426
00:23:12.840 --> 00:23:15.770
但不是使用她的心臟塗層文件路徑

427
00:23:17.380 --> 00:23:21.350
我們從相鄰文件中獲取文件路徑，並且前綴相同。

428
00:23:22.940 --> 00:23:25.080
現在我們必須確保白色位置

429
00:23:25.080 --> 00:23:28.120
增加，但並非所有內容都以 Y0 結束。

430
00:23:28.130 --> 00:23:32.170
因此我們可以像之前的解釋那樣做同樣的事情。

431
00:23:34.940 --> 00:23:40.800
我們可以從零開始位置 Y，然後將其傳遞到這裡。完成此操作後。

432
00:23:40.800 --> 00:23:45.720
我們需要做的就是用步長增加野生位置，僅此而已。

433
00:23:45.740 --> 00:23:47.770
讓我們回到攪拌機並看看它的實際情況。

434
00:23:49.520 --> 00:23:52.450
讓我們刪除所有內容，包括集合

435
00:23:57.240 --> 00:24:00.960
就是這樣。我們有岩石，我們有植物

436
00:24:03.740 --> 00:24:08.270
文件中的所有內容都可供您開始裝飾您的佈景。

437
00:24:08.840 --> 00:24:10.270
現在這是最後一步

438
00:24:10.700 --> 00:24:13.720
假設資產文件發生了變化並且添加了新的內容。

439
00:24:13.950 --> 00:24:16.750
這不會自動載入到該文件中。

440
00:24:16.820 --> 00:24:20.170
如果我們再次重新運行該運算符，它將再次建立所有空的。

441
00:24:20.180 --> 00:24:22.840
包括文件中已經存在的內容。

442
00:24:22.890 --> 00:24:25.380
這是對創建空的一個小過濾器

443
00:24:25.430 --> 00:24:27.920
這樣她的外套就不會試圖重新創造一個空的。

444
00:24:27.920 --> 00:24:29.060
如果它已經在那裡了

445
00:24:29.440 --> 00:24:32.940
為此，我們必須轉到連結以查看連結事物的函數

446
00:24:32.940 --> 00:24:36.970
已經鏈接的很好，攪拌機會自動為我們跳過這些。

447
00:24:36.980 --> 00:24:40.660
所以我們實際上只需要擔心空的創建。

448
00:24:41.240 --> 00:24:43.570
所以我們現在處於創建一個新空的行。

449
00:24:43.580 --> 00:24:47.190
因此，在此之前我們想要進行檢查，我認為這是一個很好的方法。

450
00:24:47.200 --> 00:24:50.580
集合名稱也將用作空名稱。

451
00:24:50.590 --> 00:24:54.450
因此，如果連結到物件的集合名稱已存在，

452
00:24:54.450 --> 00:24:57.260
我們知道空的已經在那裡，我們可以保留它

453
00:24:58.240 --> 00:25:03.250
所以我將以此作為一種方式。所以我們不應該看到任何新的東西。彈出這裡。

454
00:25:03.260 --> 00:25:05.890
當然你也可以在大綱中看到它

455
00:25:05.890 --> 00:25:08.140
呃這些數字不應該增加

456
00:25:08.140 --> 00:25:09.960
因為一切都已經加載了

457
00:25:14.240 --> 00:25:16.270
那裡。你擁有它一切都很好。

458
00:25:17.140 --> 00:25:19.780
這就是本期藝術家腳本的內容。

459
00:25:19.900 --> 00:25:23.250
當然這只是個開始，但你可以想像

460
00:25:23.260 --> 00:25:27.610
當你可以將資訊儲存到相鄰文件中時，事情就會變得非常強大，

461
00:25:27.620 --> 00:25:31.410
將其加載到攪拌機中並使用它來刺激某些集合。

462
00:25:31.420 --> 00:25:34.860
當然集合也可以由連結集合組成。

463
00:25:35.040 --> 00:25:38.610
因此，您使用此工具建立的集合也可以是

464
00:25:38.610 --> 00:25:41.960
例如，您可以立即將其儲存為快照檔案的集合。

465
00:25:42.140 --> 00:25:45.900
因此，我現在將其留給您的想像和工作流程。

466
00:25:45.900 --> 00:25:48.320
就是這樣 如果您有任何問題或意見，

467
00:25:48.320 --> 00:25:50.560
把它們留在下面，我很快就會見到你



