CookVideo
Make a whole video in one object. Film your scenes, stack text, shapes and code over them, add sound, then play it, render it or drop it inside another video.
A CookVideo is a CookProject, a Sandbox and an image at once. Its Tracks folder holds every row, and its Nodes layout a card for each. Each frame, the clips under the playhead are stacked into its picture, top row on top, at its Size and Fps; Length sets how long it runs. Inside another video's Tracks it plays as a clip. video:RenderAt(time, image) draws any frame into an image. Edit it in the Cook window.
Example
local solo, main = Root.Solo, Root.Main
local box = Instance.new("ShapeTrack", solo)
box.Name = "Box"
box.FillColor = Color3.new(1, 0, 0)
box.Size = Vector2.new(40, 40)
box.Position = Vector2.new(0, 70)
box.InPoint = 0
box.OutPoint = 5
local dst = Instance.new("ImageContent", Root)
dst.Name = "SoloDst"
dst.Size = Vector2.new(320, 180)
Root.Solo:RenderAt(1, Root.SoloDst)Properties
Video
| Name | Type | Default | Description |
|---|---|---|---|
| AutoRun | boolean | true | Off, being nested doesn't drive it: Play doesn't run its scripts and the parent's playhead doesn't move its Time. |
| BlurMultiplier | number | 1 1 to 16 | Averages this many sub-frame composites into each frame, live and in renders. |
| Dither | boolean | true | When on, its layer styles add noise under one 8-bit level where they change the picture, against banding. |
| Fps | number | 30 1 to 240 | The video's frame rate; every scrub sets Time to the nearest frame at this rate. |
| Length | number | 5 0.01 to 1e+06 | The video's length; it only changes when you change it. |
Scripts
| DisplaySize | Vector2 | scripts only | Its display size as a picture clip inside another video's Tracks; Size stays its resolution. |
| Offset | number | scripts only | When nested, its Time while the parent's playhead is at the clip's In point. |
| Speed | number | scripts only | When nested, how many seconds its Time moves per second of the parent's playhead inside the clip. |
row from CookProject
| Time | number | The video's current time: the tracks covering it are stacked into its picture. |
Methods
| Name | Arguments | Returns | Description |
|---|---|---|---|
| RenderAt | (time: number, target: ImageContent) | () | Draws the video's frame at a time into any image, scaled to its size, in one pass that returns at once. |
| RenderAtAsync | (time: number, target: ImageContent) | () | Like RenderAt, but yields until every covering Rendered picture has its Samples. |
