Software-C4D

学习自 momentor。

资源

{% pdf base.pdf%}

课程

认识 C4D 01

介绍了一下界面和快捷键。

快捷键

  • H 回到中心
  • E 移动
  • R 旋转
  • T 缩放
  • delete 删除
  • C 转可编辑(物体有没被塌陷叫 C 了没)
  • Control + Z 撤回
  • ALT + MMB(鼠标中键)平移视图
  • ALT + LMB(鼠标左键)旋转视图
  • MMB 切换视图
  • MMB 进入视图
  • SHIFT 多选
  • Control 取消选中
  • MMB 框选范围
  • Shift + Control + Z 撤回摄像机视角

桌子 - 创建桌子 02

png

给场景里添加 Cube 和一个 Cylinder 分别充当桌子和桌腿。

png

场景中选择桌腿,工具栏下按下 Shift 后再选择 Taper,这将给 Cylinder 添加 Taper子节点

png

设置 Taper 一个 Fit to Parent,然后调整 Strength 里的值,调整 和 Strength 的 Transform,这将让 z 桌腿 Cylinder 上宽下窄。

png

场景中选择桌腿,工具栏下按下 Shift 后再选择 Symmetry,这将给 Cylinder 添加 Symmetry父节点。(绿色要作为父级起作用,紫色作子级起作用)设置好 Mirror Plane 和相对变换。这将给 Symmetry 下的子节点镜像效果。

png

同理再加一个 Symmetry,就形成了四个桌腿。

png

最终效果。

桌子 - 倒角和布尔 03

png png

U + L 循环选择。

选中桌面底部四条边,按 T 拖动以倒角。

png

U + B 环形选择。执行 Bevel 倒角。

png

可以调整 BevelOffsetSubdivision 以修改倒角效果。

png

修改 Phong TagPhone Angle 使得桌面显示平滑。

png

接下来开始布尔操作,感觉比较方便但是对性能不好。

png

创建 Boole

png

如此做,A subtract B

png

同样地,使用 Boole 让桌角平整。

png

最终节点如图所示。

桌子 - 材质基础 04

png

窗口底端有个管理材质的东东。New Standard Material!这将创建一个类似之前学的类似 3ds Max 的材质球。

png

把材质球拖到节点右边即可应用材质。

png

打开 ProRender 渲染器。

png

自己的显卡太新了不兼容……改成 CPU 渲染,但是这样渲染巨慢……WDM。

png

点击绑定在物体上的材质球,可以修改材质球的贴图方式 Projection

png

一些贴图方式的原理。

png

New Node Material。这是目前比较流行的设置材质的方法。

png

啊!真是熟悉的感觉!

TIP : 什么是 UV

png

就像纸模一样,相邻的面之间的 UV 贴图最好是连在一起的。

png

右上角的 Layout 选择 BP - UV Edit 即可操作一些贴图逻辑。

桌子 - 渲染 05

照片级渲染

  1. 真实合理的模型结构
  2. 材质符合物理准确
  3. 写实准确的光源
  4. 正确的摄像机设置 5.(渲染器优秀的算法)
png

加个灯光,得这么加。

png

整一个环境贴图环境光。创建一个 Sky 放入场景。

png

创建一个 PBR(基于物理的)材质,关闭 ColorReflectanceLuminance 选择 HDRI 环境贴图。

png

创建摄像机,打开 Camera 右边的方形小按钮。

png

Camera 的视口绑定到视角上。

png

调整布局后,可以保存。

png

给环境再加个地标和墙。调整相机参数。

png

创建更多材质。

png

设置贴图类型。

png

修改渲染器参数,调整 Iteration Count(原课程调成了 500,这对 CPU 来说简直渲染不动!)

png

设置保存路径。

png

渲染后还可以 Filter 调色。算球吧这渲染也太慢了我佛了。

补丁:PRO RENDER 为什么用不了

