-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OMI_audio_emitter #1
Conversation
We want to compare multiple implementations of audio features in Game Engines before the meeting.
|
The audio emitter uses an attenuation inner cone is not possible in Godot Engine. Trying to look for a fallback. |
Would it make sense to include support for descriptive |
I think it would make more sense to have an accessibility extension that can be applied to any node. |
Yeah, looking at the AudioStreamPlayer3D class it may require some additional code. I'll look into this further next week. Let me know if you have any ideas. I think we'll run into similar issues with Unity. |
To clarify for understanding |
extensions/2.0/OMI_audio_emitter/schema/glTF.OMI_audio_emitter.schema.json
Outdated
Show resolved
Hide resolved
extensions/2.0/OMI_audio_emitter/schema/audioEmitter.schema.json
Outdated
Show resolved
Hide resolved
"type": "number", | ||
"minimum": 0, | ||
"maximum": 360, | ||
"default": 360 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In glTF 2.0 core spec, all angles are in radian. Should we follow it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I second radians.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if I represented this correctly. The maximum is 2PI radians then. Idk how to represent that in JSON schema.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Default value should be rounded down at 6 decimal places and maximum value should be rounded up at 6 decimal places to deal with floating point precision.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's also clarify with the Khronos Working Group.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on this discussion about the yfov and the punctual spotlight spec. I think we should go with a maximum and minimum value of 6.283185307179586
. We can also write in the readme/description that the maximum value is 2 * PI
.
This will work just fine in Javascript btw:
Math.PI / 180 * 360 === 6.283185307179586
6.283185307179586 * 180 / Math.PI === 360
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made this change now. I think it should be fine, but could use a second opinion.
Notes from meeting:
|
2021.08.05 my additional gltf-extensions meeting notes:
|
We still need feedback on Unity and Unreal. How should we specify the falloff for the cone so that it can be implemented correctly in each engine? If we give people the algorithm for finding the volume given the listener's position and the audio emitter's transform, is that enough? Are there other features here that are incompatible with either engine? Are we missing properties that would make this hard to use in these engines? We'd love your help if you have experience with audio in Unity or Unreal. Comment or leave a review if you're interested in helping out. |
extensions/2.0/OMI_audio_emitter/schema/audioEmitter.schema.json
Outdated
Show resolved
Hide resolved
@robertlong (I have pinged you a lot today, sorry) Do you know what the status is of this? Are we waiting to merge for a vote or something? :D |
After these final changes are in, we need to write a markdown explainer. Including explaining the various audio rolloff algorithims. We also need two implementations of the spec before it can go to a vote. So far we have three-omi and we've been talking about Unity and Godot implementations. In parallel we're working on Blender tooling to generate new glTF content with this extension. Once these are done we can take it to a vote. |
Rename Audio Emitter `autoPlay` property to `playing`
Worthy of study and harmonization: |
This is a work in progress draft of a glTF 2.0 extension for audio emitters. It is inspired by the Mozilla Hubs
audio-emitter
component of theMOZ_hubs_components
extension and theMSFT_audio_emitter
extension. The properties are closely related to the HTML<audio>
element and Web AudioAudioNode
andPannerNode
APIs.Some differences from the Hubs/Microsoft extensions:
autoPlay
property can either play the audio clip on scene load or when set to false, it can be triggered externally.Rendered
Out of Scope:
Research On Other Engines:
#2