Code Monkey home page Code Monkey logo

Comments (8)

crobi avatar crobi commented on July 3, 2024

Parts that are missing alltogether: your file uses <library_nodes>, which is not supported yet by the loader - I didn't expect this feature to be used. I'll open a separate issue for this (#17).

Materials looking "bad": I'll need to investigate this in detail. Do you have specific examples (in the file you posted)? One thing I see is the floor texture is rendered with "clamp" instead of "repeat" texture addressing mode. Not sure if this a problem with the COLLADA format, the sketchup exporter, your specific file, or this loader.
Possibly related: mrdoob/three.js#2569

from threejs-collada.

bcohen avatar bcohen commented on July 3, 2024

Thanks for the quick response.

Ahhh OK. I just grepped for "library_nodes" in my folder of meshes and almost all of the dae files that I pulled off of 3dwarehouse came up. This makes sense now. Thanks.

Materials looking bad: Yea, I was referring to the floor texture. I'll ask my teammates for more examples.

from threejs-collada.

bcohen avatar bcohen commented on July 3, 2024

My team is curious if there are plans to work on issue #17 in the near future? I'm asking because we are wondering if we should look into ways of getting around this by either searching for another parser, converting dae files with library_nodes to ones without or figuring out how to add the functionality to this parser.

Thanks again!

from threejs-collada.

crobi avatar crobi commented on July 3, 2024

I had a quick look at how difficult #17 would be to implement. It's doable, but a proper implementation would take more time than I have in the near future. Please see the corresponding issue for details.

As much as I'd love to see this loader being used, here's a couple of thoughts:

  • COLLADA is a very complex format for content exchange between modelling tools and generally not suitable as a runtime format.
  • In addition to its complexity, the COLLADA specification is not very precise and every modelling tool uses a different subset of the format. I don't expect it will work flawlessly across different tools any time soon.
  • While this loader seems to work better than the built-in three.js COLLADA loader, there will always be bugs and features not implemented, and I won't always be able to provide proffessional support.
  • COLLADA as a runtime format is therefore good for rapid prototyping, but if you use it for assets of a commercial grade application, I would consider using the native three.js json format (exporters for blender and 3ds max available) or glTF.
  • These runtime formats are usually slightly smaller and load orders of magnitude faster than COLLADA.
  • The disadvantage of these runtime formats is that they add additional tools to your toolchain, and thus more work for your users.

from threejs-collada.

crobi avatar crobi commented on July 3, 2024

About the texture repeat problem: WebGL only supports the repeat wrapping mode for power-of-two textures. Your ground texture is 401x401. You'll need to resize it to 256x256 or 512x512 to get the desired effect. Three.js silently overrides the wrapping mode to clamp to edge if the texture is not power-of-two.

from threejs-collada.

bcohen avatar bcohen commented on July 3, 2024

Thanks a lot for the quick and detailed response.

couple of thoughts:
We are sad to hear it but understand completely. I don't have an opinion on the COLLADA file format being used at runtime....on my project, we just load them in at startup and that's it for the session....it may not be optimal but it's been working. Sadly, our community relies heavily on COLLADA files so I think we will need to find another solution. If you hear of anything, please post it here :). We will look into the json format or gitf formats out there too.

texture repeat problem:
Thanks a lot for the insight. This is a very doable fix for us.

thanks again. 👍

from threejs-collada.

bcohen avatar bcohen commented on July 3, 2024

For people who are using collada files created in SketchUp:

If you want to get around this issue ("library nodes" are ignored), then just ungroup all of the components of your mesh before exporting to Collada. From recent experience, it seems like if all of the components are completely ungrouped - then no "library nodes" are created. Highlight everything, click ungroup and export to collada.....now it should the file should be loaded correctly by this loader.

from threejs-collada.

crobi avatar crobi commented on July 3, 2024

The soruce of the problems described here is discussed in #17

from threejs-collada.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.