我服了……居然说无解……换 Octane 我草这玩意还收费,换 RedShift——Redshift 渲染器 V3.0.45 For C4D R18 – R24 + Houdini + Maya + 3DS MAX 2014-2022 插件版本 Win 破解版 – 龋齿一号 GFXCamp

制作小零食 - 巧克力场景_建模 06

png

创建一个样条线。

png

场景中选择这个星星,工具栏下按下 Shift 后再选择 Extrude

png

调一调参数,多整几个。

png

还可以给模型加个细分,结构如图所示。

png png

使用 Sweep 节点,让 n-Side 沿着 Spline 的轨迹形成一个体。

png png

创建一个球,C 掉,选择所有顶点,T 压扁,再细分。

制作小零食 - 巧克力场景_场景搭建 07

png

上节做的模型一塌糊涂……重新整一个。

png

场景结构图如图所示。

png

给这些模型顶端附上 Cloner 节点,调整参数,就会将这些模型克隆好几份并按规则排放。

png

给这个 Cloner 添加 Effectors

png

使用 Plain 可以给阵列里的对象一个固定的 Transform。

png

如果这里圆形巧克力是倒伏的,需要通过坐标器修改工具将其扶正(而不是直接旋转)。

png

Randomize 可以给对象在一定范围内随机地作 Transform。

png

Push Apart 节点可以防止对象之间重叠。

png

添加相机和平面。

png

最终结构树。

制作小零食 - 巧克力场景_渲染 08

png

创建一个 PBR 环境贴图材质。

png

CloneInstance Mode 选择 Render Instance 可以节约性能。

png

整点巧克力的材质。

png

渲染效果……笑死好假(以后渲染部分还是跳过吧)。

制作小零食 - 薯片场景搭建 09

png

创建一个 Bezier 面。

png

默认的 Bezier 面有 9 个控制点,选中 4 个角缩放,将其变成类似圆形的东东。

png

移动其它控制点。

png

中间这个点,拱一拱。

png

C 掉。按住 Shift 双击选中一条直线,最后选中所有隔一行的线。

png

右键选择 Slide,再按住 Shift 拖一拖。

png

拖完后整个 Bevel 倒角。

png

目前效果,再复制两个调调参数。

png

送它们仨一个 Cloth SurfaceSubdivisions 设为 0Thickness 设为 3cm

png

送它们仨各一材质,便于区分。再送 ClonerClones 选择 RandomInstance Mode 选择 Render Instance

png

新建一个 Plane 垫在底下,给它一个 Collider Body

png

Cloner 一个 Rigid Body

png

调整关键帧长度,开跑!

png

Rigid Body 标签下选择 Bake All,将模拟的结果转为关键帧。

png

整个相机构个图。

制作小零食 - 薯片渲染 10

jpg

不会调材质😭

TIP : Bump Normal Displacement 区别

Bump 凹凸

  • 该通道只能识别黑白信息(灰度图)
  • 黑白信息代表向上突起的程度
  • 数据量有局限

Normal 法线

  • 该通道识别彩色信息
  • 除开明暗信息可以有 Bump 的功能
  • 彩色信息可以定义突起的角度
  • Normal = Bump + 突起角度信息

Displacement 置换

  • 该通道只能识别黑白信息(灰度图)
  • 黑白信息代表向上突起的程度
  • 能形成模型上真正的突起
  • 所以一般用置换 + 法线 的搭配,一个形成真实的突起,一个填补突起的角度细节

制作小零食 - 软糖场景搭建 11

png

整一个星形样条线,C 掉,选中所有顶点,右键 Round

png

提高 RoundPoints 使得形状更平滑。

png

MoText 整一个三维文字。

png

调整文字参数,C 掉。

png

选中五角星和文字,Alt + G 打组,在上一个 Volume Builder,调整 Voxel Size,添加 SDF Smooth

png

打开其它项目,复制瓶子和瓶盖对象,V 切换场景,粘贴到原场景中。

png

