# 高级VFX # Houdini节点文档 # Facet Geometry node *控制表面平滑度。(facet n. 多面体中的一个面)* 此节点可以让你焊接点,或曲面法线。 Facet 和 Divide 节点类似,在中间过程中修改几何体。因此,Compute Normals(计算法线) 选项会出现两次。比如,你可以在焊接非共面点之前计算法线,因为在合并点之前就已经计算了法线,因此可以获得另外一种平滑着色和焊接点。 此节点可以用于清理多边形。你可以重定向背面多边形(在视图中不可见的面),移除退行性多边形(有点重合在一起的多边形,例如,一个两点重合在一起的三角形,它看上去是一条线),焊接或唯一化点,或硬化多边形边。

这个节点能很好的清理从 .dxf 格式导入的多边形。它可以修正其中的法线方向错误。

使用 Facet 选择面,边 或 点,然后添加此节点。 **节点参数**
Group要拆分的几何体集。
Pre-Compute Normals基于输入的几何体计算法线。
Make Normals Unit Length重置输入的法线长度为1.
Unique Points使每个顶点为一个唯一点。
Consolidate
No Consolidate点不会被焊接到一起。
Consolidate Points Slow/Fast在指定距离内的点会相互共享一个点。
Consolidate Normals Slow/Fast在指定距离内的点会相互共享法线。

不应当使用旧版本的合并,它们是为向后兼容性而保留的。

Distance用于合并的阈值距离
Use Accurate Distance强制合并距离为该精确的值,任何强制合并操作都会以点标号顺序执行,以避免将点移动到距离内的其他点。
Remove Inline Points如果一个点处于两点间的直线上,移除它。
Distance用于共线操作的阈值距离。
Orient Polygons使所有多边形朝着同样的方向。
Cusp Polygons在临近的边上,创建硬边。
Cusp Angle要硬化的阈值角度。
Remove Degenerate清除任何错误的多边形。
Make Planar展平每个多边形,使其点处于统一给平面上。
Post-Compute Normals基于此操作节点的结果计算法线。
Reverse Normals反转所有点的法线方向。在其它计算完成后,再执行。
# POP Network 控制POP网络中的粒子模拟。 **节点属性** **Standard**
Start Time模拟开始的时间,使用秒为单位(基于当前场景的FPS)
Preroll TimePreRun,在开始时间前预先运行模拟。
Initial State作为模拟初始状态的几何体
Random Seed定义模拟时使用的 伪随机数。
Oversampling帧间采样倍率
Max # of Particles控制任意时刻的粒子最大数量。设置为0则无限制。
Remove Unused Points删除与死亡粒子相关的点。启用此选项可以降低内存占用,禁用此选项可以通过回收点提高性能。改变此设置可能会影响与粒子相关的点的编号。
**Input Geo**
SOP N向上传递几何体N(法线)的SOP路径。
**Viewer**
Transform Object当此网络出现在视窗中时将粒子转换到此对象的空间中。
Cache Frames当此网络可见时的缓存数。设置为0不缓存,为-1无限制缓存,为其他数值,则缓存对应帧数。
# Houdini 表达式 Expression functions # 表达式全局变量

