下方的光线1~8定义了8种不同的光源,您可以随意设置光源的位置及颜色。再来一种。再来一个不同光源组合的视图(顶部蓝光、左下黄光、右上粉色光),方便大家理解:
仰角和方位角
在三维空间中,光线的传播方向可以用两个角度来描述: 仰角(Elevation)和方位角(Azimuth)。下图中假设 PCB 初始位置在 xy 平面中,且 x 轴为 PCB 的水平方向对称轴。
仰角(Elevation) 仰角是指光线与水平面的夹角(这里指PCB所在平面),范围在0°到180°之间。仰角为0°时,光线与水平面平行;仰角为90°时,光线垂直向上或向下。
例如:正中午的太阳光线的仰角约为90°(假设地面平坦)
- 日出和日落时分,太阳光线的仰角接近0°
方位角(Azimuth)
方位角是指光线在水平面上的方向,相对于参考方向(通常为正北)的角度(这里可以理解为光源投影到PCB平面与PCB中心的连线与PCB水平轴的夹角),范围在0°到360°之间。例如:
正东方向的光线方位角为90°
正西方向的光线方位角为270°
- 正北方向的光线方位角为0°或360°
我们可以用一个例子来说明:
假设现在是下午3点,太阳位于西南方向,仰角约为45°,方位角约为225°。这意味着太阳光线与地面的夹角为45°,在水平面上的方向是从正北开始的第225°方向。利用仰角和方位角两个角度,我们就可以精确描述一束光线在三维空间中的传播方向。这在计算机图形学、影视特效、航空航天等领域中都有广泛应用。
当然,阴影效果除了和仰角、方位角相关外,还与光源距离物体的距离及物料本身的角度相关。
可以反复调整光源方向及颜色,直到效果满意为止。
修改默认的光线追踪参数
KiCad 中设置了光线追踪的默认参数,每次打开一个新的 PCB,都会使用这些默认参数。比如,光源的默认颜色为(43,43,43),非常接近黑色。
如果希望修改默认配置,需要找到 Appdata 下的 KiCad 配置文件路径,比如 Windows 在类似以下的路径:C:\Users\admin\AppData\Roaming\kicad\8.0找到名为 3d_viewer.json 的文件。
打开后可以修改其中的默认参数:
每次打开 3D 查看器时,系统都会加载配置文件中的设置。
使用 CLI 输出渲染图(光线追踪)
除了在 KiCad 中的 3D查看器中进行图片渲染之外,还可以使用 CLI(命令行)接口直接输出渲染图。使用 CLI 的优点是不用打开 KiCad,且使用固定的参数进行图像输出。也就是说无论什么设计,都可以按预定义旋转角度、光源完成渲染。CLI 的使用方式如下:- Usage: render [--help] [--output OUTPUT_FILE] [--define-var KEY=VALUE] [--width WIDTH] [--height HEIGHT] [--side SIDE] [--background BG] [--quality QUALITY] [--preset PRESET] [--floor] [--perspective] [--zoom ZOOM] [--pan VECTOR] [--pivot PIVOT] [--rotate ANGLES] INPUT_FILE
- Renders the PCB in 3D view to PNG or JPEG image
- Positional arguments:
- INPUT_FILE Input file
- Optional arguments:
- -h, --help Shows help message and exits
- -o, --output Output file [nargs=0..1] [default: ""]
- -D, --define-var Overrides or adds project variables, can be used multiple times to declare multiple variables.
- Use in the format of '--define-var key=value' or '-D key=value' [nargs=0..1] [default: {}]
- -w, --width Image width [nargs=0..1] [default: 1600]
- -h, --height Image height [nargs=0..1] [default: 900]
- --side Render from side. Options: top, bottom, left, right, front, back [nargs=0..1] [default: "top"]
- --background Image background. Options: transparent, opaque. Default: transparent for PNG, opaque for JPEG [nargs=0..1] [default: ""]
- --quality Render quality. Options: basic, high, user [nargs=0..1] [default: "basic"]
- --preset Color preset. Options: follow_pcb_editor, follow_plot_settings, legacy_preset_flag, ... [nargs=0..1] [default: "follow_plot_settings"]
- --floor Enables floor, shadows and post-processing, even if disabled in quality preset
- --perspective Use perspective projection instead of orthogonal
- --zoom Camera zoom [nargs=0..1] [default: 1]
- --pan Pan camera, format 'X,Y,Z' e.g.: '3,0,0' [nargs=0..1] [default: ""]
- --pivot Set pivot point relative to the board center in centimeters, format 'X,Y,Z' e.g.: '-10,2,0' [nargs=0..1] [default: ""]
- --rotate Rotate board, format 'X,Y,Z' e.g.: '-45,0,45' for isometric view [nargs=0..1] [default: ""]
复制代码
举例来说,对 video 的文件使用以下命令:- kicad-cli pcb render --floor --zoom 1.4 --rotate '-45,0,45' -o render.png video.kicad_pcb
复制代码
就可以得到如下旋转后的渲染图: