версия Python для Maya и других 3D-приложений - PullRequest
3 голосов
/ 05 октября 2010

У меня есть пара небольших проектов, которые я хочу использовать для изучения Python.Какую версию мне следует использовать, если я хочу перейти к написанию сценариев для Maya, Blender и т. Д. Позже?Кроме того, какие ресурсы есть для написания сценариев для этих программ?

Ответы [ 3 ]

5 голосов
/ 05 октября 2010

Если вы используете Maya 2011, он уже поставляется в комплекте с py 2.6.4. Вам больше не нужна отдельная установка, даже для pyMEL.

Если вы хотите изучать Python самостоятельно, прежде чем применять знания в 3D-приложении, то практически любой 2.x Python действительно сделает это, функции, специфичные для версии, вступят в действие только через некоторое время, если вы в вашем распоряжении. первые шаги. 2.6.4 хотя, конечно, будет хорошим выбором, поскольку он будет выровнен с тем, что вы могли бы использовать в Maya и Softimage прямо из ворот.

Пока держитесь подальше от py3k, так как принятие в нашей области, кажется, еще далеко.

Что касается ресурсов, для Python и Maya вместе, почти ничего, но большая часть ориентированного на программирование материала, который я видел, опубликована в той части, с лишь несколькими заметными исключениями, такими как материал Гулда, обычно между восторженным и простым любительским .

Вам лучше с приличной книгой начального уровня, которая не предполагает, что читатель пускает слюни идиота (я все еще высоко ценю изучение Python О'Рейли), такие сайты, как StackOverflow для идиоматических вопросов, и много практики и просматривая, чтобы установить необходимую умственную связь и немного потренироваться, когда дело доходит до специфики скриптового API Maya.

Ранний взгляд на pyMEL, поскольку он теперь в комплекте, тоже не помешает. Старые команды maya по умолчанию и модули типа mel wrapper по-настоящему ужасны и настолько далеки от Pythonic, насколько они могут их создать. pyMEL, хотя и не на 100%, имеет более сильную объектную ориентацию и не читается так, как будто большая часть обезьян внезапно оказалась на пишущих машинках.

2 голосов
/ 14 января 2011

Я скажу, что нет большой разницы для версии Python. Как и другие упомянутые, ThE_JacO не участвует в популярных 3D-приложениях. Maya, Pixar RenderMan, Houdini, Blender, Realflow ... имеют привязку Python 2.x. Для Python 2.4, 2.5 и 2.6 существует редкая разница в интерфейсах функций. Вы можете просто проигнорировать эту проблему.

В нашей студии мы пишем скрипты Python для работы в 2.4, 2.5 и 2.6, потому что мы используем разные версии 3D-приложений в разных анимационных проектах. Некоторые фрагменты кода нуждаются в модуляции, чтобы все это работало хорошо, но это действительно незначительные проблемы.

2 голосов
/ 05 октября 2010

Согласно этой записи , Maya 2011 использует Python 2.6.4. Конечно, более ранние версии Maya вполне могут использовать более ранние версии Python, и наоборот (вероятно ;-) для более поздних версий Maya (которые еще не существуют AFAIK; -).

Эта страница (которую я сейчас не могу прочитать, может быть, blender.org не работает) показывает, что Blender 2.49b для Windows был построен с Python 2.6, для Linux, Irix и Solaris нет скажем, для MacOSX для PowerPC требуется Python 2.3, для MacOSX для intel 2.3 или 2.5.

Если вы хотите попробовать бета-версию Blender 2.5.4, см. текст ссылки - хотя упоминаний о версиях Python нет.

"etc" - это не название какого-либо "3d-приложения", о котором я когда-либо слышал.

IOW, ответ будет зависеть от того, какую версию (ы) какой 3d программы вы хотите использовать! Python 2.5 довольно надежно гарантирован для сравнительно недавних Maya и Blender (за исключением того, что для Blender 2.49b на MacOSC только для PowerPC вы ограничены Python 2.3); более поздние версии Python 2 стремятся оставаться высоко совместимыми с более ранними, поэтому даже если вы работаете в 3D-приложении, скажем, на Python 2.6, при условии, что вы знаете, как использовать Python 2.5 и придерживаться этого, вы все равно должны хорошо (но не наоборот) - если вы знаете, как использовать Python 2.6, у вас могут возникнуть проблемы, когда вам нужно что-то сделать в версии 2.5 или более ранней; -).

...