c++输出方块_【Blender】方块波浪动画音乐效果

0d536a26096d2fbe2479efd237791f7a.png

先上结果:

85c11dfc36f77e41ed11bfd21ce5cfb5.png
Blender方块动画效果https://www.zhihu.com/video/1232333427569262592

老规矩:

bebb80c655a914f036eef9ecea863682.png

2d382077065df69ee53835c41f49f538.png

一、设置基本Wave Mesh(波浪面)

  1. 创建Plane,S 8,这样宽度就是2*8=16m了。
  2. Ctrl+A/Object菜单->Apply->Apply Scale——作用:归一化Scale。

4dc95e879dd5f9eaa33755accc5ddc57.png

3.世界大纲中重命名Plane为 "Wave Mesh"波浪网格

e49418cd935c71c3f6597ed311f9e930.png

二、细分Wave Mesh

  1. Tab进入Edit Mode
  2. A选中全部面
  3. 右键 Subdivide细分
  4. 将Number of Cuts设置为 30
  5. Tab进入Object Mode
  6. 可以选中模型空格键入Shade Smooth,来让平面变得更加平滑一些。

如果你没有操作这一步的话,也就是模型没有细分,这个Plane在第三步中只会上下地进行晃动(所以一定要细分啊)

82c7192754d1aa711bb3b82eb6ac2af5.png

57e6cb31f0ad1ee3ad41eee18804152a.png

三、添加Wave Modifier(长得像Wifi信号)

636f8b06087b27891e0bd833741fd2b5.png
Shift+空格播放动画
【提示】世界的小方格一个是1m哦

d05a7231ba4450baacda923c57cb2351.png
Size为2m的Plane

提示】最终的模型长宽是【基准的Size*缩放Scale=最终的尺寸Dimensions】(只是提醒一下大家,前面我们已经归一化Scale了)

如这个就是

  • Size=2m(带单位)
  • Scale=3(没有单位,是常量)
  • Dimensions=6m(带单位)

3655904664293b13f00174c02a5cf2cf.png

【3.1】Wave Constraint参数详解

  • Speed——摇晃的速度(范围-1~1、-1~0不晃动、0~1晃动)【Default 0.25】
  • Height——摇晃的高度范围(范围-2~2m、负为反方向摇晃)【Default 0.5m】

e52ce8ad0a227dc33f7427a2da01a7a7.png
  • Width——每个波浪谷之间的距离(范围0~5m)【Default 1.5m】

38dc8a8145cbff6ff4a6810a4f80076f.png
  • Narrowness:狭窄度【默认1.5】

d9cd185ce2f2142dc12278946683b18d.png
4ff919170d99a3ee7e68a1dfb8067c87.png
Blender Wave 动画https://www.zhihu.com/video/1232048024920596480

51c0cf04600c08cb620459744cb9f5cb.png

四、制作波浪无限循环动画(无卡帧)

  1. 使用Matcap的法线贴图
  2. Z切换至 顶视图,来制作我们的无限循环动画。(更好地观察变化效果)

9a7da30d9c52952c6b5cc4426ae89653.png

3.Shift+F12 进入Timeline(如果你没有的话)

设置起始末尾关键帧:

  • 我们可以用快捷键P选择我们的播放范围
  • 或用Ctrl+C/V复制当前关键帧到开始帧或末尾帧
  • 当然你也可以直接输入开始关键帧和结束关键帧(我这里是 33~45)

当然如果你看不出来的话,你可以用Snipaste 截屏,并玩一玩 找不同 的游戏。(GZ1)

2480eb916ff2487d895470b24b01c218.png

五、设置方块的跟随运动效果

【5.1】添加Cube