相机中添加 Protection 标记可以锁定相机视角,防止误触。

png

一阵操作。对于五角星,可以另复制一份,C 掉再缩放防止错误。

制作小零食 - 软糖渲染 12

略。

游戏手柄 - 硬边建模_大形 13

png

CG 建模方式:拼凑、硬边建模、平滑细分建模、雕刻。

png

Options 下调出 Configure... 菜单。

png

整一个背景参考图。

png png

画两个矩形,然后 Spline Subtract 整一个 L 形。Chamfer 整一个圆角。

png

Sweep 弄一个环形,Boole 挖洞。

png png

整一个十字架!

png

后面继续布尔!

游戏手柄 - 硬边建模_细节 14

png

选中这个十字架,计划在上面刻上按钮。

png

整一个矩形样条线,C 掉,选择点模式,选中顶端两个点,Ctrl 切出第三个点,往上拖。

png

一阵操作后,Boole 选择 Create single object,然后再 C 掉。

png

选中这 8 个点,稍稍向下拖。

png

Live Selection 里选上 Only Select Visible Elements

png

就可以很方便地选中底边这个圈圈!

png

选中某个面,Extrude Inner,再往里拖就会获得小一号的面。

png

将这个面向下拖。

png

这个 Bevel 放在模型的下方就可以倒角。给游戏机的边缘倒一倒角。

png

整一个 7 节圆柱体,C 掉,Scale 里打开 Soft SelectionEnable,就可以开启软选择。

png

中间的几节,U + L 循环选中一个环环后,Extrude 向里缩。

png

数据线就是样条线 Sweep 一阵操作!

游戏手柄 - 渲染 15

png

Bevel 里的 Phong Break Rounding 可以修复某些错误。

png

使用 Instance 而不是复制可以节省性能!

TIP : 三角面 四边面 多边形面

三角面在变形时容易产生尖刺,多边形面容易让模型破掉。多边形面需要重新布线转为四边形面(体积建模/其他牛逼的办法)。

闹钟 - 平滑细分原理 16

png

细分的原理就是取中点,让模型更平滑。因此可以通过卡边的方式控制想要的平滑程度。

闹钟 - 建模大形 17

png

创建一个 Disc Segments5Rotation Segments8Disc

png

Move 里打开 Soft Selection 向后拖。

png

使用 Extrude 给边缘增加厚度。

png

多整几次 Extrude,最后 Close Polygon Hole 封口。

png png

使用 Bevel ModeSolid 的倒角工具给边缘卡边使得平滑细分更加自然。

png

切换到右视图,使用 Line Cut 切边工具按 Shift 向下拉一条线。

png

给这条线使用 Bevel ModeSolid 的倒角工具卡边。打开面选择工具,U + L 切换到循环选择,点击中间的这条线即可选中整个环形,Extrude 向内挤。

png

最后调一调。

闹钟 - 建模头部 18

png

选中闹钟主体的内面,Split 分离出玻璃罩。

png

给这个玻璃罩一个 ExtudeSubdivision Surface

png

给指针轴设计一个 8 边形圆柱体,C 掉后 Extrude Inner 向内整一个面,Extrude 向里挤。

png

指针是立方体,C 掉后选中顶部两条边,Bevel 让指针头更平滑

png

铃铛是个胶囊体,C 掉后 U + L 选中环形边,U + F 选中底边的面,删掉。再 Extrude 挤出,控边 哔哩吧啦……

png

选中一条竖边,Loop/Path Cut 可以环切一条边。

png

最终结果。

闹钟 - 挖洞焊接 19

png

以此法整一个环环。

png

如果这样直接平滑细分,效果不好,得手动布线。

png

关闭平滑细分开整!

png

选中接缝中相近的两点,Wield 合并成一个。

png

将多边形面 Line Cut 成三角形面和四边形面。

png

Bevel 卡边。

png

继续卡!可以把另一半删掉,后面再 Symmetry 镜像回去。

png

