当前位置: 首页 > news >正文

maya建模与骨骼动画快速实现人工鱼

背景

这个月学校举办人工鱼大赛,简单的说就是通过编程实现一或多条鱼的形态、行为、动作、习性等仿真。

▼涂晓媛的人工鱼概念图
clipboard.png

听了讲座后感觉这个课题可以从上述四方面入手。
在形态中的例子:鱼叶海马的游动;六斑刺鲀的膨胀。
在行为中的例子:沙丁鱼群游动;鱼游动避障;鲤鱼跃龙门行为。
在习性中的例子:交配,产卵,珊瑚小丑鱼协作环境。

上半段特地撇开智能二字,因为不是说智能就能智能得起来的,背后算法的支持必不可少,本文最后会根据老师资料整理出真正的人工智能鱼模块实现算法与思路。

Maya大法好

由于力求简单快速实现,只要求Maya快速入门。分两步走,1.动画 2.建模。

1.动画

动画比较重要,之后建模直接上图。在动画中我们只考虑两个因素,一个适宜的前进,另一个是鱼的身体摆动。

1.1鱼的身体摆动
如图,通过Maya绑定骨骼,从鱼头到尾部,总共应该有4到5个节点。
通过三角函数,形如f(x)=a*sin(x)+b,延伸至其他几个节点,通过调整a控制摆动幅度,b控制横向摆动位移,整条鱼的摆动类似于汉明窗在三角函数的立体空间推移。如下图
▼简陋的鱼外形配上骨骼
图片描述

1.2适宜的前进
观察行为有很多情况,如:
转向:身体横向位移减少,前进速度几乎不变。
前后翻转:翻转后快速前进一段距离后速度恢复。
平衡:没有摆动,在空间内缓慢位移。

▼一条没贴图的热带鱼
图片描述

2.建模

简而言之,拖个球体,经纬度条数多一点,然后慢慢捏就行啦。

▼感觉自己萌萌哒
图片描述

最终成果

▼没有贴图,凑合着看吧
图片描述

真人工智能鱼模型思路资料汇总

整理自《人工智能鱼典型模型与算法》,感觉这才是重点,以后可以参考学习一下。

1.感知模型
1.1 基于BP神经网络的视觉感受器模型
1.2 基于模糊推理的人工鱼嗅觉感知模型
1.3 基于模糊神经网络的人工鱼味觉感知模型
2.认知模型
2.1 预定义生理发育认知模型
2.2 预定义精神状态(摄食欲望/交配欲望/恐惧感)认知模型
2.3 预定义产卵认知模型
2.4 预定义环境选择认知模型
2.5 随意性行为(情景树|自繁衍行为)
3.行为模型
3.1 个体
3.2 群体
4 其他
形态外观模型(nurbs曲面)
生物力学(质点-弹簧-阻尼)
肌肉肉与水动力学
数字仿真(游动|左转|右转|滑行|上浮|下浮|平衡|制动|后退) 海底虚拟环境模拟 ...

参考资料

《人工鱼-计算机动画的人工生命方法》涂晓媛

《maya白金手册》5册一套

相关文章:

  • C#break和continue学习
  • jmeter(十)参数化
  • 用9种办法解决 for 循环取 i
  • 微信小程序无埋点数据采集方案
  • 一次Linux服务器***查杀经历
  • JS编程建议——71:推荐分支函数
  • 第五十四课、被遗弃的多重继承(下)
  • 拖拽div大小
  • 4xx错误的本质:服务器已经接收到请求
  • sql server 查询表结构
  • Swift 中异常抛出和四种异常处理
  • JDK Tools and Utilities---Java Troubleshooting, Profiling, Monitoring and Management Tools
  • Sagit.Framework For IOS 开发框架入门开发教程2:一行代码实现引导页
  • 简单实现UIlabel可复制功能
  • 大数据学习系列之五 ----- Hive整合HBase图文详解
  • co模块的前端实现
  • golang中接口赋值与方法集
  • input实现文字超出省略号功能
  • JavaScript学习总结——原型
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java多线程(4):使用线程池执行定时任务
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • leetcode讲解--894. All Possible Full Binary Trees
  • PaddlePaddle-GitHub的正确打开姿势
  • pdf文件如何在线转换为jpg图片
  • 从PHP迁移至Golang - 基础篇
  • 给Prometheus造假数据的方法
  • 判断客户端类型,Android,iOS,PC
  • 数组的操作
  • 提醒我喝水chrome插件开发指南
  • 我看到的前端
  • 阿里云ACE认证学习知识点梳理
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #pragma multi_compile #pragma shader_feature
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (一)Dubbo快速入门、介绍、使用
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .NET CF命令行调试器MDbg入门(一)
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net 无限分类
  • .NET6实现破解Modbus poll点表配置文件
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET命令行(CLI)常用命令
  • .net下简单快捷的数值高低位切换
  • .NET运行机制
  • .pop ----remove 删除
  • /proc/interrupts 和 /proc/stat 查看中断的情况