https://www.youtube.com/watch?v=q0_koJLc0Og
Blender Tutorial: Washing Text Animation

需要用到插件, 进入用户设置的插件页签Add-ons, 打开如下2个插件
Object: Cell Fracture
Object: Cell Fracture Crack

建模
新增文字, 直立, 增加厚度...
材质:Principled BSDF; Base Color:e47f00
添加修改器:Edge Split

新增Plane, 作为地面:Floor
材质:Principled BSDF; Subsurface颜色:B4B4B4; Roughness:0.2

修改光源Point, Size:3; Strength:3000

修改世界属性,为白色

生成破碎的文字, 模拟文字表面的污垢.
[Shift D]复制文字, 隐藏原始文字对象, 新文字对象偏移一些距离,
添加修改器: Ramesh; Octree Dep:7; 沟选Smooth Shading; 去掉沟选Remoe Disconnected Pieces
[Alt C]转化为网格
左边工具栏Create页签滚动到最下面,Crack it面板; Setting:\Max Crack:500
点击{Crack it} 稍等会儿...
完成后, 留在原地的正常文字可以删除了, 仅保留破损的部分. 选择破碎文字,修改材质.
左边工具栏Create页签滚动到最下面,Crack it面板
Meterial Preset:\ Preset: Tree Red, 点击{Apply Meterial}, 会生成材质节点树:crackit_tree3_red1

右边修改器里, 预览和渲染改为相同的1.

大纲里,找到前面隐藏的原始文本,取消隐藏,变小一点点.
右边文字数据页签\Geometry几何数据面板; 
Offse:-0.01; [S Y 0.7]Y轴缩放到0.7

移动破损的文字, 包裹好正常文字.

新建cube,作为容器,
物理特性:Fluid; Type:Domain; Final:100; Viewport Display: Final;
Time.End:2;
//cache_wash (修改Bake缓存路径)
Fluid Boundary面板\Subdiisions:3
Fluid air bubbles面板\Generate:1

建立水源,新建一个小的plane, 放在文字的前面, 且要放在容器cube的内部.
设置好水源从左到右,再从右到左运动的关键帧动画.

  • 第1帧, 原始位置, 即左边;
  • 第60帧, 右边;
  • 第120帧, 回到左边;

物理:Fluid; Type:Inflow; Volume Initialization:Shell;
Inflow Velocity:动画帧

  • 第1帧, Y=15, [I];
  • 第60帧, Y=15, [I];
  • 第61帧, Y=15, Z=1 [I];
  • 第120帧, Y=15, Z=1 [I];
  • 第121帧, Y=0, Z=0 [I];

原始文本,转换为网格, 物理:Fluid; Type:Obstacle;

选择地面, [shift D], [S] 缩放到大约容器的面积. [G Z]向下移动一点即可, 地面以下即可, 不要偏离太原. 
物理:Fluid; Type:Obstacle; Volume Initialization:Shell;

及时保存
回到容器cube, 物理面板, 点击{Bake}, 等待...

容器cube已经变成水流形态, 设置材质
Surface:Principled BSDF; Transmission:1;

容器cube,
物理,Dynamic Paint\Brush\Add Brush; Paint Source:Proximity; Paint Distance:0.02;

破碎文字
物理,Dynamic Paint\Canvas\Add Canvas; Dynamic Paint Cache面板\Bake
等待...

再次设置破碎文本的材质, 选择破碎文字, 打开Node窗体, 选择材质模式.
已经有一个crackit_tree3_red1, 是前面建立破碎时生成的. 编辑该节点树.
如下图增加Mix Shader, TransparentBSDF, Attribute, Math

  • 其中Attribute节点的Name内容来源: (破碎文本的物理特性Dynamic Paint Outut面板), Paintmap layer:这里显示红色; 点击加号后, 失去红色, [Ctrl C]复制文本框内的文字dp_paintmap到:[Ctrl V]节点Attribute的Name栏.
  • 其中Math,修改计算为Greater Than, 数值修改为0.1;

如下图连接好, 红色标题背景的为新增的部分, (选中节点,点击[M])