Exturde 挤出一点点,卡边。

png

Extrude InnerExtrude 一阵操作,卡边。

png

中间 Boole 一个圆柱,旋转 22.5° 让边平行,继续布线。

png

Loop/Path Cut 卡边。

png

Dissolve 消去不需要的边。

png

最后整一个支架。

闹钟 - 场景搭建 20

可以从 Pinterest 等网站找到场景搭建的灵感。

参考寻找网站:Pinterest 全球最大设计平台:Behance 全球最大的优质视频平台:Vimeo 全球最大 CG 艺术平台:ArtStation

png

如此搭建场景,什么三角构图法云云……

png

墙面转角可用 Chamfer 实现。

闹钟 - 场景渲染 21

png

三点布光法。

打地鼠 - 初识域 22

png

从下载的项目中打开 地鼠工程.c4d,上一个 Clone

png

MoGraphEffector 创建一个 Plain,给其 Parameter 下的 P.Y 设为 1000cm

创建一个 Linear Field,域中的对象将应用变换。

png

也可以整一个 Box Field

png

多个区域可以共同作用。

打地鼠 - 场景组建与着色域 23

png

地鼠工程.c4d 的模型放到 机器.c4d 里面,使用 Cloner 将地鼠放到机器的对应位置。

png

ClonerClones 设为 Random

png

使用 PlainP.Y 设为 -350cm,使用域 Shader FieldShader 设为 NoiseAnimation Speed 设为 0.5Contrast 设为 100%RefreshFrame 打勾。

png

添加 Delay 使得地鼠移动不那么突兀。

Box Field 绑定在小锤锤上,使得当锤子靠近时地鼠就缩头。

打地鼠 - 动画初识 24

png

F/G 键可以让时间轴向前/后挪一帧。

Ctrl + D 设定动画的 FPSRender Settings 下的 Frame Rate 也应该设置。

png

Shift + F3 打开动画窗格。Alt + 滚轮 移动时间轴,Alt + 右键 缩放时间轴。

png

动画窗格有两种模式:Dope sheetF-Curve 模式。

png

一阵操作猛如虎!

打地鼠 - 动画渲染输出 25

略。

风铃 - 刚体动力学绑定 26

png

打开 风铃_01_动力学绑定.c4d,清空 下端绳子 的所有 tag,给它添加 Hair Tags

png

再添加一个 Hair Constaint

png

Hair Contraint 绑定 作为 ObjectDraw 设为下端绳子最顶端的点。

png

SimulateForces 添加 Wind。给下端绳子的 Spline DynamicsForces 放上这个 Wind

png

下面也要绑定 Hair Constraint

png

选中铃铛的底部顶点,设置 Set Selection

png

选中纸币的顶部顶点,设置 Set Selection

png

新建一个 SimulateDynamicsString,设置好对应的 ObjectAttachment

风铃 - 动力学绑定进阶 27

png

上端绳子 添加 Spline Dynamics,选中最顶端的顶点,FixedSet

png

使用 Spring上端绳子 的底部与 低模铛 的顶部中心相连。

png

低模铛 添加一个 Rigid Body TagForces 上添加 Wind

png

TypeBall and SocketConnector低模铛 相连。

png

低模铛Rigid Body TagCollisionShape 设为 Moving Mesh 也是。

png

高模档 添加 Constraint,选择 PSR

png

PSRTarget 选择 低模铛,这样 高模铛 的 Transform 就会与 低模铛 保持一致,减少计算量,最后再把 低模铛 的显示给我关了。

风铃 - 计算优先级 28

png

C4D 渲染是有优先级顺序的,GeneratorsHair 的优先级要比 Dynamics 要高。

png

人为地修改 Spline Dynamics 的优先级。

png

顶端的连接器适合使用 Ragdoll

早餐工厂 - 柔体初识 30

png

Arcn-Side 创建一个通心粉,Object Properties 下的 Intermediate Points 设为 UniformNumber 设为 0。给这个通心粉添加 Soft Body

