Model scaling issues with C4D

Hi, I’m hoping someone can help with this. I’m having issues where models made in C4D (exported to .3ds format and then converted via Chicken into .eggs) are not scaled as I expect them to be.

For example, I have 2 cubes, one 100 units and the other 10,000 units and when loaded into Panda the models are the same size. In the Egg files the vertex data is identical but the matrix transform data differs (appears to be the correct inverse transform matrix required to shift the points to their appropriate values). As I understand it when Panda loads a model it uses the raw point data only and ignores the transform matrix information.

  1. Is that transform matrix data carried over into the loaded model and used for anything?

  2. Is there a way retrieve and apply the Matrix section of the egg in order to correct the scale of my models?

The matrix you see in the egg file is respected, but the vertices in the egg file are understood to be in global space. That is to say, the vertex numbers appearing in the egg file are the vertex positions after the matrix has already been applied. This is why changing the matrix in the egg file has no effect on the actual position or size of the model.

If you want the model to be bigger, it will need to have bigger vertices. If it doesn’t end up with bigger vertices when you make the model bigger in your modeling engine, then it must be a bug in the converter.

Note that egg does provide an syntax which changes the meaning of the vertices from global space to local space, but normally the converter should be written to output global space properly.

David