function registerNetworkSchemas() { NAF.schemas.add({ template: "#remote-avatar-template", components: [ { component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 }, lerp: false }, "scale", "player-info", "networked-avatar", { selector: ".camera", component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { selector: ".camera", component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 } }, { selector: ".left-controller", component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { selector: ".left-controller", component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 } }, { selector: ".left-controller", component: "visible" }, { selector: ".right-controller", component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { selector: ".right-controller", component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 } }, { selector: ".right-controller", component: "visible" } ] }); NAF.schemas.add({ template: "#video-template", components: [ { component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 } }, "visible" ] }); NAF.schemas.add({ template: "#interactable-template", components: [ { component: "position", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 0.01 } }, { component: "rotation", dirtyPredicate: { type: NAF.PREDICATE_XYZ_ALMOST_EQUALS, epsilon: 1 } }, "scale" ] }); } export default registerNetworkSchemas;