【5.2】设置中心枢轴点

  • 进入Edit Mode挪动Cube,GZ1(注意不是Object Mode注意不是Object Mode,注意不是Object Mode,要不然移动的结果是你的Cube的枢轴中心还在体积中心,而不是底面的中心处
  • 或者是在Object Mode下GZ1,然后Object->Set Origin->Origin to 3D Cursor(Origin to Geometry可以切换回来)

22394373fbe4501b0c32310ae2ac8074.png

我们在向游戏引擎当中导入模型的时候经常遇到这样的问题,旋转的基准点不对导致旋转不到位就是枢轴坐标的问题,大家注意一下。

【5.3】添加Shrink Wrap Object Constraint

注意不是Modifer当中的,注意不是Modifer当中的,注意不是Modifer当中的),,两个界面完全不一样好嘛,一个是约束器(Constraint),一种是修改器。(Modifier)

1396fc72e8ffc20b6ee81bd7ccbc2969.png
Modifier修改器当中的ShrinkWrap

21d660c9bbacdf6430ff527b59b9e761.png
Constraint控制器当中的Modifier
Shrink Wrap的作用是 移动约束(Constraint)对象的原点并使其移到其目标对象的表面。(就是包裹在一起跟随父类运动)

相关操作:

  • 选择父类目标:Wave Mesh
  • Project投影,Z轴
  • S->Shift+Z (在XY轴上缩放我们的Cube)
  • Ctrl+A->Apply Scale(跟上面提到过的Plane一样)

a416a1ae08213144fd55f97d71d0ee60.png

六、利用Array Modifier 复制成群的Cube。

  1. 添加Array Modifier
  2. 设置Relative offset-X=1.1——以造成一定的间隙
  3. 设置Count数量为我们刚才说过的30
  4. 复制一份Array Modifier
  5. 并将Cube GZ移动到边缘处。

19a9544201e429c225c587264e7cbbfa.png

这样弄完我们可以清楚地看到我们的枢轴还有一点小问题(这是一个大Cube的枢轴中心)

7e80cdbee4f0b14f362d9a4b860bb2e7.png

下面我们需要将这些复制化的Cube分割成单块

a138fb15eea5c08a026ee105a66e3b19.png

七、将Cube分割成单块

【7.1】Edit Mode选中所有面 Separate By Loose Parts

  1. 进入Edit Mode,A选中所有面
  2. P 分离 By Loose Parts

【7.2】挪动我们的Wave Mesh坐标以产生方块动画的效果

  1. Tab退出Edit Mode,进入Object Mode(因为这个是单个的Cube,外面还有好几百个Cube Object呢,这好几百个Cube的枢轴中心全部都在这个最边边的Cube上,我们需要进行一些改动)
  2. 然后上方 Object->Set Origin->Origin to Geometry

e041eb491f427c8b28d83aabe48dafdc.png

294b9c3743f409e01a271bbc35855906.png

【7.3】挪动我们的Wave Mesh坐标以产生方块动画的效果

  1. 切换前视图,将我们的Wave Mesh 往Z轴上方挪动一些。(GZ1)
  2. 切换顶视图,挪动Wave Mesh 的XY坐标至这些小方块组成的大方块平面中央位置。

可以先看一下效果

10b0ea71455479ce4a7a9d9128e82c71.png
Blender音乐可视化效果[1]https://www.zhihu.com/video/1232278729483276288

3298dcd946ccfea48e6fe0b2a99a6e32.png

八、添加材质并设置Shader蓝图

【8.1】选中任意单个的Cube创建新材质,设置表面为Diffuse颜色贴图

【8.2】将材质球给到所有的Cube

  1. A 选中所有的Cube
  2. Ctrl+L,将材质球给到所有的Cube

8d715adeb3bf4cb954ca3fc1365e1bef.png

【8.3】进入Shading Panel 设置相关蓝图

  1. Shift F3进入Shading Mode,或者鼠标上方滑动菜单栏可切换(如果你的窗口太小的话)
  2. 填写下面的相应蓝图(我已经标明得很详细了,哈哈)

34516b4f60c121c798d8a761ce679203.png

【8.4】挪动相关Wave Mesh 的位置

