做实验需要用到,临时记录一哈
fn renderr = (
--r = eulerangles 90 0 0
--rotate Box1 r
dis = 0.5 --相机之间的距离,这个会决定视差有多大
-- --新建一个立方体
--
-- Box2 = teapot(); Box2.radius = 8; Box2.pos = [-5,-30,0];Box2.wirecolor = white
--light = targetspot name:"主光" pos:[-8,-80,0] target:(targetobject name:"主光目标点" pos:[-8,0,0])
-- light.projector = on --设置主光为目标聚光灯,并且设置其投影仪状态为开
--light.coneshape = 2 --矩形
--light2 = targetspot name:"主光" pos:[8,-80,0] target:(targetobject name:"主光目标点" pos:[8,0,0])
-- light2.projector = on --设置主光为目标聚光灯,并且设置其投影仪状态为开
-- light2.coneshape = 2 --矩形
d = BitmapTexture()
--MyBitMap = openBitMap("C:\Users\TC-acer\Desktop\3Dmax脚本实验\Pattern1_.png")
--d.bitmap = MyBitMap --打开位图,并且创建一个空的位图纹理图,将位图赋值给位图纹理图,因为投影只能用纹理图
--light.projectormap = d
--投影仪指定纹理图
--ambientcolor = (color 255 255 255) --设置环境光(搞不太懂,白的不出错就行)
for i = 1 to 5 do
(
for j = 1 to 5 do
(
num = (j+(i-1)*5-1)
if num >9 then stri = "0" + num as string
else stri = "00" + num as string
--MyBitMap = openBitMap ("C://Users//TC-acer//Desktop//3Dmax脚本实验//Pattern" + order as string + "_.png")
--d.bitmap = MyBitMap --打开位图,并且创建一个空的位图纹理图,将位图赋值给位图纹理图,因为投影只能用纹理图
--light.projectormap = d
ca1=TargetCamera pos:[(j-5)*dis,-60,(5-i)*dis] --设置摄像机位置
tobj=targetobject pos:[(j-5)*dis,0,(5-i)*dis] --设置摄像机目标点的位置(ca 和 tobj的连线其实就是照相的方向,决定着之后以何种角度给房子 拍照渲染)
ca1.target=tobj
--一般想相机和灯光这种需要机位的设备,都需要制定一个target,来决定对象的朝向
render camera:ca1 outputFile:
("C://Users//TC-acer//Desktop//3Dmax脚本贴图实验//result//input_Cam" + stri +".bmp") vfb:off ?--以照相机ca的角度渲染,输出文件位于指定地点,vfb:off ?不清楚是什么。
)
)
)
renderr()
该代码可以用来搭建等距离间隔的光场相机阵列,以及包括一个自动渲染的过程。