Comments (8)
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.
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.
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.
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.
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.
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.
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.
The soruce of the problems described here is discussed in #17
from threejs-collada.
Related Issues (16)
- Backgroud loading of COLLADA files HOT 3
- Improve the loader performance HOT 4
- Alternative to the COLLADA loader HOT 1
- Collada loading with colladaLoader2.js HOT 2
- Use BufferGeometry HOT 2
- Implement SkinnedMesh output HOT 1
- Closure compiler HOT 3
- Really great work!
- Simple use example HOT 1
- Convert to json for three.js HOT 2
- Implement library_nodes HOT 1
- Use Git releases
- Can't load skeleton animation files from Cheetah3D HOT 2
- Respect the up axis setting HOT 3
- Find a new maintainer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from threejs-collada.