殼層轉譯
階層式狀態覆寫元件的 殼層狀態 是透明度效果。 與 查看 轉譯相反,只有最前面的物件層是可見的,類似于不透明的轉譯。 此外,當轉譯為殼層時,可以改變物件的一般外觀。 效果適用于使用者應以視覺方式引導離開非重要部分,同時仍維持整個場景的空間感知的使用案例。
您可以透過 ShellRenderingSettings
全域狀態設定殼層轉譯物件的外觀。 所有使用殼層轉譯的物件都會使用相同的設定。 每個物件參數都沒有。
注意
殼層轉譯效果無法套用至點雲端。
ShellRendering設定參數
類別 ShellRenderingSettings
會保存與全域殼層轉譯屬性相關的設定:
參數 | 類型 | 描述 |
---|---|---|
Desaturation |
float | 要套用至一般最終物件色彩的還原量,範圍 0(無還原飽和)到 1(完整還原度) |
Opacity |
float | 殼層轉譯物件的不透明度,範圍 0 (不可見) 到 1 (完全不透明) |
另請參閱下表,以取得套用至整個場景時參數效果的範例:
0 | 0.25 | 0.5 | 0.75 | 1.0 | |
---|---|---|---|---|---|
還原飽和 | |||||
透明度 |
殼層效果會套用至場景最終不透明色彩,否則會轉譯場景。 這包括色調階層式狀態覆寫 。
範例
下列程式碼示範透過 API 使用狀態的 ShellRenderingSettings
範例:
void SetShellSettings(RenderingSession session)
{
ShellRenderingSettings shellRenderingSettings = session.Connection.ShellRenderingSettings;
shellRenderingSettings.Desaturation = 0.5f;
shellRenderingSettings.Opacity = 0.1f;
}
void SetShellSettings(ApiHandle<RenderingSession> session)
{
ApiHandle<ShellRenderingSettings> shellRenderingSettings = session->Connection()->GetShellRenderingSettings();
shellRenderingSettings->SetDesaturation(0.5f);
shellRenderingSettings->SetOpacity(0.1f);
}
效能
與標準不透明轉譯相比,殼層轉譯功能具有較小的常數額外負荷。 它比在物件上使用透明材質或 查看 轉譯要快得多。 如果只有部分場景切換到殼層轉譯,效能可能會更強。 此降低可能會因為需要轉譯的額外顯示物件而發生。 在這方面,效能的行為與 切割平面 功能類似。