Показать сообщение отдельно
Старый 16.03.2011, 11:10   #1
radiantstudio
Оператор ЭВМ
 
Регистрация: 14.08.2006
Сообщений: 39
Написано 2 полезных сообщений
(для 2 пользователей)
Как в 3ds моделе определить положение объекта

Намоделил в Rhinoceros уровень. Экспортнул его в 3ds формат.
Нахожу всех детей и если имя LAMPA то пытаюсь поставить в его позицию сферу.
Загружаю так:
result:=xLoadAnimMesh(path);
  For i:=0 To xCountChildren(result)do
    begin
      node:=xGetChild(result,i);
      if node<>0
        then
          begin
            node_name:=Copy(xEntityName(node),0,5);
            writeln(node_name);
            if node_name='FLOOR'
              then
                begin
                   //..............................
                end;
            if node_name='LAMPA'
              then
                begin
                  xEntityAlpha(node,0.5);
                  tmp_spr:=xCreateSphere();
                  xEntityColor(tmp_spr,255,0,0);
                  xScaleEntity(tmp_spr,1,1,1);
                  xPositionEntity(tmp_spr,xEntityX(node,1),xEntityY(node,1),xEntityZ(node,1),1);
                end;
          end;
    end;
end;
Детей находит правильно, но xEntityX(node,1),xEntityY(node,1),xEntityZ(node,1) всегда возвращают нули. Тоесть не получается заменить node на другой объект с сохранением позиции.
Я что то делаю неправильно?
пробовал и так: xEntityX(node,0),xEntityY(node,0),xEntityZ(node,0)

Последний раз редактировалось radiantstudio, 16.03.2011 в 14:31.
(Offline)
 
Ответить с цитированием