суббота, 27 февраля 2010 г.

Blender и COLLADA вместе весейлей, вливайся

Давно я не работал с блендером, а так как версия 2.5 уже в состоянии альфа версии, то желания возвращаться к версии 2.49 у меня небыло. Новая версия имеет очень большие отличия от старой. И так скачал я последний билд с сайта www.graphicall.org. Так как конвертирование в целевой формат лежит черзе COLLADA, то решил проверить работоспособность экспорта модели. Но как оказалось экспортер, что то делает с отрицательными значениями координат и всю модель просто плющит в положительную часть системы координат.
Написал я в багтретинг, ответ получил через день. Написали, что баг пофикшен, просто в билде для MAC OS не обновлено. Скачал более новый билд и ООооооо .... экспорта в формат COLLADA там вообще нету.
В итоге решил сам скачать исходники и сделать свой билд c экспортом в COLLADA.
Немного ранее я уже хотел сам сбилдить блендер, но не нашел нормального описания как это сделать.
Сейчас же как оказалось на сайте www.blender.org есть хорошее описание данного процесса.
Краткое русское руководство бо сборке Blender под Mac OS:

1) Создаем рабочую папку для блендера иr скачиваем исходники из SVN

> cd~
> mkdir blender
> svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender


2) Так же для сборки нам понадобится внешние библиотеки
В моем случае это универсальные библиотеки, подходящие как под PPC так и под intel 32/64 Mac OS 10.5 или выше
И так создаем папку lib и скачиваем либлиотеки с SVN

> mkdir lib
> cd lib
> svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/darwin-9.x.universal

для других платформ можно выбрать и другие версии библиотек:
https://svn.blender.org/svnroot/bf-blender/trunk/darwin-6.1-powerpc/
https://svn.blender.org/svnroot/bf-blender/trunk/darwin-8.0.0-powerpc/
https://svn.blender.org/svnroot/bf-blender/trunk/darwin-8.x.i386/
https://svn.blender.org/svnroot/bf-blender/trunk/darwin-9.x.universal/
https://svn.blender.org/svnroot/bf-blender/trunk/irix-6.5-mips/
https://svn.blender.org/svnroot/bf-blender/trunk/linux-glibc2.2.5-i386/
https://svn.blender.org/svnroot/bf-blender/trunk/linux-glibc2.3.1-i386/
https://svn.blender.org/svnroot/bf-blender/trunk/linux-glibc2.3.1-powerpc/
https://svn.blender.org/svnroot/bf-blender/trunk/solaris-2.10-x86_64/
https://svn.blender.org/svnroot/bf-blender/trunk/solaris-2.8-sparc/
https://svn.blender.org/svnroot/bf-blender/trunk/tests/
https://svn.blender.org/svnroot/bf-blender/trunk/win64/
https://svn.blender.org/svnroot/bf-blender/trunk/windows/


3) Так же вам может понадобиться запустить команду runlib для обновления библиотек (как это работает я не очень понял, но хуже от этого не будет), что бы запустить команду для всех библиотек сохраните и запустите вот этот Python скрипт:


#!/usr/bin/python

# runranlib.py

import os

base = './lib/darwin-8.x.i386/'
paths = os.listdir(base)

print ""

libsToMod = []

for p in paths:
# special case
if p == "python":
continue

if p[0] != '.':
try:
libs = os.listdir(base + p + "/lib/")
except:
continue

for l in libs:
if l[0] != '.':
libsToMod.append(p + "/lib/" + l)

libsToMod.append("python/lib/python3.1/libpython3.1.a")

for l in libsToMod:
print("Fixing: %s..." % l)
os.system('ranlib %s%s' % (base, l))

print("... done.\n")


Есть несколько способов собрать Blender, при помощи CMake, make и scons
Я использовал scons поэтому опишу только данный метод:

4) Скопируем файл настройки сборки в корень и переименуем в darwin-config.py

> cd ~/blender-svn/blender
> cp config/darwin-config.py user-config.py

есть несколько файлов для различных платформ.

5) Установим в файле настроек целевую платформу :
MACOSX_ARCHITECTURE = 'x86_64' # valid archs: ppc, i386, ppc64, x86_64

У меня по умолчанию небыл включен экспорт в COLLADA, для его включения требуется заменить
WITH_BF_COLLADA =False на WITH_BF_COLLADA =True

6) Что бы начать сборку запустите скрипт

> python scons/scons.py -j 2


Результат будет находиться по адресу:

blender/build/darwin/bin/blender.app




Напоследок, как оказалось класс Camera экспортируется не правильно, в исходных кодах захардкоджены некоторые значения , а именно FOV
установки нормальных значений сделайте следующие изменения в файле
Blender/Blender/source/blender/collada/DocumentExporter.cpp

строка 1737 > persp.setXFov(1.0); заменить на persp.setXFov(cam->angle);

Казаки от GSC-games

Собственно делать было нечего, залез на сатй GSC-games и тыкнул по иконке казаков, одна из лучших стратегий, вышадшая в 2000 году. Но как оказалось домен www.cossacks.com выставлен на продажу, неужели GSC "забили" на второй по значимости (после S.T.A.L.K.E.R.) тайтл, именно благодаря ему многие узнали об этой компании. Интересно только неужели GSC до сих пор не знаю что у них нету уже этого домена или они сами его продают ?
Seller's Listing Price: 2,000 EUR