-
-
Notifications
You must be signed in to change notification settings - Fork 35.6k
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
PropertyBinding.parseTrackName can not handle non-delimiter '.' characters in track names #10366
Comments
Ideas, mostly from the other thread:
|
This change would be one way to fix the issue for GLTFLoader, by allowing the loader to specify |
Another idea:
|
I think this may be possible to do via regex modification: (1) The last dot is required as a separator between the property name and the node path name. The above rules appear to work for all examples here: three.js/src/animation/PropertyBinding.js Line 535 in 14c47ec
But this one:
But I am unsure how common the above is. We could just discontinue support for it. I think the above can be handled but I am not sure it is used in practice. I think that using some form of the above, you possibly can fix this just by making the regex a more complicated and making no other changes. My only concern then becomes is there is a way to make regexes manageable as you increase their complexity? I worry that while this can be done, we'll move towards a regex from hell that only @donmccurdy understands. |
I favor the regex modification because it is fixing this in a long-term way and it is a minimal change, even though it will increase the complexity of the regex. |
@bhouston I'm open to that plan, assuming the regex is manageable. Before we make that call, here's one more consideration if we want to support glTF robustly: glTF doesn't require node names, and it would be completely valid to have a rigged model with no named nodes. The format uses string IDs to bind animation to nodes instead. IMO, it seems like solving this robustly for glTF (since that's the format that raised this bug) will require persisting those IDs in some way. Assign them as EDIT: It seems that the FBX loader is dealing with some similar things. |
Following the merge of #10276 there is an issue with how non-delimiter '.' characters are handled in
PropertyBinding.parseTrackName
. There are no requirements in most formats that track names can not include non-delimiter '.' characters.Specific discussion of this issue starts here: #10276 (comment).
Filing this as a bug so it doesn't get lost.
/cc @mrdoob @donmccurdy @takahirox @bhouston
The text was updated successfully, but these errors were encountered: