Unity3d 实现顶点动画

在今年GDC上发现一个非常有趣的演讲,叫做Animating With Math,遂实现之,是讲述顶点shader动画的,举了几个经典的例子,但是讲者并没有给代码,而是像虚幻引擎那样的节点,这样更加清楚明了
之前博主通过顶点着色器实现了水的波动算法:

unity3d 制造自己的水体water effect(二)

顶点着色器动画可以减少动画的开销,并减少关节joint的数量
开始举的例子都很简单,可以着手一试
 
 
 
关于vertex color是自定义的一个贴图,会控制各种参数下面会说明
接下来的例子是一个怪物的“收缩”,类似气泡沸腾有凹有凸的动态效果
 
蓝色通道是cos函数的相位,控制了凹凸动作的“时差”,产生沸腾效果的根本原因
红色通道控制整体收缩大小(程度)
可以通过添加通道来添加控制相位变量的数量,从而增加凹凸效果的多样性和复杂性
 



虚幻引擎的例子
 

效果如下:



下一个是博主最喜欢的一个效果,实现头发随风飘动,效果绝赞
之前在14年siggraph Bungie的TA讲头发也讲了这个效果,叫HAIR IN DESTINY

 

这里增加了一个noise,博主通过一张模糊过的(为了效果平滑)noise贴图实现
和上一个例子一样,
红色通道:飘动强度
蓝色通道:相位时差
 
 

用可爱的塞拉酱的实现效果如下:

强烈飘动:

轻微飘动


还可以用贴图实现整体变化,可以用来模拟动画,表情动画等等
 

 
 




下一个例子是模拟绳子的弹性

通过looseness和wire slack两个变量来控制振幅

 
 


实现结果:

手头没有绳子模型,,随便找了个石头模型拉长代替了。。。。






然后最后一个感觉很重要的就是旋转
通过各顶点与如下相乘来旋转物体,基础知识,不知道的快去恶补数学
 

 

实现结果如下:


博主近期渲染:

 

近期渲染

 

 

 

 

 

                              ---- by wolf96

 













转载于:https://www.cnblogs.com/zhanlang96/p/5411029.html

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

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

相关文章

php codeigniter ext,php – 私有服务器上CodeIgniter不正确的系统路径

上传到服务器的codeigniter项目给我以下错误.Your system folder path does not appear to be set correctly. Pleaseopen the following file and correct this: index.php它在当地运作良好在000webhost.com托管.When uploaded to private server of parallels it gives the a…

对于表单的一些想法

表单 <form id"" name"" method"get/post" action""> 其中get提交长度有限制&#xff0c;并且编码后内容在地址栏可见&#xff0c;post与其相反。 </form> 文本输入 文本框<input type"text" id""…

REST端点,可使用Apache Camel进行集成

REST是一种用于组织资源的体系结构样式&#xff0c;当应用于基于HTTP的服务时&#xff0c;REST可以构建无状态的&#xff0c;解耦的&#xff0c;可伸缩的服务。 HTTP方法&#xff0c;HTTP标头和mime类型都允许开发人员实现REST样式。 诸如Jersey和Fuse Services Framework&…

Appium+Python API相关知识了解

首先&#xff0c;要先了解&#xff0c;官方Appium API // https://testerhome.com/topics/3144 刚开始的时候&#xff0c;没有看官方API&#xff0c;然后在网上瞎找学习资料&#xff0c;发现python相关的很少&#xff0c;看了API才知道&#xff0c;就是selenium webdriver的定位…

JSON用于多态Java对象序列化

长期以来&#xff0c;JSON已成为客户端和服务器之间各种数据序列化的事实上的标准。 除其他外&#xff0c;它的优势是简单和易于阅读。 但是&#xff0c;简单起了一些限制&#xff0c;我今天要谈的其中一个限制是&#xff1a;存储和检索多态Java对象。 让我们从一个简单的问题开…

linux 命令分类,常用linux 命令分类整理(篇一)

工作中接触linux时间也不算短了&#xff0c;不同于Windows的图形化操作&#xff0c;使用linux几乎百分之九十五的情况是在命令行下过日子&#xff0c;过去的两年里&#xff0c;零零碎碎整理过一版自己工作中涉及到和学习过的命令(不过常用的只有三十个左右)&#xff0c;思前想后…

考研复习策略

考研复习是一个不容易的过程&#xff0c;有好的策略事半功倍&#xff0c;以我曾经失败的教训和成功的实践给出了我认为不错的策略&#xff0c;只要能做到&#xff0c;我相信一定能考研成功。 院校选择&#xff1a;985院校在选择考研院校是有优势的&#xff0c;院校考虑的因素有…

js中的this指针(二)

