WEBVTT

00:00.000 --> 00:03.799
Blender 3.6 已經發布，其中包括一個華麗的

00:03.800 --> 00:06.280
新功能可能會引起一些人的注意。

00:06.980 --> 00:07.980
模擬節點。

00:08.500 --> 00:12.540
是的，模擬已經到了幾何節點，在這個影片中我將給你

00:12.541 --> 00:14.675
對新版本的期望概述

00:14.676 --> 00:17.060
系統以及如何開始使用它。

00:17.680 --> 00:20.280
不過，有一件事我想從一開始就說清楚。

00:20.640 --> 00:23.675
對於 Blender 3.6，術語沒有任何變化

00:23.676 --> 00:26.900
目前物理模擬是如何進行的。

00:26.901 --> 00:32.180
而非採用 Blender 現有的所有實體模擬系統

00:32.181 --> 00:35.352
將它們插入節點，新功能可以

00:35.353 --> 00:38.940
更簡單，但也更強大的東西。

00:39.600 --> 00:43.780
此方法是建立在幾何節點已經具備的廣泛功能之上

00:43.781 --> 00:49.880
擁有並添加基本功能，將所有這些轉變為自訂模擬系統。

00:49.881 --> 00:56.340
這樣，我們確保建立一個堅實的基礎，讓高階用戶能夠受益

00:56.341 --> 01:00.580
已經非常多了，並在此基礎上添加更多高級功能，

01:01.200 --> 01:07.020
任何藝術家以後都可以輕鬆使用，以支持和加強

01:07.021 --> 01:09.680
Blender 中幾何節點的整個生態系。

01:10.360 --> 01:14.420
所以是的，現在我應該聲明你確實需要一些可靠的東西

01:14.421 --> 01:18.280
使用幾何節點的經驗可以從新功能中受益。

01:18.281 --> 01:21.943
使用更易於使用的一鍵式解決方案

01:21.944 --> 01:25.741
新系統將在未來版本中推出。

01:26.100 --> 01:28.610
但希望我能給你一個想法

01:28.611 --> 01:31.400
方法可以擴展到幾乎無限的潛能。

01:32.260 --> 01:37.300
也就是說，目前新增的功能集是有意限制的，

01:37.620 --> 01:41.345
相對緊湊，且易於擴展

01:41.346 --> 01:45.200
Blender 未來版本的其他必要改進。

01:45.201 --> 01:48.850
目前存在一些明顯的限制，例如

01:48.851 --> 01:52.200
丟失材料分配，尚不支援。

01:52.720 --> 01:57.340
這只是幾何節點模擬的第一個重要里程碑。

01:58.040 --> 02:02.365
但讓我們退後一步，看看 Blender 3 中實際添加了哪些內容。

02:02.366 --> 02:03.680
6 為模擬節點。

02:04.500 --> 02:07.235
使用者介面中的新元素提示

02:07.236 --> 02:09.780
新的模擬系統相對微妙。

02:09.781 --> 02:13.516
就節點而言，實際上只有一個新條目

02:13.517 --> 02:17.720
添加選單使模擬成為可能，模擬區域。

02:18.400 --> 02:22.500
當您將其新增至節點樹時，它會建立兩個已經存在的節點

02:22.501 --> 02:26.557
透過幾何連結和這個紫紅色面板連接

02:26.558 --> 02:29.660
當你移動它們時，它會自動改變。

02:30.920 --> 02:34.578
該面板描述了所謂的模擬區域和

02:34.579 --> 02:37.300
它指示哪些節點是模擬的一部分。

02:37.301 --> 02:42.220
當我在這裡插入模擬節點時，一開始沒有任何變化，

02:42.500 --> 02:46.060
因為我們只是透過幾何體而不做任何事。

02:46.700 --> 02:53.020
讓我們新增一個拉伸節點來進行可見的變更並使用隨機值節點

02:53.021 --> 02:56.040
用於隨機選擇要擠出的面。

02:56.840 --> 03:01.980
您可以看到模擬區域如何調整其形狀以包含拉伸節點。

03:02.740 --> 03:06.680
然而，隨機值節點並不是模擬本身的一部分

03:06.681 --> 03:10.780
因為它只提供了一個供拉伸節點使用的欄位。

