blender/3delight¤Î¥¤¥ó¥¹¥È¡¼¥ëÊýË¡
¢£Windows Vista ¤Þ¤¿¤ÏWindows 7 64bit¤Î¾ì¹ç
°Ê²¼¤ò½çÈ֤˥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡3delight¤Î¥¤¥ó¥¹¥È¡¼¥ë
http://www.3delight.com/en/index.php?page=3DSP_download
3delight-10.0.4-setup-x64.exe¤ò¥À¥¦¥ó¥í¡¼¥É
¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
¢blender¤Î¥¤¥ó¥¹¥È¡¼¥ë
http://download.blender.org/release/
blender-2.59-release-windows64.exe¤ò¥À¥¦¥ó¥í¡¼¥É
¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£
£3Delight/Blender¤Î¥¤¥ó¥¹¥È¡¼¥ë
An external render engine exporter for Blender 2.5
http://mattebb.com/3delightblender/
render_3delight_0.7.0.zip¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢²òÅष¤Þ¤¹¡£
¤ÀßÄê
(1) C:\Program Files\Blender Foundation\Blender\2.59\scripts\addons¤Ë
render_3delight¥Õ¥©¥ë¥À¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£
(2) blender¤òµ¯Æ°¤·¤Þ¤¹¡£¥á¥Ë¥å¡¼File¤«¤éUser Preferences¤ÎAddons tab¤ò¥¯¥ê¥Ã¥¯¤·¡¢º¸Categories¤«¤éRender¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
(3) Render:Render:3Delight¤ò¸«¤Ä¤±¡¢±¦Ã¼¤Î¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤Ë¥ìÅÀ¤òÆþ¤ì¤Þ¤¹¡£
(4) ¡ÖSave As Default¡×¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£
¥PointClouds¤ÎÀßÄê
(1) C:\Program Files\Blender Foundation\Blender\2.59\scripts\addons\render_3delight\shaders¥Õ¥©¥ë¥À¤Ë¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤ò¥³¥Ô¡¼¤·¤Þ¤¹¡£
(2) shaders¥Õ¥©¥ë¥À¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤ò±¦¥¯¥ê¥Ã¥¯¤·¤Æ¥×¥í¥Ñ¥Æ¥£¤ò³«¤¡¢¡Öºî¶È¥Õ¥©¥ë¥À¡×¥Ñ¥¹¤ò¾Ã¤·¤Æ¶õÍó¤Ë¤·OK¤ò²¡¤·¤Þ¤¹¡£
(3) shaders¥Õ¥©¥ë¥À¤Î¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯µ¯Æ°¤·¡¢°Ê²¼¤òÆþÎϤ·¥¨¥ó¥¿¡¼¥¡¼¤òÂǤÁ¤Þ¤¹¡£
>shaderdl *.sl
gi_photon.sdl, gi_pointcloud.sdl, gi_raytrace.sdl, vol_ptcbake.sdl¤¬¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤Ç¤¤¢¤¬¤ê¤Þ¤¹¡£
(4) ³¤¤¤Æ3delight¤Ëshaders¥Õ¥©¥ë¥À¤Î¥Ñ¥¹¤òÄɲä·¤Þ¤¹¡£
¡Ö¥³¥ó¥Ô¥å¡¼¥¿¡×±¦¥¯¥ê¥Ã¥¯¢ª¥×¥í¥Ñ¥Æ¥£¢ª¡Ö¥·¥¹¥Æ¥à¤Î¾ÜºÙÀßÄê¡×¢ª¡Ö´Ä¶ÊÑ¿ô¡×¤ò³«¤±¤Þ¤¹¡£
(5) ¡Ö¥·¥¹¥Æ¥à´Ä¶ÊÑ¿ô¡×¤«¤é¡ÖDL_SHADERS_PATH¡×¤ò¥¯¥ê¥Ã¥¯ÁªÂò¤·¡¢¡ÖÊÔ½¸¡×¤ò²¡¤·¤Þ¤¹¡£
(6) .:C:\Program Files\3Delight\shaders
¤Ë¡¢°Ê²¼¤Î¥Ñ¥¹¤òÄɲä·¤Þ¤¹¡£
;C:\Program Files\Blender Foundation\Blender\2.59\scripts\addons\render_3delight\shaders
(7) OK¤ò²¡¤·¡¢OK¤ò²¡¤·¤Þ¤¹¡£
¦ Blender¤Ç3Delight¤ò»È¤Ã¤Æ¥ì¥ó¥À¥ê¥ó¥°¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¦¥é¥¤¥È¤ÏSun¤òÁªÂò¤·raytrace shadow¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£
¡¦Pointclouds¤ÎÀßÄê¤ò¥ª¥ó¤Ë¤¹¤ë¤È¥ì¥ó¥À¥ê¥ó¥°¤Ï»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
¤Þ¤À¤Þ¤À̤´°À®¤Ê¤È¤³¤í¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤È¤Æ¤âÊØÍø¤ÇÊÙ¶¯¤Ë¤Ê¤ê¤Þ¤¹¡£
°Ê¾å¡¢¼«¸ÊÀÕǤ¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡£
ÆâÍƤ˴ؤ·¤ÆÌÀ¼¨¡¢ÈóÌÀ¼¨¤Ë¤«¤«¤ï¤é¤º¡¢¤¤¤«¤Ê¤ëÊݾڤâÃפ·¤Þ¤»¤ó¡£¤Þ¤¿°ìÀÚ¤ÎÀÕǤ¤òÉ餤¤Þ¤»¤ó¡£
¢£°Ê²¼¤ÏMaya¤ÎPersp¤Î¥Á¥ã¥ó¥Í¥ë¥Ü¥Ã¥¯¥¹¤Î¥Ç¥Õ¥©¥ë¥È°ÌÃÖ¤òÎã¤È¤·¤Æ
Translate X: 28
Translate Y: 21
Translate Z: 28
Rotate X: -27.938
Rotate Y: 45
Rotate Z: 0
Scale X: 1
Scale Y: 1
Scale Z: 1
3Delight nsi¤Ç¤Ï¡¢
SetAttributeAtTime "|persp" -0.20000000000000001
"transformationmatrix" "doublematrix" 1 [ 0.70710678118654791 0 -0.70710678118654713 0 -0.33129457822453973 0.88345220859877216 -0.33129457822454006 0 0.62469504755442384 0.46852128566581852 0.6246950475544244 0 28 21 28 1 ]
¤³¤ì¤òpython cgkit¤Ç·×»»¤·¤Æ¤ß¤Þ¤·¤¿¡£
python cgkit¤Çµá¤á¤Æ¤ß¤Þ¤¹¡£¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤òµ¯Æ°
$ python
Python 2.7.18 (default, Jul 14 2021, 08:11:37)
[GCC 10.2.1 20210110] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from cgkit.all import *
°ÜÆ°°ÌÃÖ¤òÆþÎÏ
>>> tr=mat4(1).translation(vec3(28,21,28))
>>> import math
x¼´²óž¤òÆþÎÏ
>>> rx=mat4(1).rotate(-27.938*math.pi/180,vec3(1,0,0))
>>> rx
[1, 0, 0, 0]
[0, 0.883455, 0.468516, 0]
[0, -0.468516, 0.883455, 0]
[0, 0, 0, 1]
y¼´²óž¤òÆþÎÏ
>>> ry=mat4(1).rotate(45*math.pi/180,vec3(0,1,0))
>>> ry
[0.707107, 0, 0.707107, 0]
[0, 1, 0, 0]
[-0.707107, 0, 0.707107, 0]
[0, 0, 0, 1]
°ÜÆ°¡¢x¼´²óž¡¢y¼´²óž¤Î½ç¤ÇÀѤòµá¤á¤ë
>>> v=tr*ry*rx
>>> v
[-0.707107, -0.331291, 0.624697, 28]
[0, 0.883455, 0.468516, 21]
[-0.707107, 0.331291, -0.624697, 28]
[0, 0, 0, 1]
žÃÖ¹ÔÎó¤òµá¤á¤ë¡£
>>> v.transpose()
[0.707107, 0, -0.707107, 0]
[-0.331291, 0.883455, -0.331291, 0]
[0.624697, 0.468516, 0.624697, 0]
[28, 21, 28, 1]
¤Ç¤¤¢¤¬¤ê¡ª
¢£pos¤Ètarget¤«¤éµá¤á¤ë¤È¤·¤¿¤é¡¢RenderMan¤Ç¤Îplacecam.c¤ò¤â¤È¤Ë·×»»¤·¤Æ¤ß¤Þ¤¹¡£
----------------------------------------
python placecam.py 3 3 3 0 0 0
position: 3.00, 3.00, 3.00
aim: 0.00, 0.00, 0.00
coneangle: 0.0000
roll: 0.00
RIB¤Ç¤Îx¼´¡¢y¼´¤Î³ÑÅÙ¤¬¤ï¤«¤ê¤Þ¤¹¡£
Rotate -35.26 1.00 0.00 0.00
Rotate 135.00 0.00 1.00 0.00
Translate -3.00 -3.00 -3.00
Translate¤Î¹ÔÎó¤Ï¡¢TX,TX,-TZ¤Çµá¤á¤Þ¤¹¡£python cgkit¤Ç·×»»¤·¤Þ¤¹¡£
¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤òµ¯Æ°
>>> from cgkit.all import *
>>> tr=mat4(1).translation(vec3(3,3,-3))
>>> import math
>>> rx=mat4(1).rotate(-35*math.pi/180,vec3(1,0,0))
>>> rx
[1, 0, 0, 0]
[0, 0.819152, 0.573576, 0]
[0, -0.573576, 0.819152, 0]
[0, 0, 0, 1]
>>> ry=mat4(1).rotate(135*math.pi/180,vec3(0,1,0))
>>> ry
[-0.707107, 0, 0.707107, 0]
[0, 1, 0, 0]
[-0.707107, 0, -0.707107, 0]
[0, 0, 0, 1]
>>> v=tr*ry*rx
>>> v
[-0.707107, -0.40558, 0.579228, 3]
[0, 0.819152, 0.573576, 3]
[-0.707107, 0.40558, -0.579228, 3]
[0, 0, 0, 1]
>>> v.transpose()
[-0.707107, 0, -0.707107, 0]
[-0.40558, 0.819152, 0.40558, 0]
[0.579228, 0.573576, -0.579228, 0]
[3, 3, 3, 1]
>>> s2=mat4(1).scaling(vec3(-1,1,1))
>>> s3=mat4(1).scaling(vec3(1,1,-1))
>>> s2*v.transpose()*s3
[0.707107, 0, -0.707107, 0]
[-0.40558, 0.819152, -0.40558, 0]
[0.579228, 0.573576, 0.579228, 0]
[3, 3, 3, 1]
>>>
¤Ç¤¤¢¤¬¤ê¡ª
[0.707107 0 -0.707107 0
-0.40558 0.819152 -0.40558 0
0.579228 0.573576 0.579228 0
3 3 3 1]
¢£»ëÌîÊÑ´¹¤ò¤¹¤ë¡£3Delight nsi¤Ç¤Ï¡¢
-----------------------------------------------------------------------
SetAttributeAtTime "|persp" -0.20000000000000001
"transformationmatrix" "doublematrix" 1 [ 0.57928117234268439 -5.5511151231257827e-17 -0.81512779572855032 0 -0.59748736723752183 0.68023036589218888 -0.42461217046824468 0 0.55447467873732514 0.73299839653179255 0.39404464381712034 0 3.2762530755722121 4.6062003801361309 2.8864228342103333 1 ]
Maya¤ÎPersp¤Î°ÌÃÖ
Translate X: 3.276
Translate Y: 4.606
Translate Z: 2.886
Rotate X: -47.138
Rotate Y: 54.6
Rotate Z: 0
Scale X: 1
Scale Y: 1
Scale Z: 1
python cgkit¤Çµá¤á¤Æ¤ß¤Þ¤¹¡£
tr=mat4(1).translation(vec3(3.276,4.606,2.886))
rx=mat4(1).rotate(-47.138*math.pi/180,vec3(1,0,0))
ry=mat4(1).rotate(54.6*math.pi/180,vec3(0,1,0))
v=tr*ry*rx
v.transpose()
¥¤¥ó¥¿¥é¥¯¥Æ¥£¥Ö¥â¡¼¥É¤òµ¯Æ°
Python 2.7.18 (default, Jul 14 2021, 08:11:37)
[GCC 10.2.1 20210110] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from cgkit.all import *
>>> import math
>>> tr=mat4(1).translation(vec3(3.276,4.606,2.886))
>>> tr
[1, 0, 0, 3.276]
[0, 1, 0, 4.606]
[0, 0, 1, 2.886]
[0, 0, 0, 1]
>>> rx=mat4(1).rotate(-47.138*math.pi/180,vec3(1,0,0))
>>> rx
[1, 0, 0, 0]
[0, 0.680235, 0.732994, 0]
[0, -0.732994, 0.680235, 0]
[0, 0, 0, 1]
>>> ry=mat4(1).rotate(54.6*math.pi/180,vec3(0,1,0))
>>> ry
[0.579281, 0, 0.815128, 0]
[0, 1, 0, 0]
[-0.815128, 0, 0.579281, 0]
[0, 0, 0, 1]
>>> v=tr*ry*rx
>>> v
[0.579281, -0.597484, 0.554478, 3.276]
[0, 0.680235, 0.732994, 4.606]
[-0.815128, -0.42461, 0.394047, 2.886]
[0, 0, 0, 1]
>>> v.transpose()
[0.579281, 0, -0.815128, 0]
[-0.597484, 0.680235, -0.42461, 0]
[0.554478, 0.732994, 0.394047, 0]
[3.276, 4.606, 2.886, 1]
>>>
¢£directionalLight¤òµá¤á¤ë
--------------------------------------------------------------
SetAttributeAtTime "|directionalLight1" 0.20000000000000001
"transformationmatrix" "doublematrix" 1 [ 0.70710678118654746 5.5511151231257827e-17 0.70710678118654746 0 0.5 0.70710678118654746 -0.49999999999999994 0 -0.49999999999999994 0.70710678118654746 0.49999999999999989 0 0 0 0 1 ]
Translate X: 0
Translate Y: 0
Translate Z: 0
Rotate X: -45
Rotate Y: -45
Rotate Z: 0
Scale X: 1
Scale Y: 1
Scale Z: 1
>>> rx2=mat4(1).rotate(-45*math.pi/180,vec3(1,0,0))
>>> rx2
[1, 0, 0, 0]
[0, 0.707107, 0.707107, 0]
[0, -0.707107, 0.707107, 0]
[0, 0, 0, 1]
>>> ry2=mat4(1).rotate(-45*math.pi/180,vec3(0,1,0))
>>> ry2
[0.707107, 0, -0.707107, 0]
[0, 1, 0, 0]
[0.707107, 0, 0.707107, 0]
[0, 0, 0, 1]
>>> v2=ry2*rx2
>>> v2
[0.707107, 0.5, -0.5, 0]
[0, 0.707107, 0.707107, 0]
[0.707107, -0.5, 0.5, 0]
[0, 0, 0, 1]
>>>
>>> v2.transpose()
[0.707107, 0, 0.707107, 0]
[0.5, 0.707107, -0.5, 0]
[-0.5, 0.707107, 0.5, 0]
[0, 0, 0, 1]