aws-samples / amazon-sumerian-hosts

Amazon Sumerian Hosts (Hosts) is an experimental open source project that aims to make it easy to create interactive animated 3D characters for Babylon.js, three.js, and other web 3D frameworks. It leverages AWS services including Amazon Polly (text-to-speech) and Amazon Lex (chatbot).
MIT No Attribution
174 stars 80 forks source link

add support for left hand coordinate system for POI feature #111

Closed runpiw closed 2 years ago

runpiw commented 2 years ago

Description

POI feature is not working properly if the babylon scene is not set to use right hand coordinate system. GLTF is in right hand coordinate system while babylon scene by default is using left hand coordinate system so that babylon GLTF importer is applying some transform to the root node of imported character which breaks our POI feature angle calculation. This change invert one of the angle calculation in POI feature if the babylon scene is using left hand coordinate system to mitigate the transform impact brought by babylon GLTF importer

Testing

Manually go through all babylon examples to verify POI feature is working properly.

Submission Checklist

I confirm that I have...


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

runpiw commented 2 years ago

It's too bad we don't have any unit tests or integration tests that target the POI feature -- in their absence, would it be worth removing the useRightHandedSystem from one of the demos (perhaps the Hello World one)?

At the very least, those demos should be updated in the sense that there's a comment in the .js files' createScene() function that says // IMPORTANT for Sumerian Hosts! (or something along those lines) that should be removed

It's too bad we don't have any unit tests or integration tests that target the POI feature -- in their absence, would it be worth removing the useRightHandedSystem from one of the demos (perhaps the Hello World one)?

At the very least, those demos should be updated in the sense that there's a comment in the .js files' createScene() function that says // IMPORTANT for Sumerian Hosts! (or something along those lines) that should be removed

Removed the useRightHandedSystem setting from Hello World demo and updated comments