- articleHow many bracketed exposures, at what spacing and range, and with what starting camera settings do practitioners shoot for a lighting HDRI, and where do they disagree?
Corrected 2026-10-24 - see C3-B1085-03; the original statements below are kept for history and are superseded where the correction says so. Three practitioner sources give bracket recipes: CAVE (5 brackets at 3 stops or 7 at 2), Xuan Prada (5-7 exposures, 3 stops apart) and Greg Zaal (5 at 3 EV, but at least 5 at 2 EV and 9 for unclipped light). By simple arithmetic (synthesis) these span about 12 EV to 16-18 EV. All start with a fast shutter so light sources are not clipped, shoot RAW, fixed manual settings and a fisheye rotated in steps. They disagree on how many exposures the balls and chart get (3 vs 7) and where the chart sits. No vendor or standards document read gives numbers; the VES guide only lists HDRIs.
- articleWhat is the reliable way to get correct typography on an AI graphic: generate without text and set real type afterwards, or extract text from a flat image (Ideogram Layerize, Recraft no_text)?
Corrected 2026-10-24 - see C3-B955-08; the original statements below are kept for history and are superseded where the correction says so. Problem. In-image text can misspell, kern badly or use a substitute font, and cannot be edited cleanly. Conditions. Any deliverable where wording, font or brand type must be exact (titles, packaging, CTAs). Method. (1) Generate a text-free base. Recraft V3 has controls.no_text ('Do not embed text layouts', V3 models only); otherwise prompt for 'clear space at top for a title' and describe no text [inference]. (2) Set the type in a layout or editing tool with the licensed brand font; check contrast (C3-B593-04) and line length (C3-B593-05). (3) If a flat image already has text, Ideogram's Layerize endpoint (ideogram-3) returns detected text as positioned text blocks with matched fonts, sizes and colours alongside a text-free base image; image up to 50 MB; an optional prompt guides detection. 'Matched fonts' means similar, not necessarily identical...
- articleOpen world models for worldbuilding (Oct 2026): persistent 3D worlds (HY-World 2.0) vs memory-based video worlds (WorldCrafter) vs keyboard-controlled video (H3-World)
Corrected 2026-10-24 - see C3-B1036-01; the original statements below are kept for history and are superseded where the correction says so. Three open releases with different output types. (1) HY-World 2.0 (Tencent; card updated May 2026; ~720 likes): text, single image, multi-view images or video -> persistent 3D worlds as meshes / 3D Gaussian splats via panorama generation (HY-Pano 2.0) -> trajectory planning (WorldNav) -> world expansion (WorldStereo 2.0) -> composition (WorldMirror 2.0 + 3DGS); WorldMirror 2.0 (~1.2B) reconstructs depth, normals, cameras, point clouds and 3DGS from photos/video in one forward pass; outputs import into Blender/Unity/Unreal/Isaac and support first/third-person exploration with collision. The card argues 3D outputs beat video world models on persistence, consistency and per-interaction cost (vendor framing). LICENCE: Tencent HY-World 2.0 Community License does not apply in the EU, UK or South Korea, forbids using the works OR THEIR OUTPUT outside t...
- articleAgent-controlled Blender and DaVinci Resolve via MCP (Oct 2026): what the leading open servers do, and their security, telemetry and licensing catches
Corrected 2026-10-24 - see C3-B1037-03; the original statements below are kept for history and are superseded where the correction says so. Follows up the creator claims in C3-B393-03. Blender: the dominant server is the community "mcp-for-blender" (renamed; not affiliated with the Blender Foundation; MIT): an MCP server plus a Blender add-on that opens a socket inside Blender to receive and execute commands; one-line installer configures many clients (Claude Desktop/Code, Codex, Cursor, VS Code, etc.). Security: its execute_blender_code tool runs ARBITRARY Python in Blender - the README warns to use with caution in production and always save first; optional Poly Haven asset downloads. Telemetry: README calls it "opt-in", yet a minimal anonymous usage record (install ID, session ID, tool name, success, duration, versions, OS, timestamp) is sent by default; prompts, code, screenshots and scene data only with opt-in; DISABLE_TELEMETRY=true turns everything off. DaVinci Resolve: davinc...
- articleHow do I record Unity AOV passes for compositing (multi-part EXR, unclamped linear, motion vectors) and what breaks with TAA?
Problem. Handing a real-time Unity render to a compositor needs separate passes. Conditions. HDRP only; AOV Image Sequence Recorder; output is always an image sequence. Method. Select AOVs (Beauty, Albedo, Alpha, Metal, Smoothness, Specular, Direct Diffuse, Direct Specular, Emissive, Indirect Diffuse, Reflection, Refraction, Ambient Occlusion, Depth, Motion Vectors, Normal). For one file per frame holding every pass use EXR with Multi-part file on; for one sequence per AOV turn it off or use PNG (test only). EXR is written in 16 bits; compression Zip default, lossy B44/DWAA available. For unclamped values choose Linear, sRGB (unclamped) and disable Tonemapping in HDRP settings and volumes and Dithering on the camera. Motion Vectors can drive post motion blur and Depth can drive post depth of field. Failure modes. With TAA, only Beauty may be recorded with AA; multiple AOVs under TAA can show colour artifacts, so record Beauty in a separate session. ActiveCamera is unavailable, use M...
- articleWhat conditions must hold to record Unity Recorder Accumulation successfully, so a render does not silently fail or show a progress bar?
Problem. Accumulation recordings can capture nothing or show artifacts if setup rules are missed. Conditions. Recorder 5.1.7. Method (checklist). HDRP only; Movie or Image Sequence recorder only; Source = Game View or Targeted Camera; keep Game View visible for the whole recording; only one active recorder (disable all others, and no overlapping Recorder Clips in Timeline); path tracing needs DX12. Frame Interval recording with Start above 0 still plays and renders all earlier frames, to keep physics and procedural noise deterministic. For film hand-off, set Playback to Constant with Target FPS (variable is for gameplay; ProRes cannot use variable). Failure modes. If Game View is hidden, the simulation clock keeps running while no frames are recorded, and a progress bar can appear in frames. Cannot run in -batchmode. Limitations. Cinemachine-driven Timeline shots (C3-B721-05) must keep any Recorder Clip with Accumulation alone in its time range. Version/date. Recorder 5.1.7 docs, fe...
- articleHow does Unity Recorder accumulate path-tracing samples, how do I get clean frames without motion blur, and why do frames come out overexposed?
Problem. Path-traced HDRP frames are noisy until sub-samples converge. Conditions. HDRP with ray tracing set up and a path tracing override in the scene; path-tracing accumulation requires DX12 (Recorder 5.1.7 docs). Method. Samples is the number of sub-frames per frame and each sub-frame captures one path-tracing sample. With Shutter Interval above 0, samples are accumulated only inside the interval and the Shutter Profile weights them; with Interval 0 time does not advance, Shutter Profile is not applied, and all Samples converge one static moment (no blur). If noisy, raise Samples. Failure modes. With automatic Exposure and Adaptation set to Progressive, exposure is re-evaluated each sub-frame and noisy early sub-frames can overexpose the result; set Exposure Adaptation Mode to Fixed. A short Shutter Interval reduces path-tracing samples accumulated; the documented workaround is to disable path-tracing overrides on volumes. Limitations. HDRP path-tracing limitations also apply. V...
- articleHow do I set Unity Recorder Accumulation (Samples, Shutter Interval, Shutter Profile) to get film-style motion blur, and what must I switch off first?
Problem. Real-time motion blur from a post-process is applied to the final frame, so a film render from Unity needs true sub-frame motion blur. Conditions. HDRP project, Movie or Image Sequence Recorder, Game View or Targeted Camera source (Recorder 5.1.7 docs). Method. Enable Accumulation under Input; set Samples (sub-frames between two frames); set Shutter Interval above 0 (Normalized 0-1 or Angle 0-360 degrees, so a 180-degree angle corresponds to half the frame interval, my inference from the Angle option); choose Shutter Profile Range (trapezoid with two fully-open points) or Curve to weight sub-frames. Check 'Effective number of accumulated samples', which can be lower than Samples when the interval is short. Disable the HDRP Motion Blur post-process and HDRP anti-aliasing first; use the Anti-aliasing toggle inside Accumulation instead. Failure modes. Leaving HDRP motion blur on stacks it over the accumulated blur. Limitations. Interval 0 turns motion-blur accumulation off. Th...
- articleHow do Niagara Fluids differ from an offline Houdini or Blender sim: what grids and solvers do they use, what is 2D versus 3D versus FLIP, and what does Epic say you should bake?
Problem: deciding whether a real-time fluid sim in Unreal can stand in for an offline pyro or liquid sim. Conditions: Unreal Engine 5 Niagara Fluids plugin. Method: gases run on grids holding density, temperature and velocity per cell; liquids use a hybrid FLIP (particles plus a grid velocity solve); pressure solve iterations trade accuracy for cost. Epic names simulator types: 2D Gas (much faster, suited to games, lacks complex 3D turbulence), 3D Gas (depth and richer flow at higher memory and GPU cost, for hero effects and cinematics), 2D FLIP (splashes, not pools), Shallow Water (height field for pools and wakes) and 3D FLIP (waves, rivers; computationally expensive). Results can be baked to flipbook textures for cheaper playback, and colliders are static meshes, Geometry Collections or depth maps. Example: a 3D gas torch or explosion baked to a flipbook for a mobile-friendly asset. Failure modes: Epic warns that fluid scenes can be graphically intensive and may crash the GPU on ...
- articleMoGe in ComfyUI: what is the licence split and does the MoGe-3 default template have a platform limit the tutorial does not mention?
Problem. The MoGe tutorial ships MoGe-3 (vitg) as the template default and gives no licence or platform note. Conditions. Mac users or anyone recording licences. Method. Upstream README says MoGe code is MIT except the bundled DINOv2 code (Apache 2.0); the Comfy-Org repack card and the Ruicheng moge-2 and moge-3 vitg Hub cards report MIT. Upstream also says MoGe-3 is not supported on macOS because it depends on FlexGEMM (Triton, no macOS wheels). Failure modes. A Mac run of the MoGe-3 template may fail if the Comfy node uses the same dependency. Limitations. The macOS limit is from the upstream implementation; I did not check whether the ComfyUI node reuses FlexGEMM. Licence statement covers code; the README text does not separately address weights beyond card front matter. Version/date. Fetched 2026-10-24.
- articleMarigold V2 in ComfyUI: what licence applies to the LoRAs versus the Qwen base, and what GPU memory does upstream state?
Problem. The ComfyUI Marigold V2 tutorial gives no licence or memory figure. Conditions. Depth, normals or albedo estimation on a single GPU. Method. Upstream states the Marigold weights are Apache 2.0 and that the base Qwen-Image-Edit-2509 keeps its own licence, so check that licence separately for the base checkpoint you load (the tutorial downloads a Comfy int8 build of it). Upstream also states about 17 GB at 1024 and 29 GB at 2048 for its own inference. Failure modes. Reading the Comfy-Org Apache-2.0 label as covering the base model, or assuming the upstream memory numbers apply to the int8 file. Limitations. The memory figures are upstream's for its pipeline; I did not measure the ComfyUI int8 graph. I did not fetch the Qwen licence. The 'Huawei Bayer Lab' attribution in the tutorial matches the Hub org name huawei-bayerlab. Version/date. Fetched 2026-10-24.
- articleWhich Wan-Alpha file names should I download for ComfyUI: the Comfy-Org repack names in the tutorial, or the names on the upstream 'ComfyUI version' repo?
Problem. The tutorial points to htdong/Wan-Alpha_ComfyUI as 'ComfyUI Version' but tells you to place differently named files. Conditions. Setting up the Wan 2.1 Alpha T2V 14B template. Method. Use the tutorial's names (wan_alpha_2.1_vae_rgb_channel.safetensors, wan_alpha_2.1_vae_alpha_channel.safetensors, wan_alpha_2.1_rgba_lora.safetensors from Comfy-Org/Wan_2.1_ComfyUI_repackaged; HEAD requests to those URLs returned HTTP 200 at fetch time). The upstream card lists the doubled-extension names (.safetensors.safetensors) and 'epoch-13-1500_changed' for the same assets, and its example run uses frame_num 81, sample_steps 4 with the LightX2V LoRA and lora_ratio 1.0, which the tutorial text does not state. The upstream card names the fp16 Wan base while the tutorial offers bf16 and fp8_scaled. Failure modes. Mixed downloads leave the Load VAE or LoRA node unable to find its file. Limitations. I did not check that the renamed files are byte-identical, and the Hub API listing of the Comf...
- articleDoes the Comfy tutorial's 'metric scale depth in metres' for DA3 Metric-Large mean I can use the output as metres directly? Upstream says the output is canonical metric depth that must be multiplied by focal length.
Problem. The tutorial describes depth_anything_3_metric_large as giving metric scale depth in metres; the upstream model card qualifies this. Conditions. Using the metric model for fog depth, CG scale or camera solves. Method. Treat the raw network output as canonical depth and apply the focal-length multiplication stated on the model card before reading values as metres; check whether the ComfyUI node already does this before applying it a second time. Failure modes. Double-scaling or skipping scaling gives a wrong absolute scale. Limitations. I did not run the node, so I cannot say whether the Comfy node performs the focal scaling internally. Version/date. Fetched 2026-10-24.
- articleWhich Depth Anything 3 checkpoints that ComfyUI ships are commercially usable? Answer: the four ComfyUI files (small, base, mono-large, metric-large) are Apache 2.0 upstream; the CC BY-NC 4.0 variants (large, giant, nested) are not the ones the tutorial lists.
Problem. The official ComfyUI Depth Anything 3 tutorial lists four checkpoints but says nothing about licence, while the upstream DA3 family mixes Apache 2.0 and CC BY-NC 4.0 by model size. Conditions. Use when choosing a DA3 file for commercial or client work. Method. Compare the tutorial file list (small, base, mono_large, metric_large) with the upstream README licence column: DA3-SMALL, DA3-BASE, DA3METRIC-LARGE and DA3MONO-LARGE are listed Apache 2.0; DA3-LARGE, DA3-GIANT and the NESTED-GIANT-LARGE variants are listed CC BY-NC 4.0. The Comfy-Org repackage card and the DA3METRIC-LARGE card both say Apache 2.0. Failure modes. Swapping in a non-listed upstream checkpoint (for example DA3-LARGE) by name or from another converter changes the licence to non-commercial. Limitations. Licence of outputs (depth maps) is not addressed by any of the sources; the converted Comfy-Org files are derived from upstream and I did not diff weights. Version/date. Pages fetched 2026-10-24.
- articleCan I relight a Gaussian splat scene, and what does the PlayCanvas proxy-mesh method need and not handle?
Problem. Splats are captured with lighting baked in, so lighting changes look wrong. Conditions. Real-time (PlayCanvas engine) viewing; not a general offline relight. Method. (1) Place a simplified proxy mesh of the scene (reconstructed from the splats or from photogrammetry) on a dedicated layer with standard lights. (2) The GsplatRelighting script renders that layer from a camera matching the main camera into an offscreen texture (lit colour plus a coverage mask) and a fragment shader modulates each splat by the lighting at its screen position. (3) Tune blend (0 original, 1 fully modulated), brightness (default compensates 0.5 grey albedo), and a background multiplier for uncovered splats such as sky. Failure modes. Where the proxy mesh silhouette diverges from the splat surface, lighting boundaries land in the wrong place; uncovered splats are left untinted unless scaled. Limitations. This modulates baked colour rather than recovering material or albedo; hence the baked shadows a...
- articleHow do I clean floaters and background noise from a trained splat in SuperSplat without destroying the original, and what does editing leave out?
Problem. Raw splats contain floaters and stray Gaussians. Conditions. Browser-based SuperSplat Editor (open source) on a trained splat. Method. (1) Select the splat in the Scene Manager first: selection tools affect only the active splat. (2) Choose a tool by task: Flood selection for isolated floaters, sphere or box volumes for 3D regions, Brush or Lasso for organic areas. (3) Turn on Selection Depth to select only the visible surface when cleaning without punching through; Selection Footprint selects by projected ellipse so large soft Gaussians at an edge are included. (4) Lock finished areas so they cannot be selected or deleted. (5) Deletion is reversible during editing via Undo or Select > Reset, but removing a Scene Manager row is not undoable. (6) Fully transparent Gaussians can be selected, so invisible leftovers that cost memory can be removed. (7) PlayCanvas separately lists floaters, background noise, oversized files and artifacts as reasons to edit, and offers a splat-tr...
- articleWhat does ComfyUI-layerdiffuse provide for transparent and layered generation, and which constraints (SD1.5-only joint modes, batch sizes, diffusers pin) apply?
Problem. Generating foreground with alpha, or extracting/blending foreground and background, inside ComfyUI. Conditions. huchenlei/ComfyUI-layerdiffuse, commit b4f6a9e0 (last push 2025-02-25; not archived), Apache-2.0 code, requirements diffusers>=0.29.0 and opencv-python. Method. Example workflows cover foreground generation (RGBA, or RGB plus alpha separately), blending given foreground or background, extracting foreground or background from a blended image, and joint modes added 2024-03-09 (generate FG + blended given BG; BG + blended given FG; BG + FG + blended together). Joint modes need batch size 2N (or 3N for all three) and currently SD1.5 only. The README explains that the Forge 'Stop at' option cannot be directly reproduced and offers an extra img2img pass as a workaround. It notes observed colour variation in extracted FG and says this needs confirmation with the original authors. Failure modes. Version conflicts on diffusers with other packs (README recommends a separate...
- articleHow do the Inpaint Crop and Stitch nodes work, which parameters control context and resolution, and what do they guarantee about unmasked pixels?
Problem. Inpainting only a masked region quickly, at a model-friendly resolution, without touching the rest of the image. Conditions. lquesada/ComfyUI-Inpaint-CropAndStitch, commit 6005efc0 (pushed 2026-10-21), version 3.0.20, GPL-3.0; no extra requirements file. Method. Inpaint Crop cuts around the mask (optionally with a wider context area), can pre-resize, extend for outpainting, fill mask holes, grow or blur the mask; output goes to any sampler workflow (even upscaled or hi-res fixed), then Inpaint Stitch pastes the result back. Key parameters: context_from_mask_extend_factor (1 = no growth, 2 = grow by mask size each direction), output_resize_to_target_size (force e.g. 1024x1024 for SDXL), output_padding (make width/height multiples of 8/16/32), mask_blend_pixels (grow and blur the stitch mask to avoid seams), mask_hipass_filter (ignore near-zero mask values), device_mode (cpu or gpu). The README states the unmasked part is not modified, not even passed through VAE encode/decod...
- articleWhat constraints does ComfyUI's Wan2.1 VACE guide state for frame count, batch size, resolution and run time when doing reference, control, inpaint or first/last-frame video?
Problem. Setting VACE nodes so first/last frames take effect and avoiding shape errors. Conditions. docs.comfy.org VACE page (undated; carries its own warning that it needs updating and defers to template notes); VACE-14B and 1.3B models, Apache-2.0 per the page. Method. One template drives all tasks by bypassing nodes: text-to-video, reference-image video, control-video (depth-preprocessed) plus reference, mask inpainting from a first frame and mask, outpainting, and first/last frame (keyframe) interpolation. Constraints: image width/height should be divisible by 16 (the page warns that nodes that read image size can error otherwise); in the first/last-frame workflow the video length must satisfy (length - 1) divisible by 4, and Batch_size = length - 2. Models: wan2.1_vace_14B_fp16.safetensors (about 32 GB) or the 1.3B fp16 (about 7 GB) into diffusion_models; the 14B supports 480p and 720p, the 1.3B only 480p. The page reports on a 4090: 720x1280 for 81 frames about 40 minutes, 640...
- articleOpenUSD v26.08 usdAbc declares supportsEditing false, documents that FaceSet, NuPatch and Light are not translated and component ops are flattened to a 4x4 matrix, and its reader scales Alembic seconds by a default of 24 time codes per second unless metadata supplies another...
Corrected 2026-10-23 - see C3-B684-02; the original statements below are kept for history and are superseded where the correction says so. OpenUSD v26.08 usdAbc declares supportsEditing false, documents that FaceSet, NuPatch and Light are not translated and component ops are flattened to a 4x4 matrix, and its reader scales Alembic seconds by a default of 24 time codes per second unless metadata supplies another value.
- articleOpenVDB's LICENSE is MPL 2.0 at tag v11.0.0 and Apache 2.0 at tag v12.0.0 (curator GET by tag name), so a premise that OpenVDB is MPL-2.0 is...
Corrected 2026-10-23 - see C3-B684-03; the original statements below are kept for history and are superseded where the correction says so. OpenVDB's LICENSE is MPL 2.0 at tag v11.0.0 and Apache 2.0 at tag v12.0.0 (curator GET by tag name), so a premise that OpenVDB is MPL-2.0 is version-dependent.
- articleIs bpy 5.2.2 (Blender 5.2.2) still the newest Blender 5.2 release for headless and module use?
Problem. Candidates T4-02 (bpy 5.2.2, 'across all 34 releases'), T4-01 and T4-03 (source at tag v5.2.2) treat 5.2.2 as the current release. Nature: (e) changed since. Conditions. Checked 2026-10-23. Method. PyPI now lists bpy 5.2.3 (uploaded 2026-10-22T09:46:23Z, after the 2026-10-21 candidates), still requires Python ==3.13.*, and the Blender repository has a v5.2.3 tag. The 'all 34 releases' figure is therefore stale by at least one release, and the 'latest' CLI manual still lists only --python-use-system-env, as the candidates reported. Failure modes. Version-specific statements about source line numbers at v5.2.2 may not hold at v5.2.3; the wheel platform matrix for 5.2.3 was not re-listed. Limitations. Release notes for 5.2.3 were not read. Version and date. 2026-10-23.
- articleWhich Alembic version does OpenUSD currently build and test usdAbc against?
Problem. Candidate M2-02 says OpenUSD tests Alembic 1.8.5 (VERSIONS.md L31) and that build_usd.py builds 1.8.5, 'seven releases behind 1.8.12'. Nature: (e) changed since. Conditions. Applies to OpenUSD v26.11.1 (published 2026-10-21) and later. Method. At tag v26.11.1 VERSIONS.md lists Alembic 1.8.10 in all three columns and build_usd.py downloads the 1.8.10 tag, so the gap to Alembic 1.8.12 is two releases (1.8.11 and 1.8.12), not seven. At v26.08 the same files say 1.8.5 (candidate was right for that tag). Failure modes. A reader trusting the old figure would overstate how far OpenUSD's tested Alembic lags behind current releases. Limitations. The HDF5-off build flag was not re-read at v26.11.1. Version and date. Fetched 2026-10-23.
- articleIs Masquerade Nodes still worth installing for mask-driven inpainting, and what do its mask-to-region and cut/paste nodes do?
Problem. Decide whether to depend on an old mask utility pack. Conditions. badcafecode/Masquerade-Nodes-ComfyUI commit 432cb4d1, last commit 2024-06-19, MIT (copyright 2023 Jacob Segal); no requirements.txt at that commit (404). Examples use SD1.5 and SD1.5-inpainting. Method. The maintainer's README opens with a recommendation to use Impact Pack instead unless a dependency-free library is needed, so treat Masquerade as legacy. What it offers: 'Mask By Text' (ClipSeg text-prompted masks, '|' separated prompts, precision and normalise controls, raw 0-1 ClipSeg output); mask morphology (dilate, erode, open, close); combine/unary/blur/mix operations; 'Mask To Region' (padding, keep_ratio / multiple_of constraints, min size, batch behaviour) to pick a sensible crop around a mask for full-resolution inpainting; 'Cut By Mask' and 'Paste By Mask' (resize behaviours) to cut the region out and paste the result back; plus colour-space, QR, rectangle and incrementer helpers. For a maintained a...
- articleWhich previs camera fields can USD carry beyond position and focal length (shutter, f-stop, focus, exposure, stereo role)?
Problem. A VFX turnover needs more than a transform and a field of view. Conditions. USD previs file. Method. UsdGeomCamera defines projection, apertures and offsets, focalLength, clippingRange, fStop, focusDistance, shutter open/close (frame-relative time, negative opens before the frame), exposure (log base 2), and stereoRole for left/right cameras. Inference (mine): a turnover checklist can require lens, filmback, focus, shutter and fps on each shot camera, since those drive depth of field and motion blur in later renders. Failure modes. Optional attributes may simply be missing (fallbacks apply). Limitations. Lens distortion and entrance-pupil data are not in the attributes I read. Date. 2026-10-23.
- articleWhat does Yedp Action Director produce for ControlNet workflows, how does it store scene state, and what must move with a workflow to another machine?
Problem. Drive pose, depth and edge control from posed 3D characters rather than from extracted video, and keep the setup portable. Conditions. yedp123/ComfyUI-Yedp-Action-Director at commit 73420247 (MIT, 2026), README of version V9.3; author-made. Method. The node embeds a Three.js viewport; characters are loaded from .fbx/.glb/.bvh, animations are sequenced with crossfades, cameras are keyframed or imported from FBX, and one bake yields seven batches: pose (OpenPose colours), depth, canny-style rim light, normal, shaded, alpha matte and textured. Depth near/far are set manually. A companion Mocap Surgeon extracts and cleans motion from video (MediaPipe pose/hands/face, 1-euro filtering) and bakes .glb clips; a Blockout node builds simple scenes. Portability. Scene state (cameras, keyframes, characters, environments, lights, mocap bindings) is serialised inside the standard ComfyUI workflow .json, but assets are looked up by name in ComfyUI/input/yedp_anims, yedp_envs, yedp_cams a...
- articleWhy does Alembic lose frame-rate information, and how should a previs export set sub-frame and shutter sampling in Blender?
Problem. Cached cameras and animation arrive at the wrong speed or with unusable motion blur. Conditions. Blender Alembic export/import. Method. Alembic stores samples over time, not frames, so 30 fps with two samples per frame is indistinguishable from 60 fps with one; many readers just hard-code 24 fps. Blender converts frames to seconds with the scene frame rate. Export options: transform and geometry sub-frame samples per frame, and shutter open/close in [-1, 1] relative to the current frame; the manual gives 5 samples to mimic a 180-degree shutter (-0.5 to 0.5 of a frame implied by 90 degrees each side). Failure modes. Mismatched scene fps at import or reader assuming 24 fps. Limitations. Blender page only; the camera-specific Alembic schema is not covered. Date. 2026-10-23.
- articleWhat was Diffutoon's evaluation set and which baselines were scored on which metrics?
Problem. C3-B145-G52-09's only cited URL is a ControlNet lineart model card that contains no Diffutoon text (searched for Diffutoon, AnimateDiff, 1536: only unrelated ControlNet links), so its claims are not supported by the cited source; they are supported by the arXiv paper instead. Correction type: (d) unsupported by cited source, plus (c) missing limitation. Method. The paper's evaluation dataset is 10 videos from a video platform, DomoAI was run on only 10 seconds of each video, and the metric table is incomplete per baseline (DomoAI and Gen-1 lack pixel-MSE; Rerender-a-video lacks CLIP in the toon-shading row). The 1536x1536 resolution, 10-participant study, ControlNet outline/tile branches and the sliding-window design are confirmed in the paper. Limitations. Paper claim only; no code run. Version and date. v1, fetched 2026-10-23.
- articleWhat synchronisation and content-authoring constraints does Epic give for ICVFX (genlock, video playback, frame-rate target)?
Problem. Multiple render nodes drive one wall and must show identical frames. Conditions. nDisplay cluster with camera, tracking and render nodes. Method. (1) Each device (camera, computers, tracking) has its own internal clock; without unification you get problems such as tearing, which genlocking with nDisplay prevents; engine timecode and frame generation must also match the camera. (2) Do not use video files as animated surfaces: video encoding gives no method to keep every node on the same frame; use texture flipbooks or an EXR sequence driven by a level sequence played simultaneously. (3) Performance: Epic's test content targeted 48-72 fps on artist workstations at 4K full screen as a benchmark, then profiled on machines matching the heaviest on-stage render node with a proper inner and outer frustum. (4) Avoid very large textures and dense meshes where not needed. Failure modes. Content that plays fine on one workstation but desyncs on the cluster. Limitations. The 48-72 fps ...
- articleOn an LED volume, what are the inner and outer frustums, which one moves with the camera, and what is the green-screen fallback?
Problem. LED-volume shots mix a camera-tracked image with ambient lighting content. Conditions. In-camera VFX with Unreal nDisplay (Epic docs). Method. (1) The inner frustum is the part of the wall showing what the virtual equivalent of the physical camera should see, set by current lens focal length and tracked as the camera moves, which gives parallax from a full 3D world rather than a flat plate. (2) The outer frustum is everything displayed outside the camera's field of view; it turns the panels into a light and reflection source for the physical set and stays static when the camera moves, as real-world light does. (3) Each shot setup can be placed at a chosen location in the virtual environment to decide what the outer frustum emits. (4) For shots that cannot be in-camera finals, the inner frustum can be changed to green screen with tracking markers while the outer frustum keeps lighting the set, which also limits green spill. Failure modes. Reflections and light that do not ma...
- articleHow do I run Wan2.2-Animate to transfer a driving video's motion onto a character image (animation mode) or swap the character into the video (replacement mode), and where does it break?
Problem. Making a still character perform the movement and expression of a reference video, or replacing a person in a clip. Conditions. Wan2.2-Animate-14B (weights Apache 2.0; diffusers port 2025-11-13). Inputs: one character image plus one driving video. Method. (1) Preprocess the driving video: pose detection is mandatory, SAM2 mask extraction and an image-editing model are optional; outputs are src_face.mp4 and src_pose.mp4 (animation mode) plus src_bg.mp4 and src_mask.mp4 (replacement mode). Set --resolution_area (pixel area, applies to preprocessing and generation) and optionally --fps (lower fps is faster but may stutter). (2) Animation mode: enable pose retargeting (--retarget_flag), highly recommended when body proportions differ; basic retargeting needs both the reference and the driving video's first frame to be front-facing and stretched; --use_flux adds an enhanced retargeting step through FLUX.1-Kontext-dev, which the guide says is not guaranteed (consistency or pose m...
- articleBeginner: my design has transparent areas. What happens to that transparency in PNG, JPEG, AVIF and a print PDF, and what is the first safe step?
PNG keeps full alpha but stores colour un-premultiplied, and a converter from premultiplied data writes black where alpha is zero, so colour under fully transparent pixels is not preserved. JPEG has no alpha, and Krita flattens onto a fill colour. AVIF keeps alpha as a separate auxiliary image and can mark premultiplied colour. First safe step (synthesis): decide whether the destination keeps alpha before exporting, and flatten onto a chosen colour only where it does not.
- articleIs there a standard place in OTIO to put the on-frame position of an annotation, so a note can say where in the picture it points?
OTIO core has no standard field for where in the picture a note points. Marker.2 carries only time (marked_range), colour, comment, name and free metadata. The docs describe a proposed unit-less, Y-up spatial system with Box2d bounds for clip layout. OpenRV's own Paint.2 schemadef (outside core) stores annotation strokes as points with colour, brush and a layer time range, and maps them to RV coordinates via stored otio.global_translate/scale or a source-aspect fallback (16:9 if unknown). A note's position therefore lives in metadata or a non-core schema.
- articleHow does Netflix's VFX Plate Naming page name plates (plate number, version, frame padding) and when do I bump the plate version versus the plate number?
Netflix names plates by appending a plate number (typically PL##) and a plate version (v###/v####) to the shot name, with 4-digit frame numbers and only letters, digits, dot, underscore and hyphen allowed. Re-pulls of the same material (extra head or tail frames, a transcode glitch) bump the plate version; new elements or a different take bump the plate number, which the page calls somewhat subjective. Extension re-pulls should contain all needed frames, not only the new ones, unless that is significantly costlier.
- articleWhat fields, separators and padding does Netflix's VFX Shot and Version Naming page recommend, and which fields are required?
Netflix recommends building shot and version names from underscore-joined fields (showID_episode_seq_scene_shotID#_task_vendorID_version). The shot ID is 3-4 digits assigned in steps of 10 so inserts fit, and the version is a required 'v' plus 3-4 digits. Episode is required for series, and the fields used must not vary by vendor or shot within a project. The page's own examples mix 3- and 4-digit shot IDs and name the approved shot inconsistently.
- articleHow do UsdSemantics labels inherit, and what did the release notes change for UsdPhysics and render-settings handling between v25.05 and v26.11?
UsdSemantics labels inherit down the hierarchy by accumulating (descendants keep their own labels and gain their ancestors'), there is no registry of taxonomies, and all labels carry equal weight. Per the OpenUSD changelog: UsdPhysics gained a parsing utility and validators in 25.05, nested rigid bodies and articulation for kinematic bodies in 25.11, deprecations of the custom-token and loader names in 26.05, more validators in 26.08, and in 26.11 bodies with rigidBodyEnabled = false are treated as not applied. Render settings: in 25.11 RenderMan expects relationships rather than connections for filters and integrators; 26.03 added HdRenderSettingsSchema fields; 26.08 allows interactive rendering with a RenderSettings prim; 26.11 announces in-band transport through scene indices.
- articleI have lens-distortion numbers from one tracking or compositing tool: can I type them into another tool, and what should I check first?
Partially verified: the curator re-read none of the cited sources; S11, S10, S20, S27, S17 rest on the producer's pinned reading. Generally no, not without checking. A tracking-tool vendor says the math varies between packages so coefficients often cannot be reused elsewhere and recommends STMaps instead. Vendor docs for Nuke show why: the same preset family has a direction setting (forward or backward), a normalisation choice (width, height, diagonal, maximum), a distortion centre, and anamorphic terms. A metadata standard (OpenTrackIO reference code) carries a model name string with a default of "Brown-Conrady D-U". The safe beginner route is: identify model and direction, normalisation, centre and sensor size, or transport an STMap and test it on a grid.
- articleWhat is a clean plate, when do I need one, and how do I shoot it so it actually works?
Partially verified: the curator re-read none of the cited sources; S5, S7, S6, S3, S1 rest on the producer's pinned reading. A clean plate is the same shot filmed without the actors or unwanted items so they can be removed or replaced in post (wire and rig removal, removing part of a performer, twins by splitting the frame). It is easiest with a locked-off camera. The sources agree on the main failure modes: any change to camera settings, framing or background between passes ruins the match, and moving-camera shots need expensive motion control or reconstruction from other frames. The 2026 VES data guide has no clean-plate entry in the text read.
- articleOn the Final Twist job, where in the pipeline did a generated Gaussian-splat world sit, what came in and out, and what outcome do the two accounts state?
Promise (producer) and World Labs (vendor) describe the same job: ten crime-scene environments rebuilt from low-quality archival photos for Harlan Coben's Final Twist. Steps: AI restoration of the images, a World Labs tool producing a Gaussian splat, artist rebuild of geometry and textures, optimisation, display on a 16K LED wall. The outcomes stated are ten environments and qualitative benefits (natural lighting, presence); no time, cost, shot or quality number is given by either page. The two pages disagree on naming (a "tool from World Labs" versus Marble) and carry different dates.
- articleWhat do the DaVinci Resolve 19, 20 and 21 New Features Guides say Magic Mask does as a roto/matte tool, which controls affect edge quality and jitter, what are its stated limits, and how do you get the matte out as pixels?
The Resolve 20 guide describes AI Magic Mask v2 (Studio only): click-based selection of people or objects, a Faster versus Better quality setting, Matte Finesse controls, a Consistency control that smooths edge jitter in low-confidence areas such as frizzy hair or translucent clothing, and a paint tool for frame fixes. Blackmagic itself says the mask will not always be perfect. The older mask remains as Legacy Object Mask. The Resolve 21 guide (public beta) adds rendering Magic Mask 2 in place as an external matte node; the Resolve 19 guide says Magic Mask does not transfer through the OpenFX DaVinci Resolve Renderer plugin. No accuracy numbers appear in the three guides.
- articleWhen an AI tool "rotos" a subject, is the result a segmentation mask or an alpha matte, and which metrics (J&F versus MAD/MSE/Grad/Conn/dtSSD) apply to each?
Video-object-segmentation models such as SAM 2 predict binary object masks and are scored with J&F, which in the DAVIS protocol is a region IoU plus a boundary F-measure on binary masks. Matting models such as RVM and MatAnyone predict a per-pixel alpha under I = alpha*F + (1-alpha)*B and are scored with MAD, MSE, Grad, Conn and dtSSD. In the pinned SAM 2 paper text the focus is objects with a clearly defined boundary and the words alpha and hair do not occur, so its J&F numbers do not measure fractional-alpha edges such as hair. MatAnyone splits a frame into a core (alpha 0 or 1) and a boundary (alpha between 0 and 1) and, lacking ground-truth alpha on real video, scores real clips only on the core.
- articleHow do I run SAM 2's video predictor to get per-object masklets for compositing plates (init_state, prompts, propagate_in_video)?
Problem. Isolating a generated subject across frames for compositing. Conditions. Python >= 3.10, torch >= 2.5.1, torchvision >= 0.20.1, CUDA toolkit matching PyTorch for the custom kernel. Method. build_sam2_video_predictor(model_cfg, checkpoint) with e.g. configs/sam2.1/sam2.1_hiera_l.yaml and sam2.1_hiera_large.pt; inside torch.inference_mode() with autocast bfloat16: state = predictor.init_state(video); predictor.add_new_points_or_box(state, prompts) returns masks for that frame; then iterate predictor.propagate_in_video(state) to get masklets for all frames. The 12/11/2024 update adds vos_optimized=True (torch.compile of the whole model) and independent per-object inference, allowing new objects to be added after tracking starts. Craft use (inference): SAM 2 output is a segmentation mask, not a soft alpha, so edges with hair, motion blur or transparency need a matting or edge-refine pass (see C3-B571-16 and 17). Failure modes. See the existing record for SAM 2's reported failur...
- articleWhy does nearest-neighbour downscaling pick different source pixels in OpenCV, PyTorch, Pillow and skimage?
OpenCV (c8628d47) INTER_NEAREST picks floor(x*scale) with no half-pixel offset, while INTER_NEAREST_EXACT picks floor((x+0.5)*scale) via a softdouble table its comment says matches Pillow; PyTorch documents mode='nearest' as matching OpenCV INTER_NEAREST and 'nearest-exact' as matching scikit-image and PIL. For 5->2 the two OpenCV modes select [0,2] vs [1,3] (hand calculation, not executed).
- articleHow do the Natron and Nuke Merge documents define operators, premultiplication expectations and the 'matte', 'mask' and 'stencil' operations, and do they agree?
Natron (rb-2.5) and Nuke (17.1v2 docs) give the same matte algorithm Aa+B(1-a) but label it differently ('unpremultiplied over' vs 'premultiplied over' taking unpremultiplied inputs: one describes inputs, the other output); Natron defines stencil as B(1-a) (destination-out).
- articleHow do STMap/UV-map conventions relate to OpenCV remap maps and to the 3DE and OpenCV lens-model coordinates implemented in openfx-misc?
OpenCV remap (40738fb1) documents absolute source-coordinate maps (float or fixed-point, optional relative mode) without stating an origin or pixel-centre convention in the text read; openfx-misc LensDistortion (850b3fff) passes pixel-centre coordinates (x+0.5, y+0.5) to models whose origin is the bottom-left corner of the bottom-left pixel.
- articleWhat alpha does the OpenFX support library's Merge 'matte' operator actually write, and how does it differ from 'mask', 'stencil' and 'over' in code?
In openfx-supportext (2485505d), mergePixel forces the alpha-masking branch for matte regardless of the user setting, so matte's alpha is the union a + b - ab while its colour is A*a + B(1-a) (static reading; not run).
- articleShould I generate an AI plate on green or matte it afterwards, and which green-screen craft problems (spill, compression, soft edges) carry over?
Problem. Choosing between prompting a subject on a flat green background (then keying) and generating on a natural background (then matting with SAM 2 / RVM). Conditions. Compositing generated plates into other footage. Craft statements (Wikibooks Chroma Key, 2014 page). Spill is reflected light bouncing onto the subject and can wrap around it; avoid matching clothing colour to the screen; diffusion can make a key very hard to pull; all lossy compression reduces edge detail; use a garbage matte and a choker in post. Method (inference, my own mapping to AI plates): (1) green-prompted plates inherit video-codec loss and model-invented green bounce on skin, so expect spill and soft edges the key cannot recover; (2) matting a natural-background plate with a learned alpha (RVM for people; SAM 2 mask plus refinement otherwise) avoids spill but depends on the matte model handling hair and motion blur; (3) if you do key, prompt for a flat, evenly lit screen, no green in costume, low contras...
- articleHow do I set Robust Video Matting's downsample_ratio and recurrent state for generated human footage, and what is its licence?
Problem. Getting a soft alpha for a person in a generated clip without a green screen. Conditions. Human subjects; RVM PyTorch/TorchScript models. Method. (1) Process frames sequentially and feed the recurrent states back: rec = [None]*4; fgr, pha, *rec = model(src, *rec, downsample_ratio). (2) Choose downsample_ratio so the downsampled size is between 256 and 512 px; table: 1920x1080 portrait 0.25, full body 0.4; 1280x720 0.375 / 0.6; 3840x2160 0.125 / 0.2; <=512x512 use 1. Higher is not always better. (3) Composite with fgr*pha + bgr*(1-pha); the demo uses a green background tensor [.47, 1, .6]. (4) Convert whole files with convert_video(), seq_chunk=12 as shown and downsample_ratio=None for auto. Failure modes. Designed for humans; for other subjects use a promptable segmenter (inference). Limitations. Code is GPL-3.0 since 2021-09-16, which can restrict embedding in proprietary software. Version/date. README and inference doc fetched 2026-10-23.
- articleWhat exactly must a writer of an OpenEXR file do to tag colour space, and where does the Figure 1 writer flowchart disagree with the prose steps?
Corrected 2026-10-23 - see C3-B643-04; the original statements below are kept for history and are superseded where the correction says so. The ColorInterop writer flowchart and prose disagree: the figure reports an error when an ST 2065-4 destination lacks lin_ap0_scene (prose states no error), sends 'data' and 'unknown/omit' straight to writing without the ST 2065-4 test, and has no step dropping chromaticities in the unaltered branch; both name acesImageContainer while OpenEXR uses acesImageContainerFlag. OpenEXR core checks the combination as warnings before writing, not as an error.
- articleWhat do OpenEXR lossy compressions (DWAA/DWAB, LJ2K) change in the pixels and the colour metadata, and is HTJ2K lossy?
Corrected 2026-10-23 - see C3-B643-01; the original statements below are kept for history and are superseded where the correction says so. OpenEXR 3.5.2 distinguishes lossless codecs (including HTJ2K256 and HTJ2K32) from lossy ones (DWA, LJ2K) whose pixels 'may have changed slightly', with quality set by dwaCompressionLevel or lossyHTJ2KQuality. DWA quantises after a perceptual power/log mapping and, for RGB channels of one layer, decorrelates with a fixed Rec. 709 Y'CbCr matrix whatever the file's chromaticities, so wide-gamut content is compressed in a 709-based space; no inspected source measures the effect on wide-gamut or HDR images.