03:11.620 --> 03:14.014
作為模擬一部分的實際數據

03:14.015 --> 03:16.581
僅在這些節點之間傳遞。

03:17.240 --> 03:19.480
但到目前為止，還沒有模擬。

03:20.280 --> 03:24.280
但是當我進入下一幀時，你可以看到這個擠壓是如何完成的

03:24.281 --> 03:27.480
一次又一次，一次又一次，我進步的幀數越多。

03:27.481 --> 03:33.460
原因是對於我繼續的每一幀，其結果

03:33.461 --> 03:38.660
前一幀被傳遞到其輸入中，從而創建一種循環行為。

03:39.240 --> 03:43.780
操作的每個單獨步驟也稱為模擬步驟。

03:44.260 --> 03:48.940
好的，很好，但我想為每個幀進行不同的隨機選擇。

03:50.320 --> 03:53.599
那麼讓我們轉到隨機值節點並插入

03:53.600 --> 03:56.860
在場景幀中輸入種子。

03:56.861 --> 04:00.711
現在當我逐幀繼續時，你可以看到

04:00.712 --> 04:03.680
每個步驟的擠壓都使用不同的選擇。

04:04.240 --> 04:09.120
但是我們之前從設定中得到的結果是，每個都使用相同的種子

04:09.121 --> 04:11.660
框架，仍然影響著我們在這裡看到的東西。

04:12.220 --> 04:15.620
原因是模擬只採用從

04:15.621 --> 04:17.980
上一幀，無論您更改了什麼。

04:18.360 --> 04:21.373
因此要將模擬的狀態重設為其

04:21.374 --> 04:24.140
初始狀態，我們需要轉到第一幀。

04:24.141 --> 04:26.923
現在如果我回放模擬，你

04:26.924 --> 04:30.421
可以看到它如何按預期正常工作。

04:31.260 --> 04:35.220
我們對每一幀的擠壓都有不同的選擇。

04:35.520 --> 04:40.760
您還可以在時間軸中看到回放如何建立這個紫色條。

04:41.560 --> 04:44.292
這個條形代表幀

04:44.293 --> 04:46.600
模擬的資料被寫入快取。

04:46.601 --> 04:51.680
這意味著我可以隨時返回時間軸並獲取任何狀態

04:51.681 --> 04:54.360
模擬，無需再次計算。

04:55.060 --> 04:58.420
但這只是在快取有效的情況下發生的。

04:58.840 --> 05:03.300
如果我在節點樹中進行任何影響模擬的更改，則該節點的顏色

05:03.301 --> 05:07.164
條變得稍微褪色，表示快取已

05:07.165 --> 05:10.100
失效，需要重新運作仿真。

05:10.101 --> 05:14.380
但當然，如果您願意，您也可以更改中的值

05:14.381 --> 05:16.840
即時影響模擬的方式。

05:18.220 --> 05:21.780
儲存快取的更持久的方法是烘焙模擬。

05:22.300 --> 05:27.000
這可以在新模擬節點面板下的物理屬性標籤中完成。

05:27.680 --> 05:32.680
這將烘焙整個場景幀範圍的模擬數據，並且

05:32.681 --> 05:35.460
將其儲存在磁碟上混合檔案旁邊的資料夾中。

05:35.461 --> 05:40.500
您也可以在修改器面板中查看並變更該路徑。

05:41.780 --> 05:45.580
現在模擬已經烤好了，你可以看看播放效果如何超棒

05:45.581 --> 05:48.708
平滑，當我改變值時，這不會

05:48.709 --> 05:51.440
實際上不再自動使快取失效。

05:52.500 --> 05:55.511
所以在這種情況下，如果你想再次釋放它，你

05:55.512 --> 05:58.680
需要透過刪除快取資料來明確地做到這一點。

05:59.500 --> 06:03.520
讓我們來看另一個例子，更詳細一點，我在其中展示

06:03.521 --> 06:09.621
您將了解如何使用模擬節點建立相對基本的粒子模擬設定。

06:09.780 --> 06:14.220
順便說一下，請注意，到目前為止我所展示的並不完全是物理模擬。

06:15.000 --> 06:18.957
模擬節點的用例確實更進一步

06:18.958 --> 06:22.220
比我們傳統的模擬和攪拌器好。

