feat: replace direct rotation logging with calculated forward vector orientation
Browse files
ui/vrm.py
CHANGED
|
@@ -691,7 +691,9 @@ def avatar_html(vrm_urls: str | list[str]) -> str:
|
|
| 691 |
VRMUtils.removeUnnecessaryVertices(vrm.scene);
|
| 692 |
vrm.scene.traverse(o => {{ if (o.frustumCulled) o.frustumCulled = false; }});
|
| 693 |
vrm.scene.rotation.y = Math.PI;
|
| 694 |
-
|
|
|
|
|
|
|
| 695 |
scene.add(vrm.scene);
|
| 696 |
setExpression('relaxed', 0.25);
|
| 697 |
console.log('Available expressions:', expressionNames());
|
|
|
|
| 691 |
VRMUtils.removeUnnecessaryVertices(vrm.scene);
|
| 692 |
vrm.scene.traverse(o => {{ if (o.frustumCulled) o.frustumCulled = false; }});
|
| 693 |
vrm.scene.rotation.y = Math.PI;
|
| 694 |
+
const forward = new THREE.Vector3(0, 0, 1);
|
| 695 |
+
forward.applyQuaternion(vrm.scene.quaternion);
|
| 696 |
+
console.log('[aiko-vrm] model forward vector:', forward);
|
| 697 |
scene.add(vrm.scene);
|
| 698 |
setExpression('relaxed', 0.25);
|
| 699 |
console.log('Available expressions:', expressionNames());
|