LINUX.ORG.RU

Python && Free 3D Engine


0

0

Привет всем. Выбрал недавно для написания одного проекта OGRE, и соответственно python-ogre.
Однако после долгих попыток собрать враппер покраснели глаза, и появилась неописуемая тоска. В связи с чем хочу спросить у общественности какие 3д движки можно использовать с питоном?.
_Желательно_ чтобы он был свободный и открытый.
Soya3D - мертва, функционала не хватает.
Panda3D - непонравилась by design.
Irrlicht - с врапперами к питону у них откровенные косяки судя по отзывам и форуму, или нет?.
Чего еще есть что я мог не заметить на просторах сети?.


SWIG в руки и делать питоновый байндинг для Irrlicht. Сам делаю для CL в свободное время.

anonymous
()
Ответ на: комментарий от anonymous

>SWIG в руки и делать питоновый байндинг для Irrlicht. Сам делаю для CL в свободное время.
Видимо этим все и кончится, если CS покажется слишком монструозным).

nnkd
() автор топика

Тоже хотелось бы python/ruby, но остановился на OGRE без биндингов + boost. После не типизированных языков немного спасает boost::any (или мне так сейчас кажется). handleEvent у меня выглядит примерно так:

void
MovableEntity::handleEvent(const String& event, const boost::any& arg)
{
if (event == "move")
move(anyToVector3(arg));
else
GameEntity::handleEvent(event, arg);
}

В принципе, или как мне бы хотелось, можно все делать через handleEvent. И к этому уже написать обертку для ruby/python.

Тогда (ruby код) можно было бы делать вещи типа:

game_entity.speed_max = 10.mph
game_entity.move_with_path_finding(100.0, 0.0, 100.0)

А у GameEntity был бы обработчик method_missing (незнаю к в python, в ruby когда у объекта нет метода M, вызывается method_missing(M, *args) этого объекта), который передавал бы название метода и аргументы методу handleEvent.

Тоесть, теоретически тебе не нужен полный ogre wrapper. А ray querying, физику можно написать на C.

Тут только надо хорошо компонентную модель и event handling продумать.

halflife ★★
()

Irrlicht.NET + Python.NET?

eXOR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.