06:22.221 --> 06:25.458
首先，讓我們建立一大堆點，

06:25.459 --> 06:28.640
為此，我使用“在面上分佈點”節點。

06:29.580 --> 06:32.348
這樣，我們就可以創造一堆點

06:32.349 --> 06:35.861
來自基礎網格的輸入幾何體。

06:36.000 --> 06:39.040
在這些點上，我們然後將其輸入到模擬中。

06:39.980 --> 06:42.908
在模擬區內，主要特徵是

06:42.909 --> 06:46.000
模擬將只是移動點。

06:46.160 --> 06:48.480
為此，我們將使用“設定位置”節點。

06:48.481 --> 06:52.680
讓我們用一些隨機偏移向量來嘗試。

06:54.240 --> 06:56.310
是的，顯然現在這不是很

06:56.311 --> 06:59.120
很有趣，但這將是主要概念。

06:59.920 --> 07:01.800
只是將點朝某個方向移動。

07:02.520 --> 07:05.004
並追蹤方向和速度

07:05.005 --> 07:08.040
對於那個運動，我們將添加一個速度。

07:08.620 --> 07:12.340
速度只是點上的向量屬性。

07:12.720 --> 07:15.480
該屬性也將成為模擬的一部分。

07:15.481 --> 07:20.580
因此，添加此功能的方法是只需單擊“模擬輸入”或“輸出”。

07:21.080 --> 07:23.910
然後在側邊欄中，您可以看到

07:23.911 --> 07:27.081
有一個新的模擬狀態面板。

07:27.180 --> 07:33.420
當我新增另一個條目時，這個條目會從輸入和輸出中彈出。

07:33.980 --> 07:38.340
這是必要的，因為對於模擬步驟，涉及的所有內容

07:38.341 --> 07:41.096
類比輸出需要彈出回來

07:41.097 --> 07:43.840
出下一幀的模擬輸入。

07:43.841 --> 07:46.840
然後這裡的套接字類型，我可以

07:46.841 --> 07:49.841
選擇一個向量並將其稱為速度。

07:50.960 --> 07:53.680
現在我想用 Velocity 做兩件事。

07:54.120 --> 07:57.310
首先，我想在下一幀中保留它，

07:57.311 --> 08:00.720
所以我將把它從輸入直接傳遞到輸出。

08:01.340 --> 08:04.360
然後我想使用該速度來移動點。

08:04.840 --> 08:09.460
為了使其獨立於幀速率，讓我們使用縮放節點和縮放

08:09.461 --> 08:12.480
自上一幀以來經過的時間。

08:12.481 --> 08:17.020
然後將其連接到“設定位置”節點的偏移量。

08:17.500 --> 08:21.680
現在我可以為這裡的所有點設定初始速度。

08:22.160 --> 08:28.040
假設 X 方向每秒一個單位，然後像這樣回放。

08:28.580 --> 08:30.860
但到目前為止，還沒有發生任何有趣的事情。

08:31.980 --> 08:36.440
因此，讓我們對 Velocity 進行一些更改，而不是只是傳遞它。

08:37.120 --> 08:39.360
讓我們加入像重力這樣的力。

08:40.220 --> 08:43.319
最簡單的方法就是使用 Vector

08:43.320 --> 08:46.401
輸入節點，代表重力。

08:46.780 --> 08:50.860
然後我們可以用它來修改每個幀的速度向量。

08:51.320 --> 08:55.980
同樣，為了使其獨立於幀速率，我將使用縮放節點。

08:57.320 --> 08:59.320
用 Delta Time 來衡量它。

09:00.440 --> 09:03.780
然後只需將其添加到速度即可。

09:05.420 --> 09:08.466
這樣我們就可以改變速度

09:08.467 --> 09:12.501
由該力表示的每個框架。

09:12.820 --> 09:17.249
如果我在類比輸出中替換它，你

09:17.250 --> 09:20.421
可以看到這會影響點的移動方式。

09:21.700 --> 09:25.720
因此，讓我們將其設定為在重力方面有意義的值。

09:28.020 --> 09:29.980
這看起來是對的。

09:31.920 --> 09:36.480
我們也給它一些 Z 方向的速度。

09:37.980 --> 09:38.980
我們就這樣吧。

