如何使用Blender制作卡通三渲二效果

本文介绍了如何在Blender中通过简单步骤制作卡通三渲二材质和描边效果。首先,通过连接漫射BSDF、Shader-RGB和颜色渐变节点来创建三渲二材质,调整颜色以定制所需外观。其次,通过添加自发光着色器、实体化修改器并调整参数来实现卡通描边。这个教程适合Blender初学者尝试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

推荐:将 NSDT场景编辑器 加入你的3D开发工具链。

  今天来分享一个在Blender中实现简单卡通三渲二效果和卡通描边的方法,基础的卡通三渲二效果在Blender中还是很简单的只需要几个节点就能解决,即使Blender不太熟练的小伙伴看完这篇也能做到~

1、卡通三渲二材质

  首先给你的模型创建一个材质球,删除原理化BSDF着色器,材质输出不要删除。

  接下来创建3个节点分别是:漫射BSDF、Shader-RGB、颜色渐变,按照图上连接方式连上节点,把颜色节点的插值类型改为常值。

  按加号可以添加一个颜色过渡块,每一块小格子代表一个颜色,在下方可以更改颜色。

### 使用 Blender 实现效果 #### 方法一:基于 Eevee 的卡通染设置 为了创建带有笔刷效果的影子,在材质编辑器中可以应用沃罗诺伊纹理来调整阴影形状,防止光栅化问题。对于自发光和 Shader 转 RGB 技术的应用十分广泛,尤其是在追求次元风格的作品里。这些技术能够帮助模拟出更加生动的画面质感[^3]。 ```python import bpy # 创建新的材料并启用 'Use Nodes' material = bpy.data.materials.new(name="CartoonMaterial") material.use_nodes = True nodes = material.node_tree.nodes links = material.node_tree.links # 移除默认 Principled BSDF bsdf_node = nodes.get('Principled BSDF') if bsdf_node is not None: nodes.remove(bsdf_node) # 添加 Emission 和 Shader to RGB 节点 emission_node = nodes.new(type='ShaderNodeEmission') shader_to_rgb_node = nodes.new(type='ShaderNodeShaderToRGB') # 连接节点 links.new(emission_node.outputs['Emission'], shader_to_rgb_node.inputs['Shader']) # 设置输出节点 output_node = nodes.get('Material Output') links.new(shader_to_rgb_node.outputs['Color'], output_node.inputs['Surface']) ``` #### 方法:结合 BSDF 与菲涅尔效应 此方法涉及到了混合不同类型的着色器以达到特定视觉效果的目的。具体来说,就是将漫反射 BSDF 和透明涂层相结合,并通过菲涅尔因子控制两者之间的过渡平滑度。这样不仅可以强化物体表面特性,还能营造出独特的艺术氛围。 ```python # 继续上面的例子... fresnel_node = nodes.new(type='ShaderNodeFresnel') mix_shader_node = nodes.new(type='ShaderNodeMixShader') # 插入 Fresnel 输入到 Mix Shader 控制权重 links.new(fresnel_node.outputs['Fac'], mix_shader_node.inputs['Fac']) # 将原始发射节点连接至第一个输入端口 links.new(emission_node.outputs['Emission'], mix_shader_node.inputs[1]) # 新建一个 Glossy BSDF 并将其连接到第个输入端口 glossy_bsdf_node = nodes.new(type='ShaderNodeBsdfGlossy') links.new(glossy_bsdf_node.outputs['BSDF'], mix_shader_node.inputs[2]) # 更新最终输出路径 links.new(mix_shader_node.outputs['Shader'], shader_to_rgb_node.inputs['Shader']) ``` #### 方法:添加轮廓线(描边) 为了让角色看起来更像手绘插画,可以在对象上附加 Solidify 修改器,并配合专门设计用于显示边缘线条的新材质完成这一目标。这一步骤的关键在于适当调节参数使得线条宽度适中且自然流畅。 ```python # 获取当前活动的对象 obj = bpy.context.active_object # 应用 Solidify Modifier 来增加厚度 solidify_modifier = obj.modifiers.new(name="Solidify", type='SOLIDIFY') solidify_modifier.thickness = -0.05 # 设定为负值表示内部扩展 solidify_modifier.offset = 1 # 向外偏移量 solidify_modifier.use_flip_normals = True # 反转法线方向以便正确显示内侧 solidify_modifier.use_even_offset = False # 关闭均匀分布选项获得更好看的结果 # 定义一个新的纯黑材质供轮廓使用 outline_material = bpy.data.materials.new(name="OutlineMaterial") outline_material.diffuse_color = (0, 0, 0, 1) # 黑色不透明 bpy.ops.object.material_slot_add() obj.material_slots[-1].material = outline_material ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值