摄影机/灯光类拼图参考 - Soft8Soft
Description: 如何在Verge3D拼图编辑器里控制摄影机和灯光。

# 摄影机与灯光 | Camera and Light

此类拼图用于操作设置摄影机与光源。

## 内容

- 摄影机拼图参考
  - look at
  - tween camera
  - zoom camera to object
  - set active camera
  - active camera
  - autorotate camera
  - get camera direction
  - set camera param
  - get camera param
- 灯光拼图参考
  - set light param
  - get light param

#

## 摄影机拼图参考

#

### look at

为活动的摄影机设置平滑过度动画，最终瞄准一个指定的对象。数字参数指定了执行动画的时间长度（单位：秒）。

#

### tween camera

为活动摄影机设置平滑动画，移动位置到指定对象或三维点处，摄影机的瞄准目标是另一个指定的物件或三维点。

位置和目标的参数可以由场景对象或X、Y和Z坐标数组来指定。

数字参数指定了执行动画的时间长度（单位：秒）。

参数 move 指定了起点和终点之间的插值方式：线性或球形。

可选的 when finished do 槽可以用来检测tweening完成的时刻。

#

### zoom camera to object

平滑地拉进或缩小活动摄影机焦距，将指定的对象或一组对象纳入摄影机视图中。数字参数指定了执行聚焦的时间长度（单位：秒）。

可选的 when finished do 槽可用于检测聚焦完成的时刻。

#

### set active camera

使指定的摄影机处于活动状态。可以用来实时改变摄影机的控制模式（"orbit" vs "flying" vs "no controls"）、视野以及其他设置。

#

### active camera

检索活动摄影机。

#

### autorotate camera

围绕目标旋转活动的Orbit摄影机，动画平滑。

在下面的例子中，摄影机在用户不活动的3秒后开始旋转。当用户点击鼠标按钮（或触摸屏幕）时，将重新获得对摄影机的控制权，直到再过3秒后再次自动旋转。

要使摄影机向相反方向旋转，可设置负的 speed 值，例如 `-2`。

#

### get camera direction

返回活动摄影机的世界方向向量的X、Y和Z分量的列表。如果 from mouse/touch 被选中，此拼图将从摄影机投射一条射线到光标的屏幕位置，并返回该射线的方向。如果选中了 inverted，则光标的屏幕位置坐标为负。

下面的例子实现了使一个对象始终看向鼠标光标。这可以通过用一些简单的数学方法将一个空对象/虚拟对象的位置映射到鼠标光标上来实现。

要在3ds Max中设置这种行为，需使用 Rotation Controllers / LookAt Constraint，使对象跟随注视一个虚拟对象。在Blender中对应于 TrackTo 约束。

#

### set camera param

设置摄影机参数。

field of view
  设置摄影机视锥垂直视野，从视图底部到顶部，以度为单位。
ortho scale
  设置摄影机的缩放系数。
movement speed
  设置摄影机移动速度。
rotation speed
  设置摄影机旋转速度。
allow panning
  启用/禁用摄影机平移。
allow zoom
  启用/禁用摄影机缩放。
zoom on ctrl key
  仅在按下Ctrl键时允许摄影机缩放。
keyboard controls
  启用/禁用键盘输入。
orbit min distance (persp)
  摄影机变焦的最小距离（仅限透视摄影机）。
orbit max distance (persp)
  摄影机变焦的最大距离（仅限透视摄影机）。
orbit min zoom (ortho)
  摄影机拉近的最小距离（仅限正交摄影机）。
orbit max zoom (ortho)
  摄影机拉远的最大距离（仅限正交摄影机）。
orbit min vertical angle
  垂直旋转范围的下限。范围：0° 到 180°。
orbit max vertical angle
  垂直旋转范围的上限。范围：0° 到 180°。
orbit min horizontal angle
  水平旋转范围的下限。范围：-180° 到 180°（设置为 `-Infinity` 即无限制）。
orbit max horizontal angle
  水平旋转范围的上限。范围：-180° 到 180°（设置为 `Infinity` 即无限制）。
orbit allow turnover
  启用/禁用将摄影机翻转到头部上方。
screen space panning
  定义平移时摄影机位置的变换方式。如果为 `true`，摄影机在屏幕空间中平移。否则，摄影机在与摄影机上方向正交的平面中平移。仅轨道摄影机支持此选项。
enable collisions
  启用/禁用第一人称摄影机的碰撞检测。
clip start
  设置摄影机视锥裁剪开始（近）平面。有效范围介于0和远平面的当前值之间。
clip end
  设置摄影机视锥裁剪端（远）平面。必须大于近平面的当前值。

此拼图也适用于对象列表，组（或者组的列表）以及 all objects 拼图。

#

### get camera param

获取摄影机参数。有关参数列表，请参阅 set camera param 拼图的说明。

#

## 灯光拼图参考

#

### set light param

设置灯光参数：

color (vector)
  使用矢量来设置灯光的颜色，其中X、Y、Z代表相应的R、G或B颜色分量。例如，[0, 1, 0] 矢量代表纯绿色。
color (css/rgb)
  使用CSS样式字符串设置灯光颜色，如 rgb(255, 0, 0) 或 magenta。
color (css/hex)
  使用CSS十六进制字符串设置灯光颜色，例如 #FF0000。
intensity
  设置灯光强度。
use shadow
  启用/禁用光源的阴影投射。
shadow map size
  设置光源的阴影贴图大小。
shadow map filtering

  设置阴影贴图过滤算法：

  basic
    基本未过滤的阴影。
  bilinear
    使用双线性插值以获得更平滑的阴影。
  pcf
    百分比更近过滤算法。
  esm
    指数阴影贴图。

  请参阅阴影过滤类型 — Blender，3ds Max，Maya。

此拼图也适用于对象列表，组（或者组的列表）以及 all objects 拼图。

#

### get light param

获取灯光参数。参数列表见 set light param 拼图中的描述。

## 在使用拼图时遇到困难？

欢迎您随时在 论坛上提问！您还可以加入中文用户社区QQ群(171678760)，在线寻求帮助。