Skip to content

模型关节和动画操作 ​

目录 ​

1. 获取模型关节 ​

引入版本:3.3 起支持

功能描述 ​

获取模型关节

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelId1',
  layerId: "layerId",
};
appInstance.uniCall('getModelArticulation', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
layerIdString模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。",
  "id": "modelId",
  "data": [
    {
      "articulation": "articulationName01",
      "type": "float",
      "currentValue": "10",
      "minValue": "5",
      "maxValue": "15"
    },
    {
      "articulation": "articulationName02",
      "type": "enum",
      "currentValue": "Enum1",
      "value": [
        "Enum1",
        "Enum2"
      ]
    },
    {
      "articulation": "articulationName03",
      "currentValue": "true",
      "type": "bool"
    },
    {
      "articulation": "articulationName03",
      "currentValue": "Hello",
      "type": "streaming"
    }
  ]
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因
idString返回当前模型包含的全部关节定义信息
dataArray获取模型关节数据
data[0].articulationString关节名称
data[0].typeString关节类型, float / enum / bool / string
data[0].currentValueString关节当前的值
data[0].minValueStringfloat 类型的最小值
data[0].maxValueStringfloat 类型的最大值
data[0].valueArray枚举类型对应的全部枚举值数组

返回本章目录

2. 设置模型关节数据 ​

引入版本:3.1 起支持

功能描述 ​

设置三维场景中模型关节数据

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelId',
  layerId: "layerId",
  duration: 1,
  data: [
    {
      articulation: 'articulationName01',
      type: 'float',
      value: '15',
    },
  ],
};
appInstance.uniCall('setModelArticulation', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
layerIdString模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。
durationNumber更新数据时长,在这个时间周期内进行差值动画(单位:秒)
dataArray定义模型关节数据
data[0].articulationString关节名称
data[0].typeString关节类型,float:浮点型关节、enum:枚举型关节;bool:布尔型关节
data[0].valueString关节取值(字符串类型)

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

3. 获取模型动画 ​

引入版本:3.3 起支持

功能描述 ​

获取模型动画

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelId',
  layerId: "layerId",
};

appInstance.uniCall('getModelAnimation', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
layerIdString模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。",
  "id": "modelId",
  "data": [
    {
      "name": "animationName01",
      "speed": 1,
      "rerverserType": "none",
      "state": "stop"
    },
    {
      "name": "animationName01",
      "speed": 1,
      "rerverserType": "none",
      "state": "stop"
    }
  ]
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因
idString返回当前模型包含的全部动画
dataArray获取模型动画数据
data[0].nameString动画名称
data[0].speedNumber动画播放倍速
data[0].rerverserTypeString动画是否自动反播循环,"none":不循环, "round":单向循环, "repeat":往返循环
data[0].stateNumber当前动画状态,"stop","playing", "pause"

返回本章目录

4. 设置模型动画 ​

引入版本:3.3 起支持

功能描述 ​

设置模型动画

调用方法 ​

JavaScript
let jsonData = {
  id: "modelId",
  layerId: "layerId",
  name: "animationName01",
  speed: 1,
  rerverserType: "none",
}


appInstance.uniCall('setModelAnimation', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
layerIdString模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。
nameString不可修改,用于查找模型中需要修改的动画
speedNumber动画播放倍速
rerverserTypeString动画是否自动反播循环,"none":不循环, "round":单向循环, "repeat":往返循环

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

5. 播放模型动画 ​

引入版本:3.3 起支持

功能描述 ​

播放模型动画

调用方法 ​

JavaScript
let jsonData = {
  id: 'modelId',
  layerId: "layerId",
  name: 'animationName01',
  state: 'pause',
};

appInstance.uniCall('playModelAnimation', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
layerIdString模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。
nameString不可修改,用于查找模型中需要修改的动画
stateString状态是: "begin", "pause", "stop", "restart" 四种

返回本章目录

6. 开始关节变换 ​

引入版本:3.1 起支持

功能描述 ​

开始关节变换

调用方法 ​

JavaScript
appInstance.uniCall(
  'addEventListener',
  {
    eventName: 'onArticulationStart',
    callback: function(event) {
      console.log(event);
    },
  },
  (result) => {
    console.log(result);
  }
);

回调数据 ​

JSON
{
  "id": "articulationName01"
}

回调数据参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别

返回本章目录

7. 结束关节变换 ​

引入版本:3.1 起支持

功能描述 ​

结束关节变换

调用方法 ​

JavaScript
appInstance.uniCall(
  'addEventListener',
  {
    eventName: 'onArticulationEnd',
    callback: function(event) {
      console.log(event);
    },
  },
  (result) => {
    console.log(result);
  }
);

回调数据 ​

JSON
{
  "id": "articulationName01"
}

回调数据参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别

返回本章目录

8. 开始播放动画 ​

引入版本:3.1 起支持

功能描述 ​

开始播放动画

调用方法 ​

JavaScript
appInstance.uniCall(
  'addEventListener',
  {
    eventName: 'onAnimationStart',
    callback: function(event) {
      console.log(event);
    },
  },
  (result) => {
    console.log(result);
  }
);

回调数据 ​

JSON
{
  "id": "articulationName01"
}

回调数据参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别

返回本章目录

9. 结束播放动画 ​

引入版本:3.1 起支持

功能描述 ​

结束播放动画

调用方法 ​

JavaScript
appInstance.uniCall(
  'addEventListener',
  {
    eventName: 'onAnimationEnd',
    callback: function(event) {
      console.log(event);
    },
  },
  (result) => {
    console.log(result);
  }
);

回调数据 ​

JSON
{
  "id": "articulationName01"
}

回调数据参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别

返回本章目录