png

创建一个 Sphere,其 Object 下的 Type 设为 Hemisphere。添加 Collider Body

Ctrl + D 设置中打开 DynamicsVisualization

png

SphereDynamics Body 下的 CollisionShape 设为 Moving Mesh

png

Ctrl + D 下的 Dynamics 下的 Expert 下的 Steps per Frame 设为 5

png

如果动画播放起来很卡,考虑给 Dynamics Body Tag 下的 Cache 使用 Bake All

早餐工厂 - 荷包蛋柔体 31

png

打开下载的工程 早餐工厂.c4d,用 中键 选中 鸡蛋罩子,即可选中其与其下的子物体。右键 Add to Layer

png

层级中打开这个层的 S,即可只显示这个层级下的对象。

png

创建一个 SphereType 选择 HexahedronRadius18cmSegments28

png

U + L 选中中间这一圈,扩大。

png

使用 Loop/Path Cut 给中间这些面切一层。

png

Loop/Path Cut 中的 Number of Cuts 设为 10

png

底下也来几圈。

png

中间来两圈。

中间最好再弄扁一些。

png

给这个鸡蛋来个 Soft Body

png

Ctrl + D 设置中把 Dynamics 下的 Steps per FrameMaximum Solver Iterations per Step 调高一点,增加计算的精确度。

早餐工厂 - 顶点贴图与权重 32

png

Shift + F12 打开 Customize Commands...,选择 Set Vertex Weight...,添加。

png

选中蛋黄的面,Set Vertex WeightValue100%

png

设置煎蛋的 Dynamics Body Tag,设置 Shape ConservationStiffness10Map 为所创建的顶点贴图。这样蛋黄和蛋白的硬度将会有差异。

png

全选煎蛋的所有顶点,Set Vertex WeightValue50%。命名为 Rest Map

png

设置煎蛋的 Dynamics Body Tag,设置 Rest Length 的值为 200%MapRest Map

png

Rest Map 创建一个 Torus Field 以划分出蛋白和蛋黄的范围。

png

在煎蛋落在盘子的一瞬间,应用这个 Field 作为关键帧,前一帧关闭这个 Field 作为关键帧,这样煎蛋落在盘子上会有蛋白扩大的效果。

png

将蛋黄存储选区。

png

烘焙一个煎蛋 100 帧的动画,选中这个煎蛋,Bake as Alembic,生成一个 .abc 文件。

在 Cinema 4D(简称 C4D)中,ABC 文件通常指的是 Alembic 文件,它是一种用于存储和交换复杂动画和几何数据的文件格式。ABC 文件可以包含物体的几何形状、动画信息、变形数据等,适用于在不同的 3D 软件之间进行数据交换和共享。Alembic 格式的优点之一是它可以有效地处理大量的几何和动画数据,使其成为处理复杂场景和动画的理想选择。

png

复制一个 abc 对象,Offset 设为 -40F,实现煎蛋的循环动画。

早餐工厂 - 动画渲染 33

略。

毛发初识 41

png

创建一个 Plane,在上面 Add Hair

png

调出各种工具。

png

Guides 下的 Count 可以设置浏览场景中的毛发数量。

png

Guides 下的 Count 可以设置渲染场景中的毛发数量。

png

拿笔刷一阵操作……

png

Editor 下的 Display 设为 Hair Lines,即可在浏览界面中显示毛发。

绑定 - 初识绑定 机械臂 42

png

打开 机械臂开始.c4d,将对象组织成如图所示的父子级关系形式,这也是一种绑定。

png

选中 第二节 的轴中心的线,打开 Axis Center,设置 Selected EdgesExecute

png

给末端添加 XPresso

png

给末端添加 User DataName打开钳子InterfaceFloat SliderUnitDegreeLimit Max50°

png

这么折腾这个节点。这样调整 打开钳子 这个参数就会同时调整 上钳下钳Rotation.B