09:39.320 --> 09:43.260
因此，透過相當少量的節點，我們已經有了非常非常基本的設定。

09:43.920 --> 09:45.840
那麼讓我們更進一步。

09:46.820 --> 09:51.100
首先，我想獲得每個點的隨機初始速度。

09:52.420 --> 09:55.400
為此，我將僅使用隨機值節點。

09:57.680 --> 10:00.260
進入完全隨機的方向。

10:03.320 --> 10:04.580
然後它看起來像這樣。

10:05.480 --> 10:09.440
另一件事是我想不斷為模擬添加更多點。

10:10.960 --> 10:15.640
現在我們只能透過模擬輸入來獲得點的初始狀態。

10:16.380 --> 10:21.040
但該節點並不是將資料傳遞到模擬區域的唯一方法。

10:21.041 --> 10:26.100
相反，您也可以直接傳遞它，就像這樣。

10:26.420 --> 10:28.500
我將建立一個連接幾何節點。

10:29.520 --> 10:35.421
然後將其與我們從前一幀獲得的點結合。

10:36.340 --> 10:41.960
這樣，我們在每一幀中加入一組新的點。

10:42.500 --> 10:46.720
同樣，這些數據正是我們從前一幀中獲得的。

10:46.721 --> 10:50.320
或者在第一幀上，從初始步驟開始。

10:51.120 --> 10:57.740
然後針對每個單獨的幀計算我們直接傳入的資料。

10:58.300 --> 11:02.303
所以如果我重播這個，你可以看到我們如何得到一個新的

11:02.304 --> 11:05.500
每個畫面都連接在一起的一組點。

11:06.080 --> 11:08.780
但點集始終完全相同。

11:09.120 --> 11:11.420
因此，讓我們更改每一幀的種子。

11:11.421 --> 11:15.960
這樣我們每次都會得到隨機分佈。

11:17.360 --> 11:21.041
但你可以看到只有第一個首字母

11:21.042 --> 11:24.581
點在開始時獲得隨機速度。

11:25.440 --> 11:28.560
其他點剛開始時速度為零。

11:29.400 --> 11:33.502
原因是我們只傳遞隨機數

11:33.503 --> 11:37.880
值到類比輸入中的初始點。

11:38.680 --> 11:41.640
將其他點加入其中

11:41.641 --> 11:44.280
相同的幾何形狀，它們沒有該屬性。

11:44.820 --> 11:48.660
那我們需要做的就是新增一個捕捉屬性節點。

11:49.080 --> 11:50.360
將其設定為向量。

11:50.960 --> 11:56.020
然後在這裡，捕獲該字段作為屬性。

11:57.480 --> 12:00.860
然後將其與其他點的速度相加。

12:03.580 --> 12:08.403
這樣我們就結合了現有的速度屬性

12:08.404 --> 12:11.960
具有新捕獲的新屬性的點。

12:13.700 --> 12:14.960
我們就這樣吧。

12:17.060 --> 12:19.500
但讓我們讓這個模擬變得更有趣一點。

12:20.340 --> 12:24.440
現在我們只有一些速度的初始條件。

12:24.441 --> 12:30.620
然後一個恆定的力作用在粒子上以改變該速度。

12:31.240 --> 12:35.760
讓我們透過添加噪音紋理節點來為它們添加一些簡單的湍流。

12:37.620 --> 12:39.860
讓我們連結觀眾來看看。

12:40.420 --> 12:43.540
現在，噪音紋理給出的值從零到一。

12:43.840 --> 12:45.660
但我們希望將其集中在零附近。

12:46.580 --> 12:49.940
因此，讓我們使用地圖範圍節點。

12:52.240 --> 12:53.240
關閉夾子。

12:53.241 --> 12:57.060
並將最小值設為 0.5。

12:57.940 --> 13:00.960
這樣我們就可以得到以零為中心的良好值。

13:01.880 --> 13:04.880
讓我們將兩個最大值連接到一個值節點。

13:06.640 --> 13:09.540
然後我們就可以控制這個場的強弱了。

13:10.040 --> 13:14.880
現在我們可以簡單地將其添加到我們之前創建的現有重力中。

13:17.760 --> 13:20.340
我們的模擬中存在一些湍流。

13:21.100 --> 13:24.280
改變比例以使其更清晰一些。

