步骤

参考RuiHuang_art在b站的教学视频

  • world property: 加入一个CyberPunk背景的贴图
  • 制做车流:
    • 添加一个Plane mesh
    • 在Edit编辑模式下, 按A选中, S+X, S+Y 沿X,Y轴双向拉伸, 拉成长条形
  • shader: 目的是把车流改成带纹理, 自发光, 透明的效果
    • color:
      • 下载一个灯火通明的城市俯瞰图
        • Pasted image 20240201173155.png
      • 我们只想要图中亮的地方
    • emission: 把贴图纹理连到bsdf的emission
      • 需要调整strength: 把strength调大之后好像发的都是白光?
    • alpha(调整车流的透明度): 除了贴图本身暗的地方转成透明, 我们还想要一个两端完全透明->中心的渐变
      • 根据原图亮度设置透明: 暗处透明, 亮处不透明
        • 给贴图连接一个Color Ramp
      • 设置两端完全透明->中心的渐变
        1. texture Coordinate 的uv生成平面的坐标
        2. Gradient Texture 提取x方向
        3. Color Ramp 做一个 暗->亮->暗 的渐变
      • Mix Node 把上面两个控制透明度的图融合
        • 调成Multiply模式: 原视频用的是Mix模式, 把一个设成alpha, 和黑色平均..这应该和直接用Multiply等价..
      • 在Material Properties把blend改成alpha blend
    • Hue/Saturation/Value Node 调颜色
  • 加入动画:
    • 在shader里给贴图加上mapping
    • 调整mapping的location
      • 在Mapping的location插入关键帧
      • Graph Editor 里编辑: 需要快捷键T调出Select Box, 把需要更改的mapping选中
      • 选中后在Graph Editor的Shader Nodetree里编辑Y Default Value
      • 添加Modifier, 把x^1改成需要的速度0.05
    • 另外用Object Info 获取object的位置加到location里, 给每个不同位置的车流加一个location的变化
  • 复制多个车流组合
  • 结果: 当然也只能远看
    • car_flow.mp4

shader流程

Pasted image 20240201172349.png