2010-05-01ãã1ã¶æéã®è¨äºä¸è¦§
ã¨ããããå®æã æ¬å®¶ã®åºæ¬ã¢ãã«ãimportãã¦ããexportãããã»ã¼ãã ãããåãç¶æ ã«ã§ããããã«ãªã£ã(200kãããå¢ããã®ã§æªããã)ãå®ç¨çã«ããã«ã¯ããä¸æ¯å¿ è¦ãªæ°ããããã¨ããããæ´æ°ã http://sourceforge.jp/projects/meshio/wiki/Fronâ¦
å°ãåé²ãã¦è¡¨ç¤ºæ é¢é£ãçµãã£ãããã¨ãè±èªåé¢é£ã¨ãã¥ã¼ã³è¨å®é¨åããã£ããä¸éãçµãã(åä½é¢é£ä»¥å¤)ã ã ããã¾ã Materialã®äºææ§ã¨IKãããããã®ã¨é ç¹ã®å±æ§ã«ããåé¢ãæªè§£æ±ºã§æ®ã£ã¦ãããçµããããªã¼ã
shape keyã®åé¡ãã ããã解決ãè¤æ°ã®ä¸è§å½¢ã«å ±æãããé ç¹ã§ä¸è§å½¢ã®åæ°åæ°ã¢ã¼ãã£ã³ã°ç§»åãããã¹ããã¦ããã®ãä¿®æ£ããã ä»åé¡ã«ãªã£ã¦ããã®ã¯ãåã«ãééããBlenderã¨pmdã®é ç¹ã®æ±ãã®éãã«é¢ããé¨åãBlenderã§ã¯ãé¢ã«ä»å±ããæ³ç·ãâ¦
ãã¼ã³ãIKå¨ããæ¸ãã ã®ã§è¡¨æ ã®ä½æ¥ã«ã¨ãããã£ãã æå¤ã¨é£èªãã¦ããã blenderã¸ã®ã¤ã³ãã¼ãæã«ä½æ ãç®ã®åã(ã¦ã¤ã³ã¯ã¨ã)ã ãåããªããªã£ã¦ããã®ã«æ°ä»ããããè¬ã ãã¤ã³ãã¼ã¿ããä¸åº¦è¦ç´ãå¿ è¦ããããªã¼ããã¨ãã¨ã¯ã¹ãã¼ãæã«ã¯ã³ã¹â¦
æ«ç«¯ãã¼ã³(xxxå ã«å½ãããã¼ã³)ã¨IKãéä¸ã¾ã§é²ããã http://sourceforge.jp/projects/meshio/wiki/FrontPage ç¾ç¶ã ã¨ãIKæ¥ç¶å ãã¼ã³ãã¤ã³ãã¼ãæã«ç¡ããã¦ããã®ã§ã¨ã¯ã¹ãã¼ãæã«å¾©æ´»ãããå¿ è¦ãããã復活ããããããã¤ã³ãã¼ãæã«æ®ããæ¹â¦
pmdã¨ã¯ã¹ãã¼ãã®ååãä½æãé ç¹ãé¢ããããªã¢ã«ããã¼ã³ã¾ã§ã http://sourceforge.jp/projects/meshio/wiki/FrontPage (ã¾ã ãIKã表æ ãã®ä»è«¸ã ãæªå®è£ ã§ã) éä¸swigã®std::vectorã«é ç¹æ å ±ãå å¡«ããã¨ããã§ç½ ã«ã¯ã¾ã£ã件ã«ã¤ãã¦ã std::vectâ¦
äºå®éãã¨ã¯ã¹ãã¼ã¿ä½æ¥ãéå§ãããæ¢åã®c++ã§ã®mqoã¨pmdèªã¿è¾¼ã¿æ©è½ã«ãã®ã¾ã¾æ¸ãæ»ãæ©è½ã追å ãã¦åä½ã確èªããããã¼ãããã»ã¼ãã®æ¹ãç°¡åãªã®ã§ç¹ã«åé¡ãªãã 次ã«blender2.4ã®æ¹ã®mqoã¨ã¯ã¹ãã¼ã¿ããªãã¡ã¯ã¿ãªã³ã°ãããæåã¯c++ã®ã©ã¤â¦
ã¢ã¼ã·ã§ã³ã®ã¤ã³ãã¼ãã¯ãio/import_anim_bvh.pyãåèã«ã§ããã®ã§ç°¡åãã¨æã£ããæãã¬ã¨ããã§é£èªã mathutilsã®Quaternionã®ã³ã³ã¹ãã©ã¯ã¿å¼æ°ã§ã¯ã¾ãã (float, float, float), floatã«å¯¾ãã¦(x, y, z), wã渡ãã¦ãã¾ããããªãã®ã«æ©ããããâ¦
shapeKeyã®ã¤ã³ãã¼ãã¯ãå æ¥çºè¦ãã¦ãã http://www.daniel3d.com/pepeland/misc/3dstuff/blender/anisculpt/add_AniSculpt.py ã®ã½ã¼ã¹ãåèã«ãã¦æ¯è¼çç°¡åã«ã§ããã ã¨ããããgitã¯æ´æ°ãããalpha2ã§ã¯mathutilsãç¡ãï¼ãªã©ã®åé¡ãããã®ã§ãã¤â¦
python bindingã®windowsãã«ãã®ä½è£ãæ´ã£ãã®ã§ã¢ããã¾ããã http://sourceforge.jp/projects/meshio/wiki/FrontPageWindows xpä¸ã®blender2.49bã§åä½ç¢ºèªãã¦ããã¾ããmeshio-0.1.win32-py2.6.exeã®ä¸ã«blender2.4åãã®mqo, pmd, vmdã¤ã³ãã¼ã¿ãåâ¦
vcã§pythonã¨ã¯ã¹ãã³ã·ã§ã³ããã«ãããã¨ãã«ã¹ã¿ãã£ãã¯Cã©ã³ã¿ã¤ã ãé¸æ(cl.exeã®ãªãã·ã§ã³/MT)ãã¦ãããã§ã¹ãç¡ç¨ã®æ¹æ³ã模索ããããããªãªãã·ã§ã³ã¯ç¡ãã¿ããã ã distutilsã¯å é¨ã§ã¯setupã®ã³ã¼ã«ä»¥éã ããã以ä¸ã®ããã«å¼ã³åºããã disâ¦
ããããpmdã¤ã³ãã¼ã¿ã§ã¡ãã·ã¥ãshape keyãArmatureã®èªã¿è¾¼ã¿ã¾ã§ãã§ãããblender2.5åãã®ã¹ã¯ãªããæ å ±ãä¸è¶³ãã¦ãã¦ä¸é¨é£èªããããªãã¨ããªã£ããå¤ã«ä»ãã¼ã¸ã§ã³ãæ´çãã¦ã¢ãããã¼ãããäºå®ã ç¹ã«é ç¹é¸æãããªãã¬ã¼ã·ã§ã³(ä¸è¦é ç¹â¦
Blender2.5åãã®ã¹ã¯ãªããæ å ±ã 主㫠http://wiki.blender.org/index.php/Doc:2.5/Manual/Extensions/Python ãã辿ããã¨ããã Scripting examples http://blenderartists.org/forum/showthread.php?t=164765 Blending Into Python/2.5 quickstart Contâ¦
2.4ç³»ã¨äºææ§ãç¡ãã®ã§ãã¼ã¸ã§ã³ã¢ãããããªãã¦ç§»æ¤ã python2ãpython3ã«ãªã£ããã¨ã§ããããå¤ããªãã¨ãããã ææ³çã«å¿ è¦ã ã£ãå¤æ´ã¯ã printæãprinté¢æ°ã«ãªã£ã exceptã®æ¸ãæ¹ãå¤ãã£ã(as) xrangeãç¡ããªã£ã ãããã ã£ãããstrãpytâ¦
python2ãã3㧠unicode -> str str -> bytesã«å¤ãã£ã¦swigã§ã®std::stringã®ä¸èº«ãutf-8決ãæã¡ã«ãªã£ã¦ããã http://docs.python.org/py3k/c-api/unicode.htmlswigã®hoge_wrap.cpp #if PY_VERSION_HEX >= 0x03000000 return PyUnicode_FromStringAndSizâ¦
python2åãã¨åãæé ã§æºåãã¦setup.pyãpython3ã§å®è¡ããã ãã python2ã¨pytnon3ã®ä¸¡æ¹ã«ãã¹ãéãã¦python3ã®python.exeãpython3.exeã«ãªãã¼ã ãã¦ãããã $ python3 setup.py build ããã§blender2.5åãã«ä½¿ããã python3åãã«ããã®ã«-py3ã¨â¦
vertices.h #include <vector> struct Vertex { float x; float y; float z; }; struct Container { std::vector<Vertex> vertices; }; ã«å¯¾ãã¦swigã¤ã³ã¿ã¼ãã§ã¼ã¹ vertices.i %module vertices %{ #include "vertices.h" %} %include "vertices.h" %include "std_vector.</vertex></vector>â¦
alpha2ã ãã æ¥æ¬èªãå ¥ã£ã¦ãããã¹ã ã¨æååãããã®ã¿ãªããã¨ã©ã¼ãåºã¦åä½ããªãã£ã½ãã UnicodeDecodeError: 'utf8' codec can't decode byte 0x90 in position 24: unexpected code byteããã¯ãã¶ããpython3ã®strãutf-8ãä»®å®ãã¦ããã®ã«ãã¡â¦
å ã¨ãªãc++ã®ã½ã¼ã¹ãæ¹é ããã«swigã¯ã©ã¹ã®ã¿ã«ã¡ã½ããã追å ããã ããã¤ãæ¹æ³ãããã c++ã§è¿½å ãã http://blog.ssktkr.com/swig-jp/_/Python.html#n43 pythonã§è¿½å ãã http://old.nabble.com/Python:-Adding-Pure-Python-Methods-to-Shadow-Claâ¦
ããªã´ã³èªã¿è¾¼ã¿ã©ã¤ãã©ãªã®swigã使ã£ãpythonãã¤ã³ãã£ã³ã°å®é¨ãå®äºããã ããã使ã£ã¦Blenderã®mqo, pmd, vmdã®ã¤ã³ãã¼ã¿ã®ãã¼ã¿èªã¿åãé¨åãç½®ãæãã¦ã®åä½ã確èªã§ããã®ã§ãä»åã¯äºå®éãswigãæ¡ç¨ãããã¨ã«ããã使ã£ã¦ã¿ã¦æ°ä»ãããâ¦
R6034ãåºã¦é æ«ä¸ã Blenderã®ãã«ãã«ä½¿ã£ãpython26.dllã®manifestã¨swigã§ä½ã£ãã¨ã¯ã¹ãã³ã·ã§ã³ã®manifestãåã£ã¦ããªãã£ã½ãï¼ãã®éãåãè¾¼ãã manifestãåãåºãã¦ã©ããããããã調ã¹ãããããã«ãªãããã¨ããã ãã©ããè¯ãå¤ããã nmakeâ¦
distutilsã使ã£ãã¢ã¸ã¥ã¼ã«ã®ä½ãæ¹ã http://www.python.jp/doc/2.5/dist/dist.html pythonã®cã¢ã¸ã¥ã¼ã«ã¯ã¨ã¯ã¹ãã³ã·ã§ã³ã¨å¼ã¶ãããã distutilsã®ã¨ã¯ã¹ãã³ã·ã§ã³ http://docs.python.org/distutils/apiref.html#distutils.core.Extension
ã¨ããããpython2ããã VC9ExpressEditionã§æ¬å®¶ã®cpythonãã¼ã¸ã§ã³2.6åãã®ã¢ã¸ã¥ã¼ã«ããã«ãããã¡ã¢ãswigã¯æåcygwinã®ãã®ã使ã£ããããã¼ã¸ã§ã³ã1.3.38ã¨ã¡ãã£ã¨å¤ãã£ãã®ã§swigã®ãµã¤ãã§windowsåããã«ã(1.3.40)ãè½ã¨ãã¦ãããã¤ãã§â¦
ãã£ãããªã®ã§swigã使ã£ã¦ã¿ããã¨ã«ããã ruby(1.8.x, 1.9.x)ã¨python(2.x, 3.x)ã§ãã£ã¦ã¿ãäºå®ã ã¡ã¢ ããã¥ã¢ã« http://www.swig.org/Doc1.3/Sections.html http://blog.ssktkr.com/swig-jp/_/ http://www.cozmixng.org/~rwiki/?cmd=view;name=SWIGâ¦