将场景中的所有模型选中,向下方挪动一点,来跟我们蓝图中的Location.Z相互配合,创建底色。Z进入前视图,A选中所有模型,向下方移动一点,然后差不多Cube刚好被3D Cursor切分两半的位置。

1b74648e2f0f65388ace3ca2d06c921d.png

【8.5】调节蓝图中的Multiply值

(适当调节Multiply中的Value值,使达到这种多彩的颜色)

3e6aa822c673ac87e66070c2caf010d9.png

【拓展1】RGB、HSV、HSL、HEX

  1. RGB——是通过对红(Red)、绿(Green)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各种各样的颜色的,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一,基于笛卡尔坐标系
  2. HSV——色调(Hue),饱和度(Saturation),明度(Value),是根据颜色的直观特性而创建的,也称六角锥体模型
  3. HEX(Hexadecimal)十六进制颜色——如#000000表示黑色,#FFFFFF表示白色,(0123456789ABCDEF),我们的网页端(Cascading Stylesheet,CSS)运用得比较多
  4. HSL——色相(Hue)【颜色名称】,饱和度(Saturation)【色彩纯度,越高越纯,低则变灰】,亮度(Lightness)【跟明度一个意思】,将RGB色彩模型中的点在圆柱坐标系中的表示法。

222d4378acad254279375a3a92c0d3b8.png
RGB笛卡尔坐标体系

d7a1a47ece84e2a2d7849ef764c49aea.png
HSV六角锥体系

65b9e64bf38a609948fb143c1bdae502.png
HSL圆柱坐标体系

A选中所有蓝图节点,然后S可以缩放这些节点的大小位置。

【拓展2】材质球随机颜色制作

6fb129733885f113455030e4ffefeeea.png

注意事项:

  1. RGB(不管是R=1.0还是 G=1.0,B=1.0都可以,因为它的颜色我们在蓝图当中设置是跟随位置变化的,这里取的就是单个颜色值,主要是RGB这红绿蓝三个颜色,当然你也可以混合设置,设置红+绿(R=1.0、G=1.0)=黄或者是 绿+蓝(G=1.0、B=1.0)=青等等)
  2. 下方输出结果Color Ramp这里,这里测试的时候使用HSV(六角锥)和HSL(圆锥)是一样的效果,注意线性插值改为Far,这样色相(颜色名称)就会像圆一样从Hue(0.001~0.009)循环一圈
9b814acdfcc2ce0e13dbba58eb6c868a.png
Blender七彩色运动效果https://www.zhihu.com/video/1232309824987680768

61785b8d350be9851e25ccc1b8ec2fbc.png

九、添加音乐,让方块跟着音乐一起运动(加强版)

其实到第八步就可以了,但是感觉少了点什么,对,就是音乐的伴奏。让我们方块的高低起伏(高度)跟着音乐一块走。

Blender当中默认25帧是1s,大家注意一下,你可以在Timeline这里设置(如1500就是60s一分钟)

10dcf172a928e1aef108f5cc1b12b3b3.png

【9.1】添加音乐

Shift+F8 进入Video Sequencer,添加我们的预览声音(音乐)。

cd5b6c6fc70ae84291088505dd688a2f.png

【9.2】我们变化中间方块的高度有三种方法:

  1. Wave Mesh当中Wave Modifier的 Height高度参数。
  2. 单个Wave Mesh G Z向上移动(方块就会跟着向上方增高)
  3. 设置所有方块(Cube)的Location.Z(全选除了Wave Mesh之外)

由于给所有方块添加关键帧比较麻烦,我们这里就给Wave Mesh的单个Height高度参数添加关键帧。(第一种方法)

【9.3】给Wave Modifier的Height高度参数添加关键

15dd37821050cc257224620f276dd4fc.png

【9.4】烘培音乐曲线

然后Shift+F6(或者十字加号分屏也可以的),烘培音乐曲线。

