Wrap4D Change Log
Released November 2023
adds a sticky-lips effect, closes lips and eyelids and minimizes manual cleanup.
In SelectPointsWithSplines node improved drawing splines, added spline continuation on SHIFT + LMB.
In ImageFacialWrapping node improved the algorithm for uncertainty region.
In PointsToScreenPoints node added Discard Outer Points param.
In SelectPolygons node, moved and renamed the Topological Mirror and + Topological Mirror buttons to Mirror and + Mirror.
In ModifyVertexMask node added Normalize mode.
In Command Line Interface changed default value of
WRAPCMD_NO_OPENGLto false. Thus OpenGL is enabled by default.
Added the following shortcuts in SelectPolygons node: * SHIFT + LMB double-click to add polygroup to selection, * CTRL + LMB double-click to remove polygroup from selection, * ALT + LMB double-click near selected polygons to select a loop.
In SelectPointsWithSplines node fixed a bug with incorrect cursor snapping on rotated geometry.
In SelectPointsWithSplines node fixed a bug after starting to draw a spline using the Alt + LMB shortcut.
In SelectPolygons node fixed a crash, when selection was loaded from file and input was disconnected.
In LoadScreenPoints node fixed double normalization bug.
In Brush node fixed a title mistake Hidden polygons to Visible polygons.
In VertexMask node fixed a bug, when clicking Inverse button leads to resetting the mask if no geometry was connected.
In Node-Graph Editor fixed a bug, when selecting half of selected nodes didn’t alter a selection.
In the gallery fixed UV of
Released October 2023
In WrapCMD restored running
computewithout args as computing frame 0. Interactive mode is now available with
--interactiveflag. Check Command Line Interface for details.
Finishing dialog after Nodes >> Compute All now is showing total computing time.
In LoadScreenPoints added explicit Frame parameter with a default script.
In MergePoints added a Visual Editor, Geometry input and Show Labels param.
In RemoveSpikes node removed geom connectivity requirement.
In PointDetector fixed OpenGL requirement. It’s now unnecessary for providing accepted result, only for computing.
In WrapCMD fixed error printing order.
In Nodes >> Compute All fixed progress bar freeze.
Fixed a crash when disconnecting multiple ouputs from multiple inputs in a specific order.
In Python code editor fixed highlighting with all unicode characters.
Released October 2023
In Node-Graph Editor you now can select multiple nodes and Node Editor, Visual Editor and rest will still be shown for one of them, the active one. You can change the active node by clicking on one of selected ones or throught a list in the top of Node Editor block.
In Viewport2D Color Picker improved. Now shown hex is compatible with other softwares color pickers, such as Photoshop.
In Python code editor improved syntax highlighting.
Fixed a crash in WrapCMD when computing LoadVertices node without OpenGL context.
Fixed slowdown in ImageFacialWrapping node computations in batch mode over time on Windows.
In Python parameters expressions converting from color hex now assumes sRGB input format to match other softwares. Also expected colors are now stated as unpremulted.
In Nodes >> Compute All dialog fixed an error when nodes with errors prevent progressbar from moving.
In VertexMask visual editor fixed a bug when clicking in any place in viewport forces recomputing node’s output.
In LoadVertices fixed error formatting when can’t open file. Filepath isn’t appearing twice now.
In Blendshapes fixed incorrect normals in Visual Editor.
In Nodes >> Compute All dialog fixed an error when you could accidentally press ESC and hide a progress dialog forever.
Fixed an error when pressing Ctrl while dragging a dock panel didn’t make panel floating.
Released October 2023
In FixSymmetry node added caching for finding symmetry.
In the WrapCMD added an environment variable
WRAPCMD_NO_OPENGLto ignore OpenGL while computation.
In OpticalFlowWrapping fixed a crash when computing with empty point correspondences.
In SelectPointPairs fixed a crash when loading poits from file with missing input geometry.
In Node-Graph Editor fixed an error when releasing MMB or RMB during dragging a connection resulted in connecting to the closest plug.
Released September 2023
lets you to draw precise splines on a model and sample them to named points
In Nodes >> Compute All fixed an error where selected frame ranges are cleared when focus is removed.
In several nodes fixed Null point correspondences error when missing optional input.
In Node-Graph Editor fixed a crash after multiply clicking on node’s plugs.
Released September 2023
Added TexturingXYZ project to the gallery.
Added Python project global script support.
Added expected type hints to Python parameters expressions and improved editor actions.
Added custom ranges support and Step Size param to Nodes >> Compute All.
Added several new shortcuts for the common menu tools.
In Command Line Interface added new options and mode helps.
In ImageFacialWrapping node added second facial detection support and additional caching, which speeds up computations after the first frame by 33%.
In FastWrapping node added Sampling Type param.
In LoadAlembic node added Frame and Frame Per Second params.
In Node-Graph Editor added connection transparency and highlighting and removing elements with CTRL + LMB.
In MergeImage changed blend modes to work correctly with semitransparent images.
In MergeVertexMask added new modes and simplified formulas.
Added the ability to work with 32-bit images to node UndistortImage.
In saving nodes File Name defualt value changed to
In image and camera nodes added Lock Aspect Ratio check to Resolution param and changed default resolutions to the common ones.
Fixed crashes with several cases using
Fixed an error when editing multiple params partially defined by a Python expressions led to a crash.
Fixed errors when adding, removing and copy-pasting nodes with multiple inputs.
Fixed missing and wrong nodes recomputes on changing global values.
Fixed an error when node depending on
projectName(), didn’t recompute after saving project with new name.
Fixed an error when Path Interpretation worked too greedy and matched
$PROJECT_NAMEin the file names.
Fixed a crash of Compute All during computation Render node in CPU mode.
Fixed an error when Render node in CPU mode interpolates the texture with half pixel offset.
Fixed an error when Render node’s visual editor backgrounds reset to default on every project saving and preferences editing.
Fixed an error when Blendshapes node’s result had incorrectly directed normals.
Fixed an error when Wrappings computation was available during incorrect Point correspondences input.
Fixed an error when saving project with Python scripts containing brackets inside the quoutes lead to appearance of extra spacebars.
Fixed an error when Viewport2D UV fits to view only first UDIM of multiple UDIMs geometry.
Fixed an error when LoadFrameFromVideo default Frame expression reappears on reloading or copying.
Fixed an error when in param with Python expression of type
list of stringscould read a string as a sequence.
Released June 2023
undistorts a camera
adapts an image to the camera’s undistorted view
adjust screen points positions to match camera’s undistorted view
adjust facial detection points to match camera’s undistorted view
wraps a geometry to match two image projections
creates a texture for geometry using examples provided
replaces a part of geometry using examples provided
generates a new mesh using examples provided
stabilizes a geometry based on stabilized blends examples
performs a DeltaMush using examples provided
maintains a given distance between two geometries given
wrap cartoonish characters and creatures easily
moves geometry’s vertices along it’s normals
transfers topology between blendshapes sequences
resolves geometry’s self-intersections or intersections with a collider
fills holes in geometry with triangles
merges multiple geometries into a signle one
creates a white-black masking image using a facial detection
creates a texture, which is a sum of masked projections of several other textures
rigidly aligns geometry to match several image projections
blurs an image by rotating around the given origin
calculates rotations for eyes geometries to match a given image
interpolates eye’s rotations within established detected values
bakes geom’s transform into vertex positions
loads a frame from a videofile as an image
loads vertices from the PLY format to geometry
saves geometry’s vertices to the PLY format
loads a camera from variety of formats
saves named points on triangles to file
allows to select screen points on any given image
loads a vertex mask from file
saves a vertex mask to file
finds stabilization transform for input expression and a neutral geometry.
allows to produce a 3D mesh by looking at a monocular image sequence of the actor’s performance
node version of removed TemporalSmoothing tool
Autosave has been added. Turn it on in Preferences >> General.
Floating images support has been added to LoadImage, SaveImage, MergeImage, ExtrapolateImage, ReplaceImageChannels, etc. In addition, most of Image nodes and Render can now be computed without OpenGL.
Large size images support has been added, such as 8K, 16K. Currently algorythms are still RAM-greedy. In Viewport2D now a downscaled image preview is shown instead.
In Viewport2D the top toolbar has been added. It supports changing Colorspaces and toggling Channels of image view. A Color Picker tool has been added, as well.
In node Node Editor Panel color choosing dialog has been improved. It supports Colorspaces, Ranges, HSV, and colors history.
Paste with Connections action has been added in Node-Graph Editor.
Save Project dialogs in Wrap now opens in more convinient dirs.
In ProjectScreenPoints misstrace handling options have been added.
Sequence Selection in Load nodes has been improved.
In Node-Graph Editor tab menu new lookup method has been added.
In LoadGeom has been fixed memory leak while loading a Draco.
In FacialDetection crash on multiple computes has been fixed.
While Compute Range memory block has been fixed. Previously, memory was freed only once you press OK in a dialog.
In Node-Graph Editor recursive connections crash has been fixed.
In many of Geometry nodes caching has been improved. Previously, changing Visual Param of input geometry such as color or wireframe visibility could break already cached nodes. It affects such node as RemoveSpikes, DeletePolygons, Blendshapes, etc.
In FastWrapping inconsistense Compute and Auto-Compute results has been fixed.
In FastWrapping freeze and crash on selected point on noisy detached geom has been fixed.
In Python parameter expressions several errors have been fixed. Now comments and semicolons can’t break one-liners.
License Activasion crash has been fixed on Linux.
In FacialAnnotation has been fixed projection bug with Camera’s Nearplane < 0.01.
In LoadGeom specific geom loading crash has been fixed.
In Node-Graph Editor ALT + LMB crash has been fixed. As well, the bug of removing nodes while moving it or it’s connection has been fixed.
More detailed error messages of loading and updating projects have been added.
In Compute Range a proper error message has been added.
In Node-Graph Editor node names generating mistakes has been fixed.
In SelectPoints editor several UI problems have been fixed.
In SelectPointPairs visual editor missing point updates have been fixed.
In SelectPolygons visual editor the problem has been fixed. Display Mode is no more seted to Polygroups when the input geom has no polygroups.
In LoadPoints visual editor missing transform bug has been fixed.
You can still use your existing R3DS licenses to activate Wrap. If such Nodelocked or Floating licenses would be found on your computer, they would be silently used to activate latest products, if possible. The more accurate scheme is: - If there is a new Faceform license already in the newest Faceform settings, then nothing will change. - If there is no old licenses on your computer, the License Dialog will work as previously. - If there is an old license on your computer, and there are no new, an old license would be taken and used as a new one. - Anytime, running Wrap, you still can go to License >> Activate License to activate new license instead of the old one.
Released November 2021
In Brush node, fixed crash on changing the symmetry mode.
Released November 2021
Loading Wrap4D projects from a command line added.
In search node menu added more prior to first letters and capital letters. For example, searching for “lg” will quickly find LoadGeom node.
Released November 2021
works up to 20 times faster than a regular Wrapping node. The speedup is especially noticeable on highpoly base meshes
automatically detects facial markers on FACS scans. Please check this tutorial to see how this node can significantly speed up the point selection process. This video explains how to set up this node to work with your custom topology
restores previous subdivision levels for meshes produced using Catmull-Clark subdivision
matches the vertex order of your model with a given reference
computes transformation between two models with the same topology
saves screen points to a file
projects points on a model to screen space
loads points from a file
moves mesh details from reference geometry to target geometry
In SelectPointPairs node: if you select a set of points on one model, clicking Ctrl+F shortcut will fit the camera to the location of the next point on the second model. Please check this tutorial to see how it helps to speed up a point selection process.
Added a tooltip panel at the bottom left corner of the viewport and visual editors. It shows a list of shortcuts supported by the current tool. The tooltips are added to SelectPoints, SelectPolygons, SelectPointPairs, Brush, VertexMask, OpticalFlowWrapping, and PointDetector nodes.
WrapCmd and Node applications no longer require OpenGL. It makes it easier to run them on a farm and machines without graphics cards. The only nodes that require OpenGL 2.1 to compute are the ExtrapolateImage and Render nodes. When running on machines without graphic cards or with no OpenGL 2.1 available, these nodes will return an error.
Viewport3D and VisualEditor now support antialiasing.
In SaveFacialDetection node computation can be performed in multiple parallel processes.
Render node has a Show Backfaces option.
DeletePolygons has an option to delete selected or non-selected polygons.
In MixGeom node: the Mask input parameter is now optional.
Added commonDir(), projectDir() and galleryDir() in Python parameter expressions.
Improved Temporal Smoothing tool supports Alembic and iterative smoothing.
Nodes that have
VertexMaskas output data type has the ability to save
VertexMaskfrom the pop-up menu in the graph editor.
When dragging-and-dropping a file into the graph editor a node will take the name of the source file.
Improved Preferences dialog.
Improved search in node menu.
Changing Timeline current frame with Shift now doesn’t force all nodes to recompute.
Fixed a bug with saving node colors.
In MergeImage node: fixed transparent background bug.
In DeletePolygons node: fixed incorrect polygon group mapping.
In Wrap4DCmd fixed error tracing.
In several nodes, fixed $PROJECT_DIR support.
Improved file filters in some nodes that allow to import/export files.
Released December 2020
When application crashes, it automatically saves its latest state to a crash dump file. A user can then manually send the file to the developers to help them the diagnose problem. The crush dump files can be located at
$USERPROFILE/AppData/Local/Faceform/Wrap4D/CrashDumpsfor Windows, and at
Fixed incorrect UV winding order when loading meshes from Alembic files.
Released December 2020
In TransferTexture node the value of V parameter is now interpreted as flipped.
Released October 2020
In SelectPolygons the File Name parameter dialog was fixed so that one can specify a file name for not yet created file
Released October 2020
MixGeom node has a new Blend parameter. It controls the mix amount between the two models.
Camera node can now import a camera from Reality Capture and Metashape. For Reality Capture version 18.104.22.16896 and earlier the import can be done only from an FBX file. Please check the <ImportCamerasToWrap> documentation for more details.
Camera node has a new Principal Point parameter that allows changing the center of the optical axis.
A memory leak has been fixed in the MixGeom node during loading of files in Draco format. Previously it led to RAM overflow during processing of large sequences in batch mode.
Released 20 August 2020