Tag Info

Hot answers tagged

29

Valkea's forum link is a good resource. Careful though as it may be slightly confusing as I think everything which comes from the POV of someone else's problem (and misunderstandings!) has the risk of being - Animation in Assimp is straightforward so don't let anything put you off! Disclaimer: I use AssimpNet which is a managed wrapper around Assimp, though ...


9

COLLADA was over-complex in my opinion. Suffered from the designers trying to make it handle every conceivable combination of 3D asset; e.g. every possible vertex/index format and configuration. Sounds great but in practice this placed a huge burden on any piece of software that needed to read the format. It didn't help that every supposedly compatible ...


8

I usually keep my own format internally, and a standardised format externally. The artist only sees the standard format and my engine can only load the optimized internal format. This way you won't have to have model loading code in engine, it can all be done in some nice high level language as a compile step. I usually use a existing build system that ...


5

These terms are not set in stone and every company and every piece of software may use them slightly differently. However, I believe that the most common meaning of "material" is just what you mentioned, i.e. an effect together with specific parameter values and textures to be bound to that effect, and applied to specific triangles or meshes of objects. ...


4

Mentioned many times on the topic of 3d model loading, AssImp is a very easy to use library that reads both .blend and COLLADA files as well as many other formats. You can use it to load models directly into your engine or use it as a conversion tool to convert to your own internal format. I think it would be a good library that suits your needs.


4

Concerning the tools, my experience is that the popular solution to access .dae files is collada-dom. It only parses the xml and give you access to the tree structure. Originally developped by Sony, it is now an open-source project (and the reference implementation). Recently, opencollada seems to get some attention, but I've never used it. It comes with ...


4

I was waiting for a more experienced answer, but as nobody seems to have anything to help you, I will give you the informations I found. Obviously there is a lack of documentation about Assimp animations and except if you dig into the Assimp code directly it seems that there is no available informations about this precise point. But I did found this forum ...


3

At least one case that this can happen is when you have multiple smoothing groups on an object. So a vertex can have as many normals as it has faces with different smoothing groups sharing it. http://wiki.polycount.com/SmoothingGroups


3

The Collada exporter in blender does not support what Collada calls "animation clips", so only the current animation will be exported. You have a few options I can think of: Fix the exporter (or convince someone to do it for you). Write a script that loops through the actions and exports a new file for each action. Use the NLA editor to create a track that ...


3

There are scripts available that do this. Though they may be a bit out of date. Perhaps not the simplest method, but you can write your own python script to export them. Using Blender scripting you can enumerate the objects in the scene and then enumerate through all the curves of a particular bezier curve.


3

You can look at the assimp docs here: http://assimp.sourceforge.net/lib_html/data.html and http://assimp.sourceforge.net/lib_html/structai_scene.html An asset loaded by assimp is assembled into several data structures. At the top there is the aiScene, which contains both a list of aiMesh mesh data, and an aiNode hierarchy for placing instances of the mesh ...


2

I know this topic is flagged as 'solved', but IMO you should look into FBX. Autodesk is using that format, and it's the exchange format of all the major 3D programs. So don't bother with Collada. It's bloated, unintuitive - and not backed by the major players. Which is Autodesk - they're are buying pretty much every 3D app out there. Autodesk FBX SDK: ...


2

I think COLLADA would/could be much more useful if it actually had a standard and open implementation for reading and writing the format, in addition to the fairly scary XML definition. Its power is also its failure - the ability to describe almost anything, and in a multitude of different ways, sounds great from the point of view of exporting but is a PITA ...


2

Have a look at the opencollada site. The SDK is licensed under MIT license and should get you a good start. If you are planning to make a game (and not just a viewer app), you should run the converter offline (during the build) and load your optimized model format during runtime. Parsing collada is inefficient and shipping collada files is just wasted ...


2

I started by comparing my values to the ones I read from Assimp (an open source model loader). Stepping through the code I looked at where they built their bind matrices and their inverse bind matrices. Eventually I ended up in SceneAnimator::GetBoneMatrices, which contains the following: // Bone matrices transform from mesh coordinates in bind pose to ...


2

Try this: import bpy myCurve = bpy.data.curves[0] # here your curve spline= myCurve.splines[0] # maybe you need a loop if more than 1 spline print("\n======================") for x in range(len(spline.bezier_points)): print("Point " + str(x) ,spline.bezier_points[x].co ,spline.bezier_points[x].handle_left ...


1

Are those textures projected? If so make unique, triangulate n-gons and then export. 3D Warehouse models typically acquire their textures from 2 sources. Google Street View and Google Earth. The textures are typical projected at the geometry so the UV coords are skewed because it is a viewed based mapping. When you mix projection with n-gons and then ...


1

Exporters are often very finicky. Try exporting nothing but a basic cube mesh. If that works, you know the issue is something within your mesh. Unfortunately, this part is hard to give a definitive answer on. Basically you have to go over your mesh and ensure there's no weird parts that could cause the exporter to crash. This could be disconnected vertices, ...


1

You have to extract the vertecie information. This data is containd inside the assimp model (i used an older version of assimp when i did this ) And from there you have to insert that data in to your buffer, to create a OpenGL buffer so you can use that one to draw the model. http://ogldev.atspace.co.uk/www/tutorial22/tutorial22.html Thats probably a ...


1

since i'm not using blender i can only guess :) but i think you would have to "bake" it into one single action, say you have the first animation from frame 1 to 10 and the second animation frame 20 to 30 or something and then define in the game engine where to start and stop! sebastian, xsheetgames


1

I see you are trying to parse a COLLADA file by hand. I was once as young and naive as you. Welcome to our shared hell. My COLLADA loader is 2837 lines long (one .cpp) and it doesn't even support half the spec. Before we continue, I simply must point you to this excellent resource loader: ASSIMP. It has a silly name, but it will load any COLLADA file ...


1

This is a common problem with many formats exported from modeling tools. It shows up in FBX as well. The simple truth is that you need to take the triangle list as master, unwind the individual indices, and construct a completely unindexed mesh. You can either leave it that way or recompute the indices by vertex deduplication. There's no way around this step ...


1

I don't think COLLADA makes for a good format to work with. The standard is too open and seems to be implemented differently across different software. So some features might not be readable by other software and vice-versa. Ideally you would have your working-assets in a proprietary format, eg. the one of the 3D modelling/animation package you're using. ...


1

A C# tool is your friend here - you can quickly write something using the .NET System.Xml framework which iterates over the input file, spots parts you don't like, and eliminates (or tweaks) them from the document before writing it back out again. Effectively that's what XSLT does, but in practice I've always found it to be easier to write C# code to ...



Only top voted, non community-wiki answers of a minimum length are eligible