Kokon
一款免费的本地化方案,可替代 Nano Banana 和 Generative Fill。涂抹区域,输入更改,由您自己的 GPU 进行编辑。提供 Windows、Mac 和 Linux 的单一安装程序。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A browser-based tool for creating animated device mockup renders. Load a custom screenshot or video onto a 3D iPhone or MacBook model, set keyframes, and export as a PNG, PNG sequence, or WebM video — all client-side, no server required.
index.html loads Three.js, lil-gui, and JSZip from a local vendor/ directory (gitignored). Populate it once by downloading the files from jsDelivr:
| File | URL |
|---|---|
vendor/three.module.min.js | cdn.jsdelivr.net/npm/[email protected]/build/three.module.min.js |
vendor/three-addons/ | cdn.jsdelivr.net/npm/[email protected]/examples/jsm/ (only the addons you need) |
vendor/lil-gui.esm.js | cdn.jsdelivr.net/npm/[email protected]/dist/lil-gui.esm.js |
vendor/jszip.min.js | cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js |
Then serve the directory:
npx serve .
# or
python3 -m http.server
Tip: if you don't need the multi-file version, just open
standalone.html— it loads everything from CDN and requires no vendor setup.
Run the build script to produce a self-contained standalone.html with both 3D models embedded as base64:
node build.js
Open standalone.html directly in a browser — no server needed.
| Control | Action |
|---|---|
| Left-drag | Orbit camera |
| Right-drag / two-finger drag | Pan |
| Scroll | Zoom |
| Shift + scroll | Scroll screen content |
Use the GUI panel (top-right) to upload media, adjust transforms, configure animation, and trigger exports.
When a Middle keyframe is set, a single easing curve is applied to the full timeline parameter t before the segment split. The motion is therefore fastest at the midpoint (where the eased t crosses 0.5) and slowest at the start and end — producing a "spin through the middle, decelerate into the end" feel.
The easing selection in the GUI governs the whole arc. cubic (ease-in-out) is recommended for three-keyframe animations.
Known limitation: because each segment is still a linear interpolation, a directional kink can occur at the Middle keyframe if the two displacement vectors differ in direction (e.g. a rotation axis change). This is a geometric discontinuity, not a speed one, and is most visible when the two motion directions are very different.
To eliminate the directional kink entirely, interpolateKeyframes in js/utils.js should be upgraded to use Catmull-Rom spline interpolation:
t, evaluate the cubic Hermite curve defined by the four control points.(end − start) / 2 in normalised time, giving C1 continuity (smooth velocity vector through every keyframe).t before passing it to the spline evaluator.This is the standard approach used in professional animation tools (After Effects, Blender graph editor, etc.) and would make the Middle keyframe feel like a true waypoint rather than a corner.
Implementation scope: interpolateKeyframes in js/utils.js only — no changes to callers.