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

ASSIMP in the browser with ASSIMPJS and three.js #5177

Open
GitHubDragonFly opened this issue Jul 11, 2023 · 0 comments
Open

ASSIMP in the browser with ASSIMPJS and three.js #5177

GitHubDragonFly opened this issue Jul 11, 2023 · 0 comments
Labels
Feature-Request Global flag to mark feature requests

Comments

@GitHubDragonFly
Copy link

GitHubDragonFly commented Jul 11, 2023

Is your feature request related to a problem? Please describe.
This is not really a Feature Request but more of a showcasing ASSIMP / ASSIMPJS / three.js in the form of a browser 3D model viewer.

The ASSIMP Viewer quick notes, as they appear in my repository:

  • Using ASSIMPJS interface and ASSIMP library
  • This is a revamped version of my GLTF Viewer and is a sort of ASSIMP(JS) / three.js hybrid
  • Might have bugs and interface / library related limitations and slow to load some models
  • Has multiple export options available, with special notes about JSON formats:
    • Use JSON Viewer to see all models exported as JSON
    • Use JSON Legacy viewer to see all models exported as ASSJSON
    • Both JSON and ASSJSON exported files use the same .json extension
  • GLTF / GLB v2.0 and DRC models will be handled by three.js, as originally intended
  • All other formats, including GLTF / GLB v1.0, will be initially handled by ASSIMP(JS), converted to GLB2 and passed on to three.js
  • Supported formats: 3D, 3DS, 3MF, A3D, AC, AC3D, ACC, AMF, ASE, B3D, BLEND, BVH, COB, CSM, DAE, DRC, DXF, FBX, GLB, GLTF + BIN, HMP, IFC, IQM, IRR, IRRMESH, KMZ, LWO, LWS, LXO, M3D, MD2, MD3, MD5MESH, MDC, MDL, MESH, MS3D, NFF, NDO, OBJ + MTL, OFF, OGEX, PLY, PMX, Q3O, Q3S, RAW, SIB, SMD, STL, TER, X, X3D, XGL, XML, ZAE, ZGL
  • Unsupported formats: BSP, JT, M3, PK3, WRL
    • the viewer will allow you to select and load these files but they didn't work for me
  • When using the viewer's URL option remember that BIN and / or MTL file URLs need to be added alongside the model URL and comma separated, this would normally apply to GLTF and OBJ files, for example:
    • https://raw.githubusercontent.com/assimp/assimp/master/test/models/OBJ/spider.obj, https://raw.githubusercontent.com/assimp/assimp/master/test/models/OBJ/spider.mtl
  • The above also applies to MD2 models and their textures, for example:
    • https://raw.githubusercontent.com/assimp/assimp/master/test/models/MD2/faerie.md2, https://raw.githubusercontent.com/assimp/assimp/master/test/models/MD2/faerie2.bmp

There is also a mobile friendly ASSIMP Viewer which is just a stripped down and simplified version of the viewer mentioned above

Describe the solution you'd like
Those who can improve the current version should definitely consider cloning the repository

Describe alternatives you've considered
Not sure if there are currently any online alternatives using ASSIMP

Additional context

  • Local model files should be all in the same folder, probably the easiest solution would be to download the zip file of the ASSIMP repository and use model files in the Test folder
  • Remote access should support model URL only for most models and will try to fetch required textures, for example:
    • https://raw.githubusercontent.com/assimp/assimp/master/test/models/IQM/mrfixit.iqm
  • If textures are not automatically fetched with the model URL only then add the texture location URL, for example:
    • https://raw.githubusercontent.com/SaschaWillems/VulkanSponza/master/data/sponza.dae, https://raw.githubusercontent.com/SaschaWillems/VulkanSponza/master/data/sponza/

This topic can be closed at any time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature-Request Global flag to mark feature requests
Projects
None yet
Development

No branches or pull requests

1 participant