阿凡达NPC对象操作 NPCObject
阿凡达NPC对象操作是用于控制云渲染阿凡达NPC对象操作的工具, 该工具的主要功能包括:
- 设置NPC姿态
- 获取NPC姿态
- 设置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
获取NPC姿态 | getAction
- 说明:获取NPC的姿态、动作
我们可以调用 NPCObject
上面的 getAction
方法来获取阿凡达NPC的姿态信息。
调用示例:
ts
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: 'man',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.getAction()
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: 'man',
transform: trans,
name: 'dms',
action: AvatarNPCPosture.Dun_CaoZuo,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.getAction()
设置NPC姿态 | setAction
- 说明:设置添加的NPC姿态
我们可以调用 NPCObject
上面的 setAction
方法来设置NPC姿态的姿态。
- 参数说明
Name | Type | Description |
---|---|---|
action | AvatarNPCPosture | NPC姿态 |
调用示例:
ts
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,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.setAction(AvatarNPCPosture.Dun_CaoZuo)
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,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.setAction(AvatarNPCPosture.Dun_CaoZuo)
设置阿凡达NPC名字 | setName
- 说明:设置添加阿凡达NPC的名字
我们可以调用 NPCObject
上面的 setAction
方法来设置添加阿凡达NPC的名字。
- 参数说明
Name | Type | Description |
---|---|---|
name | string | NPC文件名 |
调用示例:
ts
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,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.setName('index_1')
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,
}
let nPCLayerManager = await cloud.getNPCLayerManager()
const ret = await nPCLayerManager.addNPC(info, 'dms_1')
await ret.setName('index_1')