a96713166353ab8d45a736960faf3a22.png

【9.5】更改其他参数方法

  • 改速度:Wave Mesh 当中的Wave Modifier 的Speed 参数。
  • 改中间区域方块的颜色:更改蓝图当中Multiply的值Value
  • 变换底盘(四周)的颜色,A全部选中,GZ进行移动

最终结果:

f78dda9b38d28c7919a7809ac9049b69.png
Blender方块动画音乐效果https://www.zhihu.com/video/1232332915528245248

另外:我记得虚幻官方好像也有一个这个新闻,我忘了链接了,是在Unreal当中用材质球Absolute World Position实现这个效果的。

温馨小提示:忙了一天了,千万晚上也不要加班搞了。晚上的效率是极其低下的。昨天写这个,就因为那个Modifier跟Constraint让我搞了很长时间,特别不细心,效果出不来,越来越急。晚上还是以娱乐放松为主的,看看书,听听歌,弹弹琴这样不需要太费脑细胞的娱乐活动。大家,注意哦。

制作不易,如果你喜欢本文的话,麻烦您多多点赞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Could not autowire. No beans of 'xxxx' type found的错误提示

spring 集成mybatis 找不到 beans 查了很多网页,解决办法是: 在PersonMapper 上加 Repositorypackage zengmiaogen.csdn.cn.mybatis;import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.ut…

怎么把页面按比例缩小_做PPT多图排版千万别套模板了,按这28种版式来,绝对靠谱!...

编按:各种类型的PPT经常会用到图片,这些图片到底如何排版才更出色呢?今天给大家分享一篇PPT图片排版手册,主要介绍了多张图常见的排版方式,希望能帮助到您!嗨,大家好,我是P小白。一张…

磁盘阵列怎么做_设计与后期制作该怎么选择笔记本电脑?朋克老师来教你

最近有很多人问我设计与后期制作该怎么选择笔记本电脑?既然选择笔记本电脑就说明在相关工作中对电脑有移动需求,比如自媒体、记者、影视后期出组人员等等,那该如何选择呢?视频剪辑咱们按工作内容分类聊一聊。第一类,平…

EventBus源码分析

简介 前面我学习了如何使用EventBus,还有了解了EventBus的特性,那么接下来我们一起来学习EventBus的源码,查看EventBus的源码,看看EventBus给我们带来什么惊喜以及编程思想。 这个图我们从一开始就一直放置在上面了。我们在来回顾…

Vue.js 概述与 MVVM 模式

