Model pivot problem


#1

Hi,

I created an animation in 3dsMax and imported in playcanvas editor. The pivot of the object is not same as that in 3dsMax. The pivot has shifted. I face difficulty in transforming the object. Any help in this regard is appreciated.

Thanks.

P.S.: With pivot at origin, results are correct.


#2

Pivot is an origin of the scene is 3D’s Max.

I’m not sure, but it might be that if you select model, and do “export selected” or something like that, then it might use origin of selected model. If you could verify that, will be good to know.


#3

Yes Max. I am doing the same, however in playcanvas, the model is not taking the same pivot position as that in 3dsMax.


#4

It always takes origin of scene, right?


#5

Yes, model always takes origin of the scene as pivot in PlayCanvas.

(Note: The above creates lot of difficulty in transforming mesh instances.)


#6

We have a ticket in our backlog to allow setting offset on model component.
Although it is common when artists simply move model to origin just before exporting.

When model is converted from FBX to our format we use root node of FBX which is origin of scene, and then all inner nodes (meshes) positions are localised to that point. That is pretty much how FBX works and we don’t change that behaviour.


#7

However, I want to individually rotate/scale the meshInstance(imported via FBX) with respect to its local center/pivot and not the scene center. How do I implement this?


#8

You can use findByName to get your nodes of a model, and manipulate them using code.
Or export individual nodes as separate FBX files positioned at origin before export, and manipulate them as separate entities in Editor.

We have a backlog ticket to expose model nodes in hierarchy in Editor, but that is a big job and there is no ETA on it.


#9

Thanks Max. Appreciate your help.


#10

Hi max, has there been any movement on this feature? I’m working on a scene with over 100 different models that I’ve positioned in 3D Studio MAX, and I’d really rather not have to move each one to zero, re-export, then re-position back in PlayCanvas if I don’t have to. :slight_smile: