【学习填坑之路】VRay渲染之灯光介绍和相机高级处理

灯光

1、灯光分类:Rectangle light矩形光,Light Omni全向光,Directional Light定向光,spot light聚光灯,Dome Light顶灯,Sphere Light球形灯,Mesh Light物体光,IES Light真实世界灯光,Sun Sky天空太阳光

2、每种灯光都几乎共有参数:
Color 灯光颜色
Intensity 灯光强度
transform 位置信息
enabled 可用信息
Subdivs 划分采样。 此参数控制采样灯的采样数以及DMC采样器设置。
Affect diffuse/specular (except LightAmbient) 影响漫反射,镜面反射。
Cast shadows (except LightAmbient) 投射阴影。我们可以从阴影计算中排除灯泡的光线。
Include/Exclude lists 包含/排除列表。我们可以排除一些物体被此灯点亮。

ex:
# Create a new BitmapBuffer
newBitmap = renderer.classes.BitmapBuffer()
# And set it to load a picture
newBitmap.file = 'resources/bricks.png'
 
# TexBitmap is used for file-based texturing. Other Tex{*} plugins offer procedural and combination textures
newTexture = renderer.classes.TexBitmap()
# Set the texture to use the loaded buffer
newTexture.bitmap = newBitmap
 
# Create the light
light = renderer.classes.LightRectangle()
# We must specify transform in order to position the light in the world
light.transform = vray.Transform(vray.Matrix(vray.Vector(1.0, 0.0, 0.0),
                        vray.Vector(0.0, 1.0, 0.0),
                        vray.Vector(0.0, 0.0, 1.0)), vray.Vector(-20.6777, 131.6402, 150))
# Increase the light's size (by default it's 1x1)
light.u_size = 50
light.v_size = 50
# Assign the texture to the light
light.rect_tex = newTexture
# And set the flag to use the texture
light.use_rect_tex = True

相机的高级处理

1、介绍:V-Ray中的摄像机通常定义投射到场景中的光线,这基本上就是场景投射到屏幕上的方式。V-Ray支持多种相机类型:标准,球形,圆柱(点),圆柱形(正射),盒子,鱼眼,翘曲球体,球形全景和立方体6x1。也支持正交视图。
2、那么SettingsCamera插件的一些设置包括:
类型type(摄像机类型):0 - 默认,1 - 球形,2 - 圆柱形点,3 - 圆柱形正交,4 - 盒,5 - 鱼眼,6 - 翘曲球形,7 - 正交,8 - 针孔,9 - 球形全景,10 - 立方体6x1。

  • 默认 - 允许使用当前场景摄像机(通常是针孔摄像机)。
  • 球形 - 带球面镜头的相机。
  • 圆柱形(点) - 此摄像机从圆柱体的中心投射所有光线。在垂直方向上,相机充当针孔相机,并且在水平方向上相机充当球形相机。
  • 圆柱形(正射) - 此摄像机从圆柱体的中心投射所有光线。在垂直方向上,相机充当正交视图,并且在水平方向上,相机充当球形相机。
  • Box - 六个标准相机放置在盒子的两侧,生成垂直交叉格式图像。这种类型的相机非常适合生成立方体贴图的环境贴图。Box相机也可用于生成GI的辐照度图:首先,您将使用Box相机计算辐照度图,然后将其保存到文件中,最后使用可以指向任何方向的默认相机重复使用。
  • 鱼眼 - 这种特殊类型的摄像机捕捉场景,就好像它是一个针对100%反射球的针孔摄像机,将场景反射回摄像机的快门,就像在HDRI摄影中使用光探头一样。可以使用“距离”和“FOV”设置来控制相机捕获球体的哪个部分。请注意,虚拟反射球体的半径始终为1.0。
  • 翘曲球形(旧式) - 球形相机,其映射公式与球形相机略有不同。
  • 正交 - 相机启用非透视图,类似于3ds Max中的标准正交视图。
  • 透视 - 覆盖场景摄像机以强制它成为针孔摄像机。
  • 球面全景 - 具有独立水平和垂直FOV选择的球形摄像机,可用于生成球形VR使用的latlong图像。
  • Cube6x1 - Box相机的一种变体,立方体侧面排成一排。与Box相机的输出不同,Cube6x1在输出图像中不会产生空白空间,在生成立方VR输出时非常有用。

对于球面全景渲染:

将SettingsCamera的类型参数更改为9.(请注意,type = 1是球形,但不适用于全景图。)
将视野设置为360度或更确切地说2*pi,因为fov参数是弧度。您需要使用RenderView插件和SettingsCamera执行此操作- 两者都具有fov参数。此外,如果你正在使用CameraPhysical,也可以在specify_fov=1那里设置fov。
将垂直视野设置为180度。不同点是:它是通过SettingsCamera的height参数设置的。此值也不是以弧度表示,而是以度为单位。

对于立方(6x1)全景渲染:

将SettingsCamera的类型参数更改为10。
设置宽高比为6:1的分辨率(如果使用立体,则设置为12:1)。因此,对于具有1000x1000像素立方体边的立体立方体全景图,将以12000x1000渲染。

对于立体渲染:

对于CPU(生产或RT)渲染,您需要创建VRayStereoscopicSettings插件。它必须在SettingsCamera和SettingsOutput之后创建,不然无法使用!建议将VRayStereoscopicSettings::focus_method全景参数更改为1,普通相机参数更改为2。
对于GPU渲染,需要设置RenderView::stereo_on为1.可能还需要设置RenderView::stereo_eye_distance为6.5(平均值),而不是默认值1.0。建议将RenderView::stereo_focus_method全景参数更改为1,普通相机参数更改为2。

ex:
renderView = renderer.plugins.renderView
renderView.fov=6.28       # 2*pi radians

settingsCamera = renderer.classes.SettingsCamera()
settingsCamera.type = 9    # spherical panorama
settingsCamera.fov = 6.28  # 2*pi radians
settingsCamera.height = 180 # degrees

你可能感兴趣的:(VRay_SDK)