Skip to content
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

#1298: Setup for animation model. #1323

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from
Draft

#1298: Setup for animation model. #1323

wants to merge 14 commits into from

Conversation

susanodd
Copy link
Collaborator

@susanodd susanodd commented Sep 11, 2024

[THIS IS NOT ON signbank-test at the moment, it is waiting for another pull request using that branch.]

Links:

The third link shows the Animations tab for a Gloss.
The second link should be displaying the animation for APPEL-A, uploaded in the first link.
But at the moment, it is displaying the "demo" code, which has been included on signbank. (See changed files.)
The display code needs to be modified so that is uses

  • the uploaded fbx file

instead of

  • the hard-coded, demo glb files in /writable/MeshesAndAnims/ or the corresponding fbx files it gets from Sign Collect.

TO DO

  • display just one animation

  • new page to dynamically create animation sequence (what the demo does)

@Woseseltops
Copy link
Collaborator

Hi @susanodd , I understand the display of the animation is not on the detail, but is there a reason the upload is not part of the detail view either? Perhaps they could both be in a new tab?

@susanodd
Copy link
Collaborator Author

susanodd commented Sep 19, 2024

Hi @susanodd , I understand the display of the animation is not on the detail, but is there a reason the upload is not part of the detail view either? Perhaps they could both be in a new tab?

I purposely did them separate because a lot of functionality is still missing.

You can see the animations in the admin. That works.
Although some problems with it adding those weird character strings to the file names. (As has been an issue elsewhere.)

I agree, it could show the animation on the same as the upload.
It's kind of really basic, because you select the gloss in the lookahead. (Otherwise there needs to be more functionality for searching the gloss, etc. I was trying to get something done fast.)

Except I don't know how to display a single animation yet! (The one that was uploaded.)

@susanodd
Copy link
Collaborator Author

susanodd commented Sep 19, 2024

Added animation tab

https://signbank-test.cls.ru.nl/dictionary/gloss/1462

That has been modified to use the Babylon pre-fab Viewer (a one-liner) to display a glb animation.
The pineapple is shown.
There exists an OS command to convert between the two formats.

I spent oodles of time trying to get the demo code to work.
This was not successful because there are bugs in the demo code.

For time usage on our side, it would be economical to just use the Babylon Viewer and also include an upload for the glb format, and/or install the conversion software on the server. (I.e., like for video conversion).
Although the end user ought to confirm that both formats display as intended.
This can be confirmed with a preview of the animation on the upload page. (TO DO.)

Some of the sample glb files on the GitHub look transparent (The guy with glasses and the pineapple look okay, but not the others.)
There are glb files that are referred to in the demo. The demo also fetches files with the same name, but fbx extension from UvA. Maybe the fbx format is used in order to sequence the files as an animation.

@susanodd
Copy link
Collaborator Author

susanodd commented Sep 23, 2024

@Woseseltops

https://cadexchanger.com/fbx-to-glb/

Proprietary Format
One of the drawbacks of FBX is that it is a proprietary file format owned by Autodesk. This means that the specifications of the format are not publicly available, making it more challenging for third-party developers to create software that fully supports FBX. While Autodesk provides an SDK for FBX, the closed nature of the format can sometimes limit interoperability with certain software applications.

As an alternative, this, open source:

https://github.com/KhronosGroup/glTF/tree/main/specification/2.0

This format can also be displayed by the Babylon Viewer (one-liner in the template).

@susanodd
Copy link
Collaborator Author

susanodd commented Sep 23, 2024

I think we need to install a converter, because the fbx is proprietary. Or add the glTF to the model. We shouldn't be using a proprietary file structure.

About

A command-line tool for the conversion of 3D model assets on the FBX file format to the glTF file format.

https://github.com/godotengine/FBX2glTF

This is a command line tool for converting 3D model assets on the well-established FBX format to glTF 2.0, a modern runtime asset delivery format.

https://www.npmjs.com/package/fbx2gltf

https://github.com/facebookincubator/FBX2glTF?tab=readme-ov-file#building-it-on-your-own

@rem0g
Copy link
Collaborator

rem0g commented Sep 23, 2024

That's not needed, we have GLB files already.

@susanodd
Copy link
Collaborator Author

I found this in the github code:

animations and meshes are now comming from npm fbx2gltf instead of cocos. This makes the mesh look a lot nicer, and there is no need to implement other tools such as cocos and gltftransform

J-Andersen-UvA/BabylonSignLab@a57ecea

@Woseseltops
Copy link
Collaborator

Hey @susanodd , this is an open pull request and my review is requested, but the comments suggest this feature is still being designed. To avoid confusion, and reviewing code that will later be deleted, would you agree to only create pull requests for features (or if it's really large, parts of features) that are ready from your point of view? Thanks :)

No need to delete this one, but I'll make it a draft. Feel free to 'undraft' whenever you feel it's ready!

@Woseseltops Woseseltops marked this pull request as draft September 26, 2024 14:37
@susanodd

This comment was marked as outdated.

@susanodd
Copy link
Collaborator Author

susanodd commented Oct 4, 2024

This branch has been removed from signbank-test temporarily.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants