---
# System prepended metadata

title: Untitled

---

Arnold 官方文件連結 👉 [Displacement#Displacement-BoundsPadding](https://docs.arnoldrenderer.com/display/A5AFMUG/Displacement#Displacement-BoundsPadding)

---

一般算圖引擎在計算 Displacement 的時候會有一個隱形的界線來限制 Displacement 實際位移模型表面的範圍，那個隱形界線通常是該模型的 bounding box (能容納該模型的最小立方體)，超越那個界限就會被切掉，以節省計算資源。

如果要延伸出去，就得調整 **Bounds Padding** 這個參數，效果如下

![](https://i.imgur.com/53lYiyP.png)

**Bounds Padding** 從字面上看大概就是往邊界外擴的意思，數值該設定多少則視狀況，不同模型與不同的 displacement map 可能會有各自需要的數值來達到最佳效果。

因此 `Mesh` 節點跟 `displacementShader` 節點上都有這個參數，彼此之間的關係就請參考 Arnold 官方文件了 👉 [Displacement#Displacement-BoundsPadding](https://docs.arnoldrenderer.com/display/A5AFMUG/Displacement#Displacement-BoundsPadding)

[![](https://knowhow.moonshine.tw/uploads/images/gallery/2020-12/scaled-1680-/wBTn4vSRSYhxnOve-image-1608644755727.png)](https://knowhow.moonshine.tw/uploads/images/gallery/2020-12/wBTn4vSRSYhxnOve-image-1608644755727.png)

### 實際案例

這邊有一塊平面跟一顆稍微穿插的球體，就像是地面上的擺設

![](https://i.imgur.com/fdUQWai.png)

下面這張是 displacement 取消，只有 normal map 開啟的狀態

![](https://i.imgur.com/kJXKPF5.png)

下面這張是 displacement 開啟，但 boundsPadding 為 0 的狀態，可以看到那顆球跟地面之間有一個奇怪的區域，像是影子被忽略計算的樣子，這就是 displacement 效果被切掉的狀況。

![](https://i.imgur.com/SsrgDOj.png)

下面這張是 displacement 開啟， boundsPadding 為 3 的狀態 (3 是我自己看心情設定的，實際數值超過 1 有沒有幫助我不確定)

可以看到地面有確實整個上移。

![](https://i.imgur.com/h8Pe7ys.png)

下面是方便比較的連續圖。

![](https://i.imgur.com/AcuOiRA.gif)


---

**因此，這個設定對於環境布置應該滿重要的，在地面有開啟 displacement 的狀態下，如果地面上要布置一些像是落葉的物體，可能就需要考量到 `boundsPadding` 的設定，否則可能會有預料之外的結果。**

---

#### 補充

較舊版的 Arnold MtoA (3.1.2)，`boundsPadding` 為 0 的模型與材質輸出成 standin 之後，該參數似乎會被忽略，強制算出完整的 displacement，造成 standin 算圖結果與工作檔的實際模型不同，有遇到的話再注意一下。(之後我們的 MtoA 都會使用新版的就是了，所以這一段先看看就好)