大綱轉譯
透過階層式狀態覆寫元件新增大綱轉譯,即可以可視化方式醒目提示選取的物件。 本章說明如何透過用戶端 API 變更大綱轉譯的全局參數。
大綱屬性是全域設定。 使用大綱轉譯的所有物件都使用相同的設定 - 無法使用個別物件外框色彩。
注意
大綱轉譯效果無法套用至點雲端。
的參數 OutlineSettings
類別 OutlineSettings
會保存與全域大綱屬性相關的設定。 它會公開下列成員:
參數 | 類型 | 描述 |
---|---|---|
Color |
Color4Ub | 用於繪製外框的色彩。 會忽略Alpha部分。 |
PulseRateHz |
float | 大綱每秒振蕩的速率 |
PulseIntensity |
float | 外框脈衝效果的強度。 在 0.0 之間,沒有脈衝和 1.0 之間,才能進行完整脈動。 強度會隱含地將大綱的不透明度下限設定為 MinOpacity = 1.0 - PulseIntensity 。 |
MaskTexture |
2D 紋理 | 如果指定,則外框的色彩將會由這個紋理著色。 紋理會在螢幕空間座標中取樣,而且各種參數 (MaskScale 、MaskScrollSpeed MaskOffset MaskScaleToFit MaskRotationCenter 、、MaskRotationAngle 、 、 MaskRotationSpeed )會影響該對應的延展、旋轉和捲動。 此功能可用來達到色彩漸層或虛線外框等效果。 請參閱下面的第二個範例影像。 |
將參數從黃色(左)變更 color
為洋紅(中央)和 pulseIntensity
從0變更為0.8(右)的效果。
將遮罩紋理套用至外框的效果:螢幕對齊的色彩漸層(左)或虛線外框,使用帶狀紋理仿真的貼圖紋理(右圖)。
範例
下列程式代碼示範如何透過 API 設定大綱參數的範例:
void SetOutlineParameters(RenderingSession session)
{
OutlineSettings outlineSettings = session.Connection.OutlineSettings;
outlineSettings.Color = new Color4Ub(255, 255, 0, 255);
outlineSettings.PulseRateHz = 2.0f;
outlineSettings.PulseIntensity = 0.5f;
}
void SetOutlineParameters(ApiHandle<RenderingSession> session)
{
ApiHandle<OutlineSettings> outlineSettings = session->Connection()->GetOutlineSettings();
Color4Ub outlineColor;
outlineColor.channels = { 255, 255, 0, 255 };
outlineSettings->SetColor(outlineColor);
outlineSettings->SetPulseRateHz(2.0f);
outlineSettings->SetPulseIntensity(0.5f);
}
效能
大綱轉譯可能對轉譯效能產生重大影響。 此影響會根據指定畫面格的選取與非選取對象之間的螢幕空間關聯性而有所不同。