Newcar-现代化前端动画引擎(Skia+WebAssembly+WebGL)

Newcar介绍

Newcar是一个现代化的前端动画引擎,基于CanvasKit-WASM,在Skia的WebAssembly版本的加持下,既保证了它的性能,又带来了强大的绘图功能

特点

  1. 高度可自定义化的API
  2. 链式语法,区别于传统动画引擎和游戏引擎需要将物体保存为变量的方式,链式语法会让开发效率更高
  3. 拥有类似于Vue的diff算法的内核,进一步保证了动画的效率和“按需更新”的进行
    4.可以在浏览器上运行,也可以配合ffmpeg在本地(nodejs)上运行

未来计划

  1. 可以从项目根目录下的mods目录看,目前newcar已经发布了数学模块(包括数轴,平面直角坐标系,函数图像等),未发布的有:几何模块,markdown模块,动态图表模块,ui模块,物理模块,思维导图模块等等
  2. 未来将推出事件系统,让他变成动画游戏二合一引擎
  3. 一些小的东西比如动画树

背景故事

我初三的时候上数学课时,老师掏出了他清朝老幻灯片进行讲解,结果里面的flash课件打不开,因为电脑没有安装flash。于是我就在想,既然flash功能那么强大但没落了,我为什么不自己写一个类似于flash的库呢?说干就干,在2022年9月份开始思考,一直到12月份开始编写代码

刚开始的newcar十分简陋,甚至是基于原生Canvas的,性能非常差,动画编写的步骤也很繁杂。后来的newcar除了模仿flash,也集合了Manim等动画引擎及svg动画的设计原理。目前的Newcar的最新版本是重写重设计后的版本,但是未来会有更强大的功能

给个免费的star再走吧🥺