fromJSON
是 Yuka.js 库中的一个静态方法,使用它可以从一个 JSON 字符串或对象创建一个新的 Node 实例。
Node.fromJSON(json: object|string): Node
json
:要从中创建 Node 的 JSON 字符串或对象。以下示例从一个 JSON 对象创建一个新的 Node 实例:
const json = {
uuid: 'e4138b34-83e5-4a4a-8d4e-5c5a5f5b5d0e',
position: { x: 10, y: 5, z: 2 },
orientation: [0, 1, 0, 0]
};
const node = Node.fromJSON(json);
console.log(node);
输出:
Node {
uuid: 'e4138b34-83e5-4a4a-8d4e-5c5a5f5b5d0e',
position: Vector3 { x: 10, y: 5, z: 2 },
orientation: Quaternion { x: 0, y: 1, z: 0, w: 0 },
children: [],
isPaused: false
}
以下示例从一个 JSON 字符串创建一个新的 Node 实例:
const jsonString = '{"uuid":"e4138b34-83e5-4a4a-8d4e-5c5a5f5b5d0e","position":{"x":10,"y":5,"z":2},"orientation":[0,1,0,0]}';
const node = Node.fromJSON(jsonString);
console.log(node);
输出:
Node {
uuid: 'e4138b34-83e5-4a4a-8d4e-5c5a5f5b5d0e',
position: Vector3 { x: 10, y: 5, z: 2 },
orientation: Quaternion { x: 0, y: 1, z: 0, w: 0 },
children: [],
isPaused: false
}
如果无法从提供的 JSON 对象或字符串创建一个有效的 Node 实例,则抛出一个错误。
json
参数必须是一个包含 uuid
、position
和 orientation
属性的对象,或者是一个符合这些属性的 JSON 字符串。
如果提供的 JSON 数据不包含任何子节点,如果需要添加子节点,可以使用 Node 的 addChild()
方法。
fromJSON
方法创建的 Node 实例默认是没有暂停的,可以通过 Node 的 pause()
和 resume()
方法来暂停和恢复 Node 的更新功能。