13:27.060 --> 13:28.740
並且加大力度。

13:30.220 --> 13:32.240
現在已經更有趣了。

13:36.250 --> 13:40.010
我想做的另一件事是追蹤每個粒子的生命週期。

13:40.910 --> 13:44.370
我想做的另一件事是追蹤每個粒子的生命週期。

13:45.330 --> 13:49.990
因此，除了我們已經在模擬中追蹤的現有數據之外。

13:49.991 --> 13:55.350
我還將添加另一個稱為年齡的屬性。

13:56.770 --> 13:59.970
這只是一個整數來計算幀數。

14:01.370 --> 14:07.370
在模擬中，我們只需為每一幀的年齡加一。

14:09.050 --> 14:13.110
但現在預設情況下，我們遇到了一些一開始並不是很明顯的問題。

14:13.111 --> 14:17.451
但是菱形內部的這個小點表明

14:17.452 --> 14:20.810
我們對每個粒子都有一個單一的值。

14:22.370 --> 14:25.790
它實際上不是一個屬性，它只是一個值。

14:26.830 --> 14:29.650
這是模擬節點的另一個特徵。

14:30.150 --> 14:34.770
您不一定需要使用屬性來操作幾何資料。

14:35.290 --> 14:38.930
您也可以只模擬單一值。

14:38.931 --> 14:45.350
所以現在系統無法知道年齡應該是

14:45.351 --> 14:49.090
該幾何體上每個點的屬性都不同。

14:49.730 --> 14:53.490
目前還沒有任何東西可以將年齡與幾何形狀聯繫起來。

14:53.770 --> 14:58.410
因此，為了確保這種情況發生，我們需要使用另一個擷取屬性節點。

15:02.070 --> 15:04.830
然後就這樣度過了歲月。

15:06.070 --> 15:07.990
現在你可以看到那個點出現了。

15:07.991 --> 15:13.210
現在你可以看到那個點消失了，因為現在這實際上是

15:13.211 --> 15:16.050
模擬中幾何體的屬性。

15:16.950 --> 15:19.974
例如，我們可以透過連接來追蹤年齡

15:19.975 --> 15:22.830
檢視器，然後查看電子表格編輯器。

15:24.390 --> 15:28.470
所以從一開始就存在的點數只會越來越多。

15:29.250 --> 15:32.553
但如果我向下滾動一點，你可以看到最後一點

15:32.554 --> 15:36.610
剛剛創建的只有一個年齡 1。

15:36.611 --> 15:40.714
現在我們可以使用這個年齡參數

15:40.715 --> 15:44.110
在著色器內部創建各種效果。

15:44.390 --> 15:50.170
就像在粒子的生命週期或模擬內部改變顏色一樣。

15:51.130 --> 15:53.452
例如只刪除一些點

15:53.453 --> 15:56.411
當他們到達生命的盡頭時。

15:56.490 --> 16:05.270
因此，讓我們建立一個刪除幾何節點並將其插入此處以刪除每個點

16:05.271 --> 16:11.410
年齡大於 20 歲。

16:13.090 --> 16:16.370
因此粒子僅存活 20 幀。

16:17.550 --> 16:19.330
然後他們就消失了。

16:20.610 --> 16:24.130
現在讓我們在模擬本身之外實際做一些事情。

16:24.131 --> 16:29.690
我想利用我們得到的每個粒子的速度。

16:30.810 --> 16:36.210
現在要注意的是，你永遠不應該使用速度

16:36.211 --> 16:41.930
直接從模擬區域本身傳遞到外部的其他節點。

16:42.810 --> 16:46.139
您在模擬內部建立的每個連接

16:46.140 --> 16:49.670
到外部的區域仍將是該模擬的一部分。

16:49.671 --> 16:54.533
因此，如果您想從模擬中獲取數據，

16:54.534 --> 16:59.010
唯一的方法是透過這樣的模擬輸出。

16:59.210 --> 17:02.150
請注意，反之則不同。

17:02.390 --> 17:08.850
正如我之前所展示的，您可以從模擬區域外部傳入數據

17:08.851 --> 17:11.990
像這樣，但只能透過輸出來輸出。

17:12.730 --> 17:17.550
讓我們使用速度向量的長度來獲取速度。

