UI 批注
使用此批注将效果参数与主机环境中的 UI 控件相关联。 这将允许用户通过主机应用程序以交互方式控制效果参数。
DXSAS 根据数据模型和基本行为定义了一组标准控件,效果作者可以从主机应用程序获得这些控件。 控件注释的使用方式如下:
string SasUiControl = "ControlType";
其中
ControlType
是下列值之一:
ControlType | 说明 | 内部数据类型 | 控件属性批注 |
---|---|---|---|
无 | 不应显示任何控件。 请注意,如果 SasUiVisible 为 True 且控件类型为 None 以外的任何类型,则控件可见。 | 不适用 | 不适用 |
任意 | 这意味着不请求任何特殊控制。 提供的控件是应用程序定义行为的结果。 | 不适用 | 不适用 |
ColorPicker | 将颜色值表示为颜色样本。 该值打包到关联向量的 XYZ 组件中。 关联向量的 W 分量始终设置为 1。 | floatN ,其中 N 为 1 到 4(含 1 到 4)。 | SasUiEnum |
方向 | 方向向量。 | floatN ,其中 N 为 2 到 4(含 2 到 4)。 | 无 |
FilePicker | 允许用户浏览和选择文件的对话框。 | string | 无 |
ListPicker | 用户可以从中选择一个条目的字符串值列表。 这些值是从 SasUiEnum 注释生成的。 | 字符串数组以及包含所选字符串值的索引的整数值。 | SasUiEnum |
数值 | 一组数字输入控件 (,例如文本框) 。 | floatMxN ,其中 M 和 N 为 1 到 4(含 1 到 4)。 | SasUiMin、 SasUiMax、 SasUiStride |
滑块 | 一组滑块。 | floatMxN ,其中 M 和 N 为 1 到 4(含 1 到 4) | SasUiMin、 SasUiMax、 SasUiSteps、 SasUiStepsPower |
String | 用于编辑字符串内容的文本框。 | string | 无 |
如果内部数据类型与关联参数的类型不同,则当数据从主机应用程序参数传输到效果参数时,将发生强制转换。
默认值为字符串“None”。
UI 通用属性
SasUiDescription
使用此批注指定用于描述工具的字符串。 这可用于 UI 元素,例如工具提示。
string SasUiDescription = "descriptive string";
例如:
float3 UpNormal
<
string SasUiDescription = "The normalized up vector";
>;
默认值为空字符串。
SasUiLabel
使用此批注指定用于标记任何 UI 控件的字符串。
string SasUiLabel = "some label;
以下是示例:
float3 UpNormal
<
string SasUiLabel = "Normal that points up.";
>;
默认值为空字符串。
SasUiVisible
使用此批注指定是否应向用户显示关联的参数。
bool SasUiVisible = false;
如果设置为 True,则主机应用程序应显示用于编辑批注效果参数的 UI 控件。 如果为 false,则主机应用程序中不显示任何 UI。
以下是示例:
float3 UpNormal
<
string SasUiVisible = false;
>;
默认值为 True。
UI 控件属性
控件属性注释是有助于确定特定控件如何操作的其他修饰符。
SasUiEnum
此批注允许限制控件的值范围。 批注包含用逗号分隔的值的字符串。
默认值为空字符串。
SasUiMax
此批注指定关联参数的最大值。 它只能与数字类型的参数相关联。 参数的最大值实际上将按以下方式计算:
MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);
PARAMETER_TYPE_MAX是关联参数所使用的类型的最大值。 这意味着参数的值(考虑到 SasUiMax 注释)的计算方式如下:
ParameterValue = min(NewParameterValue, MaxValue);
默认值为 math.h 中定义的FLT_MAX。
SasUiMin
此批注指定关联参数的最小值。 它只能与任何数字类型的参数相关联。 参数的最小值实际上将按以下方式计算:
MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);
PARAMETER_TYPE_MIN是关联参数所使用的类型的最小值。 这意味着参数的值(考虑到 SasUiMin 注释)的计算方式如下:
ParameterValue = max(NewParameterValue, MinValue);
默认值为 -FLT_MAX,如 Math.h 中定义。
SasUiSteps
此批注指定在递增或递减关联的参数值时可以使用的步骤数。 注释仅在数字类型参数上有意义。 零指定主机应用程序将选择合理数量的步骤。
默认值为 0。
SasUiStepsPower
此注释指定幂函数中的指数,其范围为 [0.0f, 1.0f]。 主机应用程序在计算参数值时必须实现以下方法:
ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin
默认值为 1.0f。
SasUiStride
此注释指定递增或递减此值时应使用的增量。 与 SasUiSteps 不同, SasUiStride 在微调器控件中很有用,例如,数据不受限制,用户宁愿按步长递增参数值,而不是按预定义的步数递增。 主机应用程序应根据 SasUiStride 值) 的控制行为递增 (或递减,如下所示:
ParameterValue = ParameterValue +/- SasUiStride
默认值为 1.0f。
相关主题