阿凡达NPC图层对象 npcLayer
阿凡达NPC图层对象操作是用于控制云渲染阿凡达NPC图层对象操作的工具, 该工具的主要功能包括:
- 设置图层显隐
- 获取图层名字
- 获取图层下的阿凡达对象
- 根据GUID获取图层下的阿凡达对象
- 获取图层的显隐状态
- 删除图层中的某个NPC对象
- 根据Guid删除图层中的某个NPC对象
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
NPCLayerManager
用户可以调用云渲染实例 cloud
上的 getNPCLayerManager()
方法来获取 NPCLayerManager
阿凡达NPC图层管理器。
ts
const NPCLayerManager = await cloud.getNPCLayerManager()
const NPCLayerManager = await cloud.getNPCLayerManager()
用户调用 cloud.getNPCLayerManager()
后,nPCLayerManager
会被自动挂载到当前 cloud
实例上。
ts
await cloud.getNPCLayerManager()
const NPCLayerManager = cloud.nPCLayerManager
await cloud.getNPCLayerManager()
const NPCLayerManager = cloud.nPCLayerManager
设置图层显隐 | show
- 说明:设置NPC的图层显隐
我们可以调用 npcLayer
上面的 show
方法来设置图层显隐。
- 参数说明
Name | Type | Description |
---|---|---|
isShow | boolean | 图层显隐 true显示 |
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
await ret[0].show(true)
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
await ret[0].show(true)
获取图层名字 | name
- 说明:获取NPC的图层名字
我们可以调用 npcLayer
上面的 name
方法来获取图层名字。
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
const name = await ret[0].name()
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
const name = await ret[0].name()
获取图层下的阿凡达对象 | getNPCObjects
- 说明:获取图层下添加的阿凡达对象
我们可以调用 npcLayer
上面的 getNPCObjects
方法来获取图层下的阿凡达对象。
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].getNPCObjects()
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].getNPCObjects()
根据GUID获取图层下的阿凡达对象 | getNPCObjectByGuid
- 说明:根据NPC对象的GUID,获取图层下的阿凡达对象
我们可以调用 npcLayer
上面的 getNPCObjectByGuid
方法来根据GUID获取图层下的阿凡达对象。
- 参数说明
Name | Type | Description |
---|---|---|
guid | string | NPC对象的Guid |
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].getNPCObjectByGuid('123abcxxxxxxxxx')
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].getNPCObjectByGuid('123abcxxxxxxxxx')
获取图层的显隐状态 | isShow
- 说明:获取图层的显隐状态
我们可以调用 npcLayer
上面的 isShow
方法来获取图层的显隐状态。
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].isShow()
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const ret = await nPCLayerManager.getAllLayer()
const e = await ret[0].isShow()
删除图层中的某个NPC对象 | remove
- 说明:删除图层中添加的某个NPC对象
我们可以调用 npcLayer
上面的 remove
方法来删除图层中的某个NPC对象。
- 参数说明
Name | Type | Description |
---|---|---|
obj | NPCObject | NPC对象 |
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
const obj = await nPCLayerManager.addNPC(info, 'dms_1')
const ret = await nPCLayerManager.getAllLayer()
await ret[0].remove(obj)
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
const obj = await nPCLayerManager.addNPC(info, 'dms_1')
const ret = await nPCLayerManager.getAllLayer()
await ret[0].remove(obj)
根据Guid删除图层中的某个NPC对象 | removeObjByGuid
- 说明:根据Guid删除图层中添加的某个NPC对象
我们可以调用 npcLayer
上面的 removeObjByGuid
方法来根据Guid删除图层中的某个NPC对象。
- 参数说明
Name | Type | Description |
---|---|---|
npcGuid | string | NPC对象的guid值 |
调用示例:
ts
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
const obj = await nPCLayerManager.addNPC(info, 'dms_1')
const ret = await nPCLayerManager.getAllLayer()
await ret[0].removeObjByGuid('123abcxxxxxxxxx')
let nPCLayerManager = await cloud.getNPCLayerManager() // 获取阿凡达NPC图层管理器
const translation2 = new Vector3(0, 0, 0)
const eulerAngle2 = new Euler(30, 0, 0)
const scaling2 = new Vector3(1, 1, 1)
const trans = new Transform(translation2, eulerAngle2, scaling2)
const info: NPCObjectInfo = {
resource: 'avatar_woman.wlkx',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
const obj = await nPCLayerManager.addNPC(info, 'dms_1')
const ret = await nPCLayerManager.getAllLayer()
await ret[0].removeObjByGuid('123abcxxxxxxxxx')