在 js 中声明并定义一个函数后&#xff0c;除了定义时传入的形式参数&#xff0c;函数还会接收到 2 个附加的参数&#xff1a;this 和 arguments。 this 指针的值取决于调用时的模式。 当这个函数被保存为对象的一个属性时&#xff0c;它被称为“方法”。当一个方法被调用时&am…

使用AspectJ和Spring简化了AOP

我最近开始研究面向方面的编程&#xff08;AOP&#xff09;&#xff0c;至少可以说使我兴奋。 当然我很熟悉它&#xff0c;因为我看到它在Spring中用于事务管理&#xff0c;但是我从未深入研究它。 在本文中&#xff0c;我想展示通过AspectJ可以快速掌握AOP和Spring。 本文中的…

第一冲刺阶段 工作总结 04

1、昨天我继续我的任务&#xff0c;连接数据库。 2、今天打算继续做数据库的连接。 3、遇到的问题&#xff1a;昨天在数据库连接时&#xff0c;老是连接不上&#xff0c;显示错误&#xff0c;所以今天打算接着弄。转载于:https://www.cnblogs.com/zz0906/p/5422510.html

windows2012同步linux时间,Windows server2012时间同步NTP配置

遇到经常服务器时间无法同步&#xff0c;可以自己建立一台时间同步服务器&#xff0c;NTP配置如下&#xff1a;一、服务端配置 (Ntp服务器&#xff0c;客户端将根据这台服务器的时间进行同步)1、微软键R键&#xff0c;进入“运行”&#xff0c;输入“regedit”,进入注册表2、 H…

反差萌

反差萌 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description有2N个人&#xff0c;每人有个萌值Mi(1<i<2N)。 要求将他们分为N对&#xff0c;使得反差值之和…

Java EE 6示例– Galleria第2部分

您可能在最后一篇Java EE 6 Galleria示例帖子中关注了我。 第一个是基本介绍。 第二个是关于在最新的GlassFish上运行它。 有人提到RedHat&#xff0c;我们应该研究将这个示例从GlassFish中移除。 很好;&#xff09;感谢您的好主意。 这正是我们今天要做的。 我将把Galleria示例…

suggest

http://lovebeyond.iteye.com/blog/941633转载于:https://www.cnblogs.com/sunxun/p/5421251.html

linux的tar命令压缩26g文件,linux如何使用tar命令大包压缩进文件

linux如何使用tar命令大包压缩进文件发布时间&#xff1a;2020-05-29 12:30:14来源&#xff1a;亿速云阅读&#xff1a;206作者&#xff1a;Leah本篇文章主要介绍linux中使用tar命令大包压缩进文件的方法。内容比较详细&#xff0c;文章包含了命令的使用示例&#xff0c;希望大…

与reCAPTCHA的Spring集成

有时我们只需要CAPTCHA &#xff0c;这是一个可悲的事实。 今天&#xff0c;我们将学习如何与reCAPTCHA集成。 因为主题本身并不是特别有趣和高级&#xff0c;所以我们将通过使用Spring Integration处理低级细节来过度设计&#xff08;&#xff1f;&#xff09;。 Google决定使…

《机器学习基石》---感知机算法

1 推导感知机模型 基本思想是&#xff0c;把特征的线性加权值作为一个分数&#xff0c;根据这个分数与一个门限值的关系来进行分类&#xff1a; 我们加一个特征x0等于1&#xff0c;门限值就可以放到w里面去&#xff0c;得到更简单的形式&#xff1a; 这就是感知机模型&#xff…

未知错误:1000正在终止线程

若在try{} catch{}的catch 块中加入 catch (Exception ex) { Response.Write(ex.Message); Response.End(); } 则捕获异常后&#xff0c;提示未知错误&#xff1a;1000正在终止线程 转载于:https://www.cnblogs.com/dennysong/p/5422567.…

分叉并加入Java 7 – JSR 166并发实用程序

Java 7最有趣的改进之一是对并发的更好支持。 使用JSR 166并发实用程序&#xff0c;我们可以对并发进行一些非常有用的改进。 在我看来&#xff0c;fork-join库在软件工程中具有很高的实际应用潜力。 Fork and join为算法提供了非常简单的编程模型&#xff0c;可以将其实现为递…

linux内核源码代码量,Linux内核源代码数量已经超过1000万行

Linux版本2.6.27更新后,人们发现,这一内核的源代码数量已经超过了1000万行.当然,这些行数仅仅是计算机统计出来的行数,包括空白行,为了代码的可读性增加的注释等,当然Linux和所有的长期项目一样,随着时间的推移,旧的代码 会被丢弃和更换,但总体规模来说,Linux的内核在不断增强,…