Solved Tangent space, point clouds and multi UV materials


We are currently working on a plugin to import glTF models from our platform into Cinema4D (using Python on C4D R20 Windows at the moment) and there are some details that we are still missing.

For the following points, we are not sure if it's even possible in Cinema4D or with the current python API, but if it's the case, we are interested by any reference or example you might have:

  1. Setting tangents space data into a PolygonObject

There is a TangentTag available but I didn't find any example or detail about how the data is structured, and also if this tag's purpose is actually to store tangent space data for normal mapping.
Also, I get an error popup mentionning "Tag 5617 not in sync" when I add it to an object.
(I read a bit about ddu and ddv properties in BaseShader but it doesn't seem to be the way to go)

  1. Creating a Point cloud object from script

A PointObject class is available but the API doesn't allow any instanciation of such object. Some existing scripts seem to create point cloud from Polygon objects but it's not clear if it's actually possible and also if it's the right way to go.

  1. Multi UVS support in a single material

Some of our models are using several layers of UVs data for a given material, where for example the Diffuse texture uses UV0 and AO uses UV1 (which covers the whole scene with a single texture). Is it actually possible in Cinema4D ?
I was thinking about using layered materials to achieve this but even if it gives the right result, it would need material duplication and it's not really something we want to do.

Anything about any of these topics will be a great help, thanks a lot for your time.


maybe it would make sense to create a single thread for each question. This makes it easier to have a separate discussion on each topic.

There is no point cloud data in Cinema 4D. But to store arbitrary space positions (or matrices with colors) one can use the multi instance object. See c4d.InstanceObject and InstanceObject Manual.

best wishes,

Hi Aurelein!

Great to see the importer is happening.

Just thought this old blog post of mine might help you.