在做iOS动画时,那些通过贝塞尔曲线绘制的path,难道真的是凭计算能力手码的吗有没有可视化工具
这个问题有点歧义。问题说的 Path 可以理解成时间曲线,也可以理解成位置曲线。
假如是指 CAMediaTimingFunction 这种时间曲线,这已经有人答了,可以用 CATweaker。
而假如是位置曲线,让物体在特定的路径上移动,可以在 Mac 或者 iPad 上编写一个小程序。导入地图,用鼠标或手指勾画出路径,获取数据点,再将数据点应用到程序中。
直接使用这些数据点,路径可能不够平滑,这时可以使用二阶或者三阶贝塞尔曲线插值,将其平滑。曲线通常难以处理,可以将曲线转成直线。一段二阶贝塞尔曲线,可以从中间可以细分成两段二阶贝塞尔曲线,当细分到一定程度,误差可以忽略,曲线就成了直线。这样原始的数据点,就被处理成更平滑的数据点。
【在做iOS动画时,那些通过贝塞尔曲线绘制的path,难道真的是凭计算能力手码的吗有没有可视化工具】 有数据点后,再调节时间(也可以用 CAMediaTimingFunction),利用简单的牛顿物理,就可以控制匀速、加速、减速运动。
我自己写了个工具,可以分析 swf 的数据格式。所以我不用额外编写工具,而会直接在 Flash 上面画路径,再将 swf 路径点获取出来。
实际上,绝大部分 iOS App 的动画都很简单的,使用系统 CoreAnimation 就可以做到。
而绘本,互动书之类的 App,需要大量角色动画,才需要工具辅助。我使用的工具基于 Flash,可以导出矢量信息,也可以导出二维动画。我写 App 时,图标也是用 Flash 画的,转成代码嵌入到工程中编译。另外的开发者或者团队应该也有各自的称手工具。
一些更复杂的重力、碰撞、弹性动画,就可以使用物理引擎来做。比如 Box2d 或者 iOS 自带的 UIDynamic。
二维动画比较简单,三维动画我就不会了。
------------
附注:我写的 swf 小工具叫 Vecode。AppStore 上的版本只可以将矢量转成代码。而我内部用的可以导出动画,再用相应的 SDK 来读入播放。这部分读入代码一直没有时间好好整理,AppStore 的版本就没有动画导出功能。直接使用 swf 格式,速度会很慢,并且有多余信息,所有需要在电脑上预处理。
■网友
paintCode,CoreAnimator 等工具,可以直接根据图片出代码。
■网友
Paint code
■网友
Photoshop上也有贝塞尔曲线的工具。
■网友
这个是不是楼主需要的GitHub - keefo/CATweaker: A helper tool and an Xcode plugin for creating beautiful CAMediaTimingFunction curve
■网友
应该有第三方的SVG Path 的库吧
推荐阅读
- 为啥旧版windows一直能收到安全补丁,旧版iOS却不
- 能和 Google Calender 方便双向同步的 iOS 日程管理软件有哪些最好也支持iPad
- 求一个2011年左右ios平台的游戏!!!难道就没人玩过
- 为啥腾讯要关闭ios端的赞赏,而不是将支付费用直接乘以1.43倍
- 皮克斯动画|什么野奖?大嫂徐冬冬获年度最佳女演员,其他人听都没听过
- 那些去BAT的人大学都在做啥
- 皮克斯动画|平日靠P图?易烊千玺生图颜值下跌,网友吐槽:他和帅完全不沾边
- 运动|每天坚持运动的人,不一定健康!太多人在做这3种“无效运动”
- iOS 应用中推送(Push Notifications)的机制是怎么样的
- 怎样评价IOS游戏Shadowmatic(投影寻真)