部分全局变量等价于以 `@` 开头的变量来适配 [VEX Snippets ](http://www.sidefx.com/docs/houdini/vex/snippets.html)中的变量。

Snippet (片段)是编程用语,用来表示那些可以重复利用的代码片段。 Playback 回放
`$` `@` Description
`$FPS` 每秒回放的帧数 (也可以通过播放栏上的设置修改).
`$FSTART` 动画起始帧的帧数字 (也可以通过播放栏上的设置修改). **$NFRAMES** (动画帧数) = $FEND - $FSTART + 1.
`$FEND` 动画末帧的帧数字(也可以通过播放栏上的设置修改).
`$F` 当前帧数字, 这是个非常有用的变量,尤其是给渲染的序列帧文件编号
`$FF` `@Frame` 浮点帧数字
`$NFRAMES` 动画的总帧数 `$NFRAMES = $FEND - $FSTART + 1`.
`$RFSTART` 播放栏中显示的第一帧的帧数字。 播放栏可以显示长动画中的特定部分,使你可以专注于编辑这部分动画。 $RFSTART 和 $RFEND 控制播放栏显示特定部分的长度
`$RFEND` 播放栏中显示的最后一帧的帧数字
`$T` `@Time` 以秒为单位的当前时间, 等同于 ($F-1)/$FPS
`$TLENGTH` 秒为单位的动画总时长
`$TSTART` 秒为单位的动画开始时间
`$TEND` 秒为单位的动画结束时间
### General 通用
`$ACTIVETAKE` 包含了当前TAKE(拍摄)的名称
`$E` 数学常数 e (2.71828…).
`$HFS` Houdini的安装目录
`$HH` `$HFS/houdini`.
`$HIP` 包含当前场景文件的文件目录
`$HIPFILE` 包含扩展名的,当前场景文件的完整路径
`$HIPNAME` 不包含扩展名的当前场景文件完整路径。你可以用此变量基于当前场景名称创建不同扩展名的文件。
`$HOME` 你的 Home 目录
`$JOB` 你的 [project directory](http://www.sidefx.com/docs/houdini/basics/project.html "The File > New Project and File > Set Project menu items let you set up project directories and associate scene files with projects.").(工程目录)
`$PI` 数学常数 pi (3.1415926…).
### Channels 通道
`$OS` Operator String. Contains the current OP’s name.
`$CH` Current channel name.
`$IV` In value (value at start of segment).
`$OV` Out value.
`$IM` In slope
`$OM` Out slope
`$IA` In acceleration
`$OA` Out acceleration
`$LT` Local time - not including stretch or offset
`$IT` Start time of segment
`$OT` End time of segment
`$LIT` Local start time of segment
`$LOT` Local end time of segment
`$PREV_IT` Previous segment start time
`$NEXT_OT` Next segment end time
### COPs
`$CSTART` Start frame of the current COP.
`$CEND` End frame of the current COP.
`$CFRAMES` Number of frames for the current COP.
`$CFRAMES_IN` Number of frames available from the first input COP.
`$CINC` Gets the global frame increment value.
`$W` Current image width.
`$H` Current image height
## Render nodes
`$N` Current frame being rendered.
`$NRENDER` Number of frames being rendered.
# Houdini 表达式基础 ### 语言 Houdini可以让你使用两种语言写表达式:传统 HScript 表达式 和 Python. 此外,一些特殊节点可以让你编写 [VEX snippets](http://www.sidefx.com/docs/houdini/vex/snippets.html) (VEX短代码)控制节点行为。
HScript 表达式 使用 [expression functions](http://www.sidefx.com/docs/houdini/expressions/index.html "Expression functions let you compute the value of parameters.")(表达式函数)编写表达式的传统方法
Python 更强大 但是也更繁琐的方式。使用 [Houdini Object Model](http://www.sidefx.com/docs/houdini/hom/index.html "How to script Houdini using Python and the Houdini Object Model.") API 和任何 Python 本身的函数。
VEX 一种快速编译的语言,只用在特定节点的特定参数上
默认使用 HScript 表达式语言,如果要使用 Python,请参照 [Python parameter expressions](http://www.sidefx.com/docs/houdini/hom/expressions.html "You can write parameter expressions in Python instead of the default Hscript expression language."). ## 字符串参数
- 在 **数字参数** (例如 位置,缩放,旋转)中,参数中填写的文本作为表达式计算。 - 在 **字符串参数** 中(例如文件名,和由 [Font node](http://www.sidefx.com/docs/houdini/nodes/sop/font.html "Creates 3D text from Type 1, TrueType and OpenType fonts.") 创建的文本),参数中填写的文本被视为文字。Variables are expanded,但是若要通过表达式生成文字内容,需要把表达式放入 **反引号** 中。例如:
``` frame`padzero(5, $F)`.pic ```
…可以给你像 `frame00001.pic`, `frame00002.pic`, 这样的文件名,诸如此类。
(浏览 [expressions in filenames](http://www.sidefx.com/docs/houdini/render/expressions.html "How to use variables and expressions in file path fields to generate numbered and unique filenames.") 了解在文件名中使用表达式和变量)。 ## 变量和属性 你的表达式可以使用 Houdini 提供的变量:
- **全局变量** 比如 `$F` (the current frame number) 和 `$T` (the current time in seconds). 详情见 [list of global variables](http://www.sidefx.com/docs/houdini/network/expressions.html#globals) (全局变量表格)。 - **几何体属性 -** 在几何体的 HScript 表达式中,你可以用 `@属性名称` 引用几何属性的值。比如,你可以用 `@pscale` 获取到当前点的 `pscale` (点缩放) 属性。 - 对于像 `P` (position) 这样的**矢量属性**,你可以用点表示法来抓取其中一个值,例如 `@P.x` 。你可以用 `.x/.y/.z` 或者 `.1/.2/.3` 或 `.r/.g/.b`。 - **本地变量。**节点通常会提供与节点类型相同的变量,对表达式很有用。比如,一个操纵几何体Point(点)的节点会提供 `@ptnum` 变量输出当前点的编号。节点帮助文档将会列出所有可用变量。 - **环境变量** 例如 `$HIP` (场景文件所在的目录)也可以被表达式使用。
## 通道/参数引用 在 HScript 中你可以用 [ch](http://www.sidefx.com/docs/houdini/expressions/ch.html "Returns the value of a parameter.") 函数引用节点中的参数的值。这可以用来让一个节点中的数字随着另外一个节点发生改变。

你可以创建自己的参数并引用它。详见 [spare parameters](http://www.sidefx.com/docs/houdini/network/spare.html "How to add extra parameters to an individual node.").(备用参数)

要...这样做
自动创建参数引用 1. 源参数上右键选择 **Copy parameter**.(复制参数) 2. 目标参数上右键选择 **Paste relative reference**.(粘贴对应参数) Houdini 会输入正确的 `ch("")` 语法让后一个参数引用前一个参数的值。
手动创建通道引用 用 HScrpt 表达式时,使用 [ch](http://www.sidefx.com/docs/houdini/expressions/ch.html "Returns the value of a parameter.") 获得另外一个参数的值。 `ch` 会从当前节点的(可能的相对)路径到参数。 比如,要得到当前节点的 Z 变换属性:
``` ch("tz") ```
获得 `lamp` 物体的 X 变换属性:
``` ch("/obj/lamp/tx") ```
获得处于相同网络的 `grid1` 节点的 Y 旋转属性:
``` ch("../grid1/ry") ```
(要获得字符串的值,使用 [chs](http://www.sidefx.com/docs/houdini/expressions/chs.html "Evaluates the string value of a parameter at the current time.").)
查询参数的内部名称 要手动引用参数,你必须知道参数的内部名称,你可以将鼠标悬停在参数框上方 或 通过参数编辑器中的 **设置** **▸ 编辑参数** 界面 **,**点击参数然后查看 **Name** 区域。
## 提示 在几何节点中使用 HScript表达式和本地变量 在参数中修改几何体很容易。但是,在 [Point Wrangle(点围栏)](http://www.sidefx.com/docs/houdini/nodes/sop/pointwrangle.html)或 [Attribute Wrangle(属性围栏)](http://www.sidefx.com/docs/houdini/nodes/sop/attribwrangle.html "Runs a VEX snippet to modify attribute values.")中通过 [VEX snippet](http://www.sidefx.com/docs/houdini/vex/snippets.html) 修改几何体的 **性能更高**。 未来的版本中会更鼓励使用 VEX短代码 修改几何体。 你可以通过 **Window ▸ HScript Textport** 输入下面的命令查看一个表达式的值:
``` echo `expression`  ```
Houdini 总是用网络(Network)的“配方”“从头开始”创建每一帧。表达式总是使用初始值 而不是前一帧的值来操作数值。 例如,如果你设置了一个 [Point geometry node](http://www.sidefx.com/docs/houdini/nodes/sop/point.html "Manually adds or edits point attributes.")(点几何节点)给网格中的每个点添加随机的 Y 偏移值:
Position Y
``` @P.y + rand(@Frame * @ptnum) ```
…当你回放时,点将上下随机跳跃,而不是平滑运动。这是因为每一帧时,网格都会从平整的网格开始,然后再应用随机移动给它。这个表达式不会从前一帧的几何体状态开始运行。 ## HScript表达式的括号用法
### 字符串 在单引号 (`'`) 中的字符is not expanded. Text inside double quotes (`"`) has variables expanded. A double-quoted string is considered one argument. A backslash character (`\`) escapes the next character. For example, to use double-quotes in a string:
``` "I had a \"great\" time." ```
When a string doesn’t require variable expansion, use single quotes to speed up evaluation. If you have two quoted strings next to each other with no spaces, they are considered a single argument. In this example…
``` set foo = "Hello world" echo '$foo='"$foo" $foo=Hello world ```
…the echo command has one argument: `'$foo=Hello world'`.
### Embedding In the HScript command language, text inside backticks is evaluated as an expression. For example:
``` echo `strlen("$foo")` ```
Tip Scripting using the HScript command language is deprecated. You should use [Python](http://www.sidefx.com/docs/houdini/hom/index.html "How to script Houdini using Python and the Houdini Object Model.") instead. The string parser cannot decode nested quotes such as in the following (horribly contrived) example:
``` echo `system("echo `ls`")` ```
…however, it is possible to accomplish this with very careful usage of backquotes (and sometimes multiple backquotes in a row) to protect quote symbols from various levels of evaluation:
``` echo `system('echo \`ls\`')` ```
# TIPS 各种容易忘记的小技巧 # PFTrack 导入 C4D 使用 LWS 格式进行导入。 # 工具信息 远程控制工具 [https://www.remoteutilities.com/download/](https://www.remoteutilities.com/download/) AETOjroY0pD1QCsOo5E0Nc6Ncxq7WGbM vmess://eyJhZGQiOiJ2aXB2cG4uM2VmLm1lIiwiYWlkIjoiMTYiLCJob3N0IjoidmlwdnBuLjNlZi5tZSIsImlkIjoiNjFlYjZkNjctZmE3Yy00Y2QxLWJlODgtZjZjZTYzMDk0MzJmIiwibmV0Ijoid3MiLCJwYXRoIjoiL3VDSTRZekFlLyIsInBvcnQiOiIxMTAwMCIsInBzIjoidmlwIiwidGxzIjoidGxzIiwidHlwZSI6Im5vbmUiLCJ2IjoiMiJ9 Adobe CC 2018 单个软件下载 链接: https://pan.baidu.com/s/1rRh-hmBVkcsMWSXkzjSq-Q 提取码: d3n4 Adobe CC 2019 大师版 链接: https://pan.baidu.com/s/1\_JIYTRwObg-hF2ejns-d\_g 提取码: u2xj Office 2019 专业增强版 链接:https://pan.baidu.com/s/1Q2aimRzCQZUevGSSO5Vx2A 提取码:i7v2 MAYA 2019 链接: https://pan.baidu.com/s/1rAhhG3hSYZltfXzxuz706w 提取码: sgmh Marvelous\_Designer\_8 链接: https://pan.baidu.com/s/13JvynstYirK4Wm-7g7RJJQ 提取码: qa57 CoreDraw 2019 http://corel.com/akdlm/6763/downloads/ELD/CDGS/2019/CorelDRAWGraphicsSuite2019InstallerMF02.iso (KEY) 链接: https://pan.baidu.com/s/1DImDVvYTS0G2YQ\_IYfLy3Q 提取码: 6irh Zbrush 2019 链接:https://pan.baidu.com/s/1pN3hS2pxKzOpX-35U60wAA 提取码:b233 Cinema4D R20 链接:https://pan.baidu.com/s/1VDxuLLu7DPRMOBSQaRsD9Q 提取码:xzl0 iZotope7 链接:https://pan.baidu.com/s/1hJgo08UezF0SXC\_98JJPOQ 提取码:6656 Houdini 17.5 链接:https://pan.baidu.com/s/1XxPCckNtQHxH\_ebBCUQIFQ 提取码:nvr9 Davinci 16 链接:https://pan.baidu.com/s/1x367DBoMwzLdzqZ-N-d1JQ 提取码:2q7l Affinity Designer and Photo 链接:https://pan.baidu.com/s/1ZLFQoHzsoVtLGMlptKFq2A 提取码:sdl4 Toom 链接:https://pan.baidu.com/s/1CzI70xPgC1pgPY5oYwHd2Q 提取码:61gr # AE表达式 平滑曲线动画循环 ```JavaScript // Mt. Mograph - Animo - Property a = thisComp.layer("[a-c] an").effect("an");b = a("Pseudo/Vja67b86eDUB-0001");if (b > 0 && numKeys > 1) {c = a("Pseudo/Vja67b86eDUB-0002");d = key(1).time;e = key(numKeys).time;f = e - d;valueAtTime(d + (f * (c / 100)));} else {value;} ``` # 后期全流程 描述一个后期所需要的工具和技能的文档 # 后期技术速成教学
#### #### 理想中的周期
**学习项目****预计周期****学习内容**
如何收集视频素材1天养成好习惯,建立好的文件系统,学会怎么使用代理,如何重新链接丢失的素材,如何替换素材
使用Davinci Resolve进行视频剪辑2天使用该软件进行快速粗剪,挑选素材,并完成最终剪辑所需要的软件操作技术
使用Davinci Resolve进行视频调色1天对视频进行色彩校正,修复过曝等问题,然后使用常用的两种影调风格化视频色彩
动画的十二个要素1天通常一个生动的动画需要注意的东西
如何使用After Effects制作动画2天使用AE制作MG动画的流程,如何使用AE、PS和AI协同工作
如何使用After Effects跟踪视频对象1天用AE跟踪视频中的多个运动的物体
如何使用After Effects抠出视频对象1天用AE将视频中的人或者物体抠出来,如何处理绿幕素材
如何使用Mocha跟踪和扣出视频对象2天使用Mocha插件更好的跟踪物体或者抠像,如何处理人的头发
如何将动画元素合成在视频中1天利用抠像和跟踪技术将MG动画置入视频场景中,合成时需要注意的细节
在软件之间交换视频数据的注意事项0.5天在特效软件和剪辑软件之间交换视频数据时应当使用何种格式,使用PR和AE的动态链接功能协同工作,如何在PR和Davinci Resolve之间交换剪辑时间线
如何收集音频素材0.5天去哪里寻找音频素材
使用基本的音效工具为视频配音1天使用Audition为视频制作音轨,如何调整音频的音量,如何调整音频的音高,如何对音频进行降噪,如何优化人声
如何使用合适的视频编码交付视频0.5天使用Davinci Resolve导出视频,使用AE导出视频时的注意事项
Media Encoder 使用技巧0.5天如何使用Media Encoder进行批量编码和格式转换
此表格中列举的时间为预计对方学会这个技能的时间。而实际中可能会比这个更长或者更短。 审美是非常重要的,但是审美无法直接传授,只能通过经验获得,对于这个,会提供有关 剪辑审美的视频 X1,动画审美的书 X1。 教授方式为:直接拿演示素材进行**操作演示** 和 **提供教学视频**。 # AE插件 Deep Glow :发光 VE Plugin Collection Voukoder 编码加速 Sapphire蓝宝石插件 Lockdown物体表面跟踪 Fast Bokeh Pro 快速景深模糊 FsPlugins日本免费开源动画视觉插件 AutoFill 自动填充生长动画 Digital Anarchy Bundle 磨皮美颜锐化光照去闪烁 Optical Flares光晕耀斑特效 Red Giant VFX Suite红巨人 Shadow Studio精致华丽真实阴影拖尾 Effect Matte蒙板遮罩底栏文字特效 FreeForm Pro专业3D网格变形扭曲插件 Volna动态线条路径描边绘制生长动画 Magic Bullet Suite 红巨人2 Newton牛顿动力学插件 Stardust节点式三维粒子 Trapcode Suite红巨人粒子 Red Giant Universe红巨人视觉特效和转场 Discotext实时文本图层修剪路径描边动画插件 Displacer Pro专业置换贴图映射 Fast Camera Lens Blur 镜头模糊虚焦特效 AfterCodecs特殊编码加速输出渲染 Silhouette影视后期ROTO跟踪抠像合成软件 Mocha Pro平面跟踪 VideoCopilot Color Vibrance快速染色着色插件 VideoCopilot FXConsole特效管理控制 # 短视频技术规格 ##### 分辨率:1080 x 1440 (3:4 竖屏) 小红书会将视频压缩为 720 x 960 @ 最大4mbps High level 4 x.264 规格,抖音个人号最大 720P,企业号 1080P,抖音支持码率稍高 ##### 帧速率:60 fps 所有平台均支持60fps视频 ##### 码率:10Mbps CBR 确保原始文件的码率显著高于视频平台的码率 ##### 动态图片:WebP 小红书最大支持20MB以内的图片上传,但是对于WebP动图的要求和视频类似(否则将转换为静态图片) ##### 默认滤镜:锐化30 为视频适当添加锐化将可以提高视频在低码率和低分辨率下的观感 ##### 画面内容优化 **简化画面细节**:在低分辨率和有限码率下,复杂细节(如精细的纹理、杂乱背景等)容易模糊。使用简单的背景和较少的高频细节,有助于降低压缩失真。 **避免快速运动和过多切换**:快速运动和频繁切换的场景需要较高码率,容易导致压缩伪影。可以适当减少镜头切换和过多的快速运动,确保画面流畅清晰。 **增强对比度和色彩**:在720P和低码率下,过度平淡的色彩和低对比度会使画面显得模糊。适当提高对比度和饱和度能让画面显得更加清晰锐利,尤其是主体与背景的分离度。 ##### 特效中的高频细节: 渐变色彩(渐变的背景,填充色,发光物体的边缘),粒子效果(取决于粒子的数量),不可预测的随机抖动,噪波有关的效果