17:17.551 --> 17:26.130
使用地圖範圍節點將其映射到我們可以像這樣可視化的較小範圍。

17:26.490 --> 17:29.510
但讓我們使用色帶以獲得更好的視覺化效果。

17:30.550 --> 17:33.910
讓我們將顏色改為類似這樣的顏色。

17:35.750 --> 17:37.090
我們就這樣吧。

17:39.950 --> 17:44.050
讓我們順便提高這個密度以獲得更多積分。

17:44.950 --> 17:50.030
因為這仍然是一個非常簡單的模擬，所以性能仍然相當不錯。

17:50.430 --> 17:56.630
現在，因為我們正在將實際的群組輸入幾何圖形傳遞到

17:56.631 --> 17:59.153
模擬區直接這樣，我們也

17:59.154 --> 18:03.050
對網格有直接的即時影響。

18:03.950 --> 18:09.410
因此，如果我只是玩模擬並進入編輯模式，您可以看到我可以

18:09.411 --> 18:13.270
更改網格並即時查看更新。

18:14.010 --> 18:22.030
因此您可以與網格本身或所有參數等輸入進行交互

18:22.031 --> 18:26.670
我們在設定中即時使用它來影響它的行為。

18:29.750 --> 18:31.630
正如您對模擬的期望一樣。

18:32.870 --> 18:37.210
讓我們在此模擬中再加入一個元素，以獲得更多的互動性。

18:37.211 --> 18:43.150
我想添加一個由空物體控制的單獨的力。

18:43.590 --> 18:49.450
為此，我只需將空拖到節點編輯器中即可取得物件資訊節點。

18:50.010 --> 18:53.230
我將其設為relative 以獲取相對位置。

18:53.810 --> 18:57.672
然後做一點向量數學就可以得到

18:57.673 --> 19:01.290
將粒子拉向這個空的力。

19:02.330 --> 19:09.891
讓我們取得空的位置，然後減去粒子的位置。

19:12.270 --> 19:18.730
現在這個向量，讓我們將其標準化並得到它的長度。

19:20.890 --> 19:25.090
我希望粒子越接近空，它就越強。

19:25.091 --> 19:30.877
所以我將使用除法節點並將 1 除以

19:30.878 --> 19:35.690
距離並用它來縮放方向向量。

19:37.530 --> 19:42.430
然後只是另一個尺度，以便我們更好地控制力量。

19:43.450 --> 19:46.570
讓我們將其添加到現有的力量中。

19:48.570 --> 19:54.890
讓我們按住 control 和 alt 來靜音此鏈接，右鍵單擊拖動即可消除

19:54.891 --> 19:58.790
原始力量，這樣我們就可以更好地看到它的作用。

20:00.610 --> 20:03.450
現在它沒有太大作用，因為它還不夠強大。

20:03.850 --> 20:05.750
所以讓我們把它調大一點。

20:07.430 --> 20:11.470
現在您可以看到粒子是如何被吸引到空處的。

20:14.960 --> 20:16.660
讓我們把它調得更高。

20:16.661 --> 20:22.780
現在我們得到了像這樣非常強烈的效果。

20:24.060 --> 20:27.020
讓我們將這些初始力重新調回全域。

20:27.940 --> 20:28.940
我們就這樣吧。

20:29.040 --> 20:33.340
這是我們最終的基本自訂粒子模擬設定。

20:35.080 --> 20:38.288
當然，這只是無限用處之一

20:38.289 --> 20:41.201
您可以使用模擬節點執行哪些操作的案例。

20:42.040 --> 20:46.028
但我希望這能讓你對什麼有紮實的了解

20:46.029 --> 20:49.140
您可以用它做的事情以及如何使用它們。

20:50.100 --> 20:53.480
如果您確實覺得該影片中的某些內容有點不對勁

20:53.481 --> 20:57.600
在你的頭上，我可以建議你從頭開始檢查幾何節點

20:57.601 --> 20:59.900
我們在 Blender Studio 平台上提供的課程。

21:00.680 --> 21:04.160
在本課程中，我將介紹您需要了解的所有內容，以了解如何

21:04.161 --> 21:06.120
幾何節點的工作原理以及如何使用它們。

21:06.740 --> 21:07.820
但這就是我的。

21:08.040 --> 21:10.040
祝您今天休息愉快，再見。