一、Vue.js 1. Vue.js 是什么 Vue.js 是一个轻巧、高性能、可组件化的 MVVM 库,拥有非常容易上手的 API; Vue.js是一个构建数据驱动的 Web 界面的库。 2. Vue.js 的特性 1. 轻量级的框架 2. 双向数据绑定 3. 指令 4. 插件化(组件化&#…

ipad录屏软件_如何在 Mac 上优雅的截图和录屏

在使用电脑的时候,很多时候我们都需要截屏或者录屏分享。所以你可能已经听过 snip,或者经常使用 QQ、微信 等软件来实现截屏。但是今天我们一起来看一下,怎么使用系统提供的功能,来优雅的实现截图和录屏。最开始的这几篇都比较基础…

安卓平板微信和手机微信同时登陆_Mac电脑如何同时登陆多个微信或QQ

现如今,微信和QQ已经不单单是简单的社交软件了,也成了工作必备软件,工作中用它传个文件,发个通知,不知道有多方便。但是很多人希望将工作圈和生活圈分开,有人想出拿两部手机的方法,倒是可以&…

苹果x人脸识别突然失灵_教你解决mac电脑键盘失灵的问题

无论是使用WIN系统还是苹果电脑都有可能遇到键盘失灵,无法使用的问题,那么苹果电脑键盘失灵该怎么解决呢?这里macw小编为大家带来了苹果电脑键盘失灵解决教程,赶紧收藏起来吧!无线键盘失灵解决教程1、确保蓝牙已启用并…

产品文档如何说清楚产品业务?关注这几点就够了

如果产品文档没把产品业务说清楚会有什么影响? 常见的:产品不符合业务(实际使用场景),验收不通过,需要加班修改,调整。产品经理被骂。 严重的:甲方爸爸受不了了,换供应…

高德百度地图如何获取附近小区酒店银行等?

概述 实现以下功能:根据当前定位,查找附近小区 实现步骤 高德,百度地图实现方式相同,步骤都是如下: 1.获取当前位置的经纬度 2.查询poitype编码。 (小区,写字楼,银行&#xff0…

angular 字符串转换成数字_Python基础语法大全:字符串的处理与使用

本文来自牛鹭学院学员:邓瑞杰字母处理string.capitalize()返回元字符串,且将字符串第一个字母转为大写,其它字母小写string.title()返回元字符串,且将字符串第一个字母转为大写,其它字母小写string.swapcase()用于对字…

1亿像素的真相

世界那么大,谢谢你来看我!!关注我你就是个网络、电脑、手机小达人 乔布斯曾说,“手机拍照上主打高像素,是手机厂商利用广大消费者对照片成像原理知识漏洞的表现。” 小米发布了一款有1亿像素的概念型手机&#xff0c…

python实现链表的删除_Python中 为我们提供了一些独特的解决方案的方法特性

实际上,在日常的工作中,我们很多需求,无论是常见的、还是不常见的,Python 都为我们提供了一些独特的解决方案,既不需要自己造轮子,也不需要引入新的依赖(引入新的依赖势必会增加项目的复杂度)。但是 Python…

打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例

2019独角兽企业重金招聘Python工程师标准>>> 今年6月SAP发布C/4HANA之后,有顾问朋友们在公众号后台留言,询问C/4HANA如何同SAP的数字化核心S/4HANA系统结合起来,从而打通企业的前后端业务,帮助企业实现数字化转型。 有…

爬虫的重要思想

1.理论上讲只要网页上面能够看到的数据都是可以爬取的,因为所有看到的网页上的数据都是服务器发送到我们电脑上面的,只是有的数据加密过,很难解密。 2.在网页上无法看到或者无法获取的数据,爬虫同样不可能拿到,比如一…

python web环境傻瓜搭建_python——web 环境搭建

1.安装引用第三方库 selenium pip install selenium 2.下载浏览器驱动(驱动版本和浏览器版本要对应参考链接 http://npm.taobao.org/mirrors/chromedriver/) 查看浏览器驱动对应关系,本次已最新驱动版本作为教材讲解 版本2.42 发布时间2018.9…

项目管理十大知识领域,为何不含

问:项目管理十大知识领域,为何不含以下几项:立项管理,合同管理,文档管理,变更管理? 答: 立项完了才有项目; 合同管理包含在采购管理; 变更管理在整体管理&am…

在职场遇到一个总是说话带刺的同事怎么相处?

网友: 带刺的人如果总是扑空,或者总是戳进一团棉花,你说他,她还能坚持多久。职场重心是工作,是做事,不要为这些无聊的人事太费心,刺猬带着刺到处转,最后结果不会好的。 网友&#xf…

postgresql 怎么读_大数据采集和抽取怎么做?这篇文章终于说明白了!

本文来源于公众号【胖滚猪学编程】,转载请注明出处! 关于数据中台的概念和架构,我们在大白话 六问数据中台和数据中台全景架构及模块解析!一文入门中台架构师!两篇文章中都说明白了。从这一篇文章开始分享中台落地实战…

ZooKeeper应用——解决分布式系统单点故障

1.单点故障问题什么是分布式系统中的单点故障:通常分布式系统采用主从模式,就是一个主控机连接多个处理节点。主节点负责分发任务,从节点负责处理任务,当我们的主节点发生故障时,那么整个系统就都瘫痪了,那…