Почему-то в xLoadMeshWithChild меш повернут на 90 градусов по оси X.
И скэйл не такой как в xLoadAnimMesh
Делаю так:
level_name:='Media\level001\level.fbx';
level_scale:=0.3;
level:=LoadAnimMeshl(level_name);
xScaleEntity(level,level_scale,level_scale,level_scale);
xPositionEntity(level,0,0,0,1);
level_mesh:=xLoadMeshWithChild(level_name);
(здесь функция в которой я хочу удалить некоторые чайлды. закоменчено)
xScaleMesh(level_mesh,level_scale,level_scale,level_scale);
xPositionMesh(level_mesh,0,0,0);
xMeshSingleSurface(level_mesh);
level_ssmesh:=level_mesh;
xPositionMesh(level_ssmesh,0,0,0);
level_body:=BodyCreateTriMesh(level_ssmesh);
level_ssmesh получается повернутым на 90 градусов по оси X. К то му же xMakeSingleSurface обрабатывает не все чайлды, а только первые 4 и кусочек(пару полигонов) 5-го.
Ну ладно, xMakeSingleSurface я заменил своей функцией которая обходит все чайлды и визуально видно что правильно.
level_name:='Media\level001\level.fbx';
level_scale:=0.3;
level:=LoadAnimMeshl(level_name);
xScaleEntity(level,level_scale,level_scale,level_scale);
xPositionEntity(level,0,0,0,1);
level_mesh:=xLoadMeshWithChild(level_name);
(здесь функция в которой я хочу удалить некоторые чайлды. закоменчено)
xScaleMesh(level_mesh,level_scale,level_scale,level_scale);
xPositionMesh(level_mesh,0,0,0);
level_ssmesh:=MakeSSMesh(level_mesh);
xPositionMesh(level_ssmesh,0,0,0);
level_body:=BodyCreateTriMesh(level_ssmesh);
Но проблема с повернутым мешем остается.
К тому же и в первом и во втором случае скэйл меша не совпадает со скейлом энтити.
Помогите пожалуйста.
ПС: для чего мне это нужно: В fbx я загружаю левел, в котором все ентити проименованы в зависимости от типа. Ентити отмеченные как статика-тримеш для физикса, динамика (с которой я разобрался) - тела для физикса, а все остальное визуальные энтити.
Экспорт делаю из 3Дс Макс 5.0