简介

什么是FreeStyle?

FreeStyle是基于边和线的非真实感(non-photorealisitc rendering, NPR)渲染引擎。基于网格和z-depth(深度)信息,FreeStyle可以根据选择的边类型来画线。FreeStyle中有各种各样的线条类型供选择来绘制出有艺术感图片(例如,手绘水彩,或者技术用的硬线条)。

The two operating modes: Python Scripting and Parameter Editor -- allow a powerful diversity of line styles and results. Line styles such as Japanese big brush, cartoon, blueprint, thickness-with-depth are already pre-scripted in Python. The Parameter Editor mode allows intuitive editing of features such as dotted lines and easy setup of multiple line types and edge definitions. On top of all of that, with the introduction of line style modifiers, the sky is the limit!

../../_images/render_freestyle_introduction_example-1.png

ATV 童车, 作者 Rylan Wright (RONIN). CC BY. (File:AtvBuggy.zip)。

../../_images/render_freestyle_introduction_example-2.png

作者 mato.sus304. CC BY-SA. (File:Mato_sus304_cut02.zip)

../../_images/render_freestyle_introduction_example-3.png

OHA Studio © 中的卡通场景,Mechanimotion Entertainment. (the blend-file).

../../_images/render_freestyle_introduction_example-4.png

Martin M-130 from 1935 的蓝本渲染,作者 LightBWK. CC0. 注意: 此文件很大,主要用于测试Blender的性能,直接导入可能会使Blender崩溃。 (File:M-130Blueprint.zip)

想看更过作品可以浏览: Release Note Artwork Showcase.

整体结构

  • 通过勾选 属性编辑器 ‣ 渲染标签页 ‣ FreeStyle 面板标题左侧的复选框,启动FreeStyle。
  • FreeStyle的设置选项可以在 渲染层 中找到。
  • 一个渲染层只能有一个viewmap。一个viewmap存储着边缘检测的设置(Crease Angle, Culling toggle,Face Smoothness,Material Boundaries, Sphere Radius,和Kr Derivative Epsilon等高级选项)。
  • 一个viewmap可以有多个line set。
  • 一个line set控制哪种线条类型和选项将被用于渲染,基于你场景中的线条。
  • 每个line set使用一种线条的风格(一个线条风格可以在多个line set中共享)。
  • 一个线条风格指定FreeStyle怎样渲染与其关联的line set的color,alpha,thickness,和其它属性。
../../_images/render_freestyle_introduction_view-map-processes.png

FreeStyle的viewmap和处理流程框图。

已知的局限性

  • 高内存占用:所有网格物体在一个渲染层里会一次性全部加载。
  • 仅支持面结构的网格物体(faced mesh objects)。以下的网格类型会被忽略:
    • 网格面是透明材质。
    • 网格面的材质选项 Cast Only 被勾选。
  • 透明面(transparent face)被处理为不透明面(opaque face)。
  • 面与面相交出无法检测到边缘。
  • FreeStyle不支持图层蒙版。
  • FreeStyle的渲染结果没有深度信息(Z depth)。
  • 不支持全景相机。