3D窗口渲染模式, 能看到清洗过的文本, 留下黑色透明的东西.
右边属性视窗, 渲染页签, Lighy Paths面板:
Transparency: Max: 100(增大到100);
再次查看渲染, 下放清洗过的部分已经透明了.

调整相机位置及角度, 渲染...

Washing Text Animation的更多相关文章

  1. Wood Chipping Text Animation

    Blender Tutorial: Wood Chipping Text Animationhttps://www.youtube.com/watch?v=YFmN7eTNfNw 文字建模 木板建模, ...

  2. 关于JQuery简单介绍

    jQuery是一个兼容多浏览器的javascript库,核心理念是写得更少,做得更多.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用 ...

  3. 推荐20款基于 jQuery & CSS 的文本效果插件

    jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...

  4. Jquery中的事件和动画

    在学习Jquery中的过程中我们绝大部分都用到了事件的操作,也可以说事件是Jquery中必不可少的一部分,我们常见的一些事件有单击事件,鼠标事件,键盘事件等等.在Jquery中的学习中为了能使让页面以 ...

  5. github上所有大于800 star OC框架

    https://github.com/XCGit/awesome-objc-frameworks#awesome-objc-frameworks awesome-objc-frameworks ID ...

  6. jQuery慢慢啃之特效(八)

    1.show([speed,[easing],[fn]])\\显示隐藏的匹配元素 //speed:三种预定速度之一的字符串("slow","normal", o ...

  7. Html基础详解之(jquery)之二

    on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数.on()方法绑定时间处理程序到当前选定的jQuery对象中的元素.在jQuery 1.7中 ...

  8. Appium的安装和使用

    <!DOCTYPE html><html><head><title>Appium的安装和使用</title><meta http-eq ...

  9. AT&T汇编语言学习:利用c库、文件读写

    AT&T汇编.调用C库函数.读/写文件 d0321:更新读文件代码(图片)以后会更新代码版. d0329:汇编文本读取.简单动画. ============================== ...

随机推荐

  1. matlab 调试日志

    debug=; diary off if debug delete('log.txt'); !del log.txt diary('log.txt'); diary ON end diary OFF

  2. bzoj4310

    题解: 后缀数组求出本质不同的串 然后二分答案 贪心判断是否可行 代码: #include<bits/stdc++.h> ; using namespace std; typedef lo ...

  3. String常用方法

    1. String StringBuffer StringBuilder的区别: 001.在执行速度方法 StringBuilder > StringBuffer > String 002 ...

  4. 枚举,Math和Random

    1.实用类: 01.枚举 enum Student stu=new Student(); 我们为了保证用户一个健康的输入! 我们使用了封装特性! 用户就不能直接访问我们的属性了!! private c ...

  5. 从mysql读取数据写入mongo

    # coding:utf-8 # Created by qinlin.liu at 2017/3/14 import pymysql import datetime #pymongo说明文档  : h ...

  6. 上传本地代码到GitHub上

    由于经常忘记Git的相关代码,百度多了自然不耐烦,干脆自己写个简单的博客记录一下代码及流程了...... 1.在GitHub上新建一个仓库: 2.创建完后在仓库左上角的ssh上copy一下地址: 3. ...

  7. C++基础知识:泛型编程

    1.泛型编程的概念 ---不考虑具体数据类型的编程模式Swap 泛型写法中的 T 不是一个具体的数据类型,而是泛指任意的数据类型. 2.函数模板 - 函数模板其实是一个具有相同行为的函数家族,可用不同 ...

  8. SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。

    题目描述               对于如下表actor,其对应的数据为: actor_id first_name last_name last_update 1 PENELOPE GUINESS ...

  9. ORA-02049: 超时: 分布式事务处理等待锁

    java.sql.SQLSyntaxErrorException: ORA-02049: 超时: 分布式事务处理等待锁 ORA-06512: 在 "HECDEV.BGT_JOURNAL_BA ...

  10. Android开发 ---Fragment片段布局

    前言 Fragment想必大家不陌生吧,在日常开发中,对于Fragment的使用也很频繁,现在主流的APP中,基本的架构也都是一个主页,然后每个Tab项用Fragment做布局,不同选项做切换,使用起 ...