tuo-fair-core参数调整器数据结构说明

1.基本数据结构

{
   [key]: {
      type: String, // 类型
      value: Any,  // 当前的值
      defaultValue: Any, // 默认值
      label: String, // 展示在界面上的参数名称
      options: Object, // 其他属性
   }
}

2. 具体参数调整器的options说明

2.1 数字输入类

{
  type: 'adjustorNumber',
  value: Number,
  defaultValue: Number,
  label: String,
  options: {
      precision: Number, // 小数点精度,表示保留几位小数
      step: Number, // 点击梯度变化按钮时的增减梯度,是正数
      hideStep: Boolean, // 是否隐藏梯度变化按钮,默认是false
      min: Number, // 最小值
      max: Number // 最大值
  }
}

2.2 图形选择枚举对象类

这类参数是指用一张图片来示意此参数值达成的效果,然后用一个对象来作为这个参数的实际值。此类参数主要用在需要用图片才能表达参数值的效果的情况。例如,用来调整材质的参数,这时候就需要提供一张图片来表示当前参数值能达成的渲染效果。此类参数的数据结构如下:

{
  type: 'imageEnumObject',
  value: Number,
  defaultValue: Number,
  label: String,
  options: {
      images: [<url_to_images>, ...]
      objects: [Any,...]
  }
}

2.3 图片输入类

{
   type: 'imageInput',
   value:  String, // 图片的 url
   defaultValue: String, // 图片的 url
   label: String,
   options: {
     width: Number,
     height: Number,
     aspect: Number, //optional
     texture: {
       wrapT: oneOf(['RepeatWrapping', 'MirroredRepeatWrapping', 'ClampToEdgeWrapping' ]), //default: 'ClampToEdgeWrapping',
       wrapS: oneOf(['RepeatWrapping', 'MirroredRepeatWrapping', 'ClampToEdgeWrapping' ]), //default: 'ClampToEdgeWrapping'
     }
   }
 }

图片输入类参数options中的aspect如果存在的,则表示输入的图片需要先进行一步变形。这里的aspect值是指uv值应用到3维对象上后,3维空间上u的长度比上v的长度的比值。例如,下面杯子所示:

如果杯子外壁上的uv展开值是铺满的,那么这里的aspect就应该满足如下的情况:

aspect = 外壁的周长 / 外壁的高度

2.4 一般选择类

{
  type: 'enum',
  value: ,
  defaultValue: ,
  label: String,
  options: {
     mutiple: Boolean, // 是否多选
     options: ArrayOf(String) | ArrayOf({lable: String, value: String}), // 若是String数组,则每个元素都必须唯一;若是Object数组则每个元素的value必须唯一
  }
}

2.5 人像选择类

{
   type: 'faceEnum',
   value:  String || null, // face3d的id
   defaultValue: null,
   label: String
 }

发表评论

邮箱地址不会被公开。 必填项已用*标注