Wrap Change Log¶
Wrap4D 2021.11.3¶
Released November 2021
Wrap4D 2021.11.2¶
Released November 2021
Upcoming Version¶
New Nodes¶
- FastWrapping
works up to 20 times faster than a regular Wrapping node. The speed up is especially noticeable on highpoly base meshes
- PointDetector
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 setup this node to work with your custom topology.
- UnsubdivideGeom
restores previous subdivision levels for meshes produced using Catmull-Clark subdivision
- MatchTopology
matches the vertex order of your model with a given reference
- FindTransform
computes transformation between two models with the same topology
- DeltaMush
moves mesh details from reference geometry to target geometry
- ImageToVertexMask
converts an
Image
into aVertexMask
- LoadPoints
loads named points
- VertexMaskToPolygonSelection
converts a
VertexMask
into aPolygonSelection
Functionality¶
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 R3DS 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 SaveGeom and SaveImage nodes have a new Create Intermediate Directories parameter. If it’s turned on, the node will create all the non-existing folders in the file path.
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() Python functions.
Improved Temporal Smoothing tool supports Alembic and iterative smoothing.
Nodes that have
VertexMask
as output data type has the ability to saveVertexMask
from the context 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.
Bug Fixes¶
In SelectPoints and SelectPointPairs nodes: fixed selection pixel tolerance for 4K screen.
In SelectPoints and SelectPointPairs nodes: fixed points selection for transformed meshes.
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.
Wrap 2020.12.2¶
Released December 2020
Functionality¶
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/R3DS/Wrap/CrashDumps
for Windows, and at$HOME/.local/share/R3DS/Wrap/CrashDumps
for Linux.
Bug Fixes¶
Fixed incorrect UV winding order when loading meshes from Alembic files.
Wrap 2020.12.1¶
Released December 2020
Bug Fixes¶
In TransferTexture node the value of V parameter is now interpreted as flipped.
Wrap 2020.10.2¶
Released October 2020
Bug Fixes¶
In SelectPolygons the File Name parameter dialog was fixed so that one can specify a file name for not yet created file
Wrap 2020.10.1¶
Released October 2020
Functionality¶
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 1.0.3.9696 and earlier the import can be done only from an FBX file. Please check the documentation for more details
Camera node has a new Principal Point parameter that allows changing the center of the optical axis
Camera node has a documentation chapter about importing cameras from photogrammetry software.
Wrap 2020.08¶
Released 17 August 2020
New Nodes¶
- Camera
creates a camera that can be used for rendering, projecting
ScreenPoints
and other purpoces- CreateImage
creates an image filled with a solid color
- LoadAlembic
loads geometry from Alembic format
- LoadTransform
loads a transform from a file in JSON format
- MergeImage
overlays a foreground image over a background image
- MergePoints
merges two sets of points
NamedPointsOnTriangle
- MixGeom
blends vertices of two meshes based on the value of a vertex mask
- PointsToPointPairs
converts two sets of points
NamedPointsOnTriangle
intoPointCorrespondences
- PolygonSelectionToVertexMask
converts a
PolygonSelection
into aVertexMask
- Render
renders an input geometry through a Camera
- ReplaceImageChannels
replaces image channels of a given image. A second image can be used a source of the channels
- SaveAlembic
saves geometry into Alembic file
- SaveTransform
saves transform to a file in JSON format
- SelectPoints
lets you select named points on a model
- TextImage
creates an image with a text on it
- VertexMask
allows painting a vertex mask on a mesh
Functionality¶
Support of path variables (
$GALLERY_DIR
,$PROJECT_DIR
,$COMMON_DIR
) for all file name parametersSelectPoints node type was renamed to SelectPointPairs
OpticalFlowWrapping node has a Projection Mask option that prevents distortion artifacts on a mesh borders, especially on a neck
OpticalFlowWrapping node has an optional VertexMask input that defines which vertices should not be moved by the optical flow
OpticalFlowWrapping node is up to 2 times faster providing the same results
ProjectGeom node now accepts VertexMask input which allows projecting vertices using soft masks
SelectPointPairs node has different symmetry modes including topological symmetry
SelectPointPairs node highlights points the first point that doesn’t have a pair
Wrapping node has a Terminate button in the wrapping dialog
Wrapping node is up to 2 times faster providing exactly the same results
Dockable panel system for UI customization
Wrap 3.4.8¶
Released 17 June 2019
New Nodes¶
- BlendWrapping
provides an example-based wrapping method that reuses pre-existing wrapped meshes to improve the wrapping quality for further models. This node reduces the need for cleanup to a minimum
- Brush
provides a variety of brushes for mesh sculpting and cleanup. It is especially handy for fixing mesh artifacts after wrapping
- CopyTransform
copies a transformation from one object to another
Functionality¶
Copy and paste of nodes
Drag and drop of models and images into the node graph
Compatibility with projects made in all the previous versions of Wrap3
New base meshes in Wrap gallery. Includes female fullbody, skull, and teeth
Improved gallery which includes project samples and can be extended with extra packs downloaded from our website
Support of non-latin characters in file paths
Menu of recently opened projects
Improved node-graph UI
Node alignment in node-graph
Node connection with click-and-drag
Saving a node result from the node context menu
UVs are no longer smoothed by SubdivideGeom node
3D points in world-space coordinates (x,y,z) can now be imported into SelectPointPairs and SelectPoints nodes
Wrap 3.3.17¶
Released 05 April 2018
Functionality¶
Floating licenses support
Wrap3 now can be used in floating license mode. Instructions how to set up license server one can find in floating documentation section.
Wrap 3.3.11¶
Released 24 November 2017
New Nodes¶
- OpticalFlowWrapping
Uses optical flow to fit a textured basemesh to a textured scan. The node can be used to fit a neutral mesh of an actor’s face to 3D scans of his facial expressions. It renders pairs of images of both models from different angles and finds optical flow between the images. For each image pair it generates a set of decisions on where to more each pixel. All the decisions are then combined into a global solution.
- Blendshapes
Blends input geometry according to blendshape weights. Along with geometric blending the node also provides a real-time preview of texture blending.
- Transform
Adds a new transformation to a current transformation of an input geometry. Supports interactive transformation in the 3D-viewport.
Functionality¶
Fast Ray-Tracer
Texture projection and geometry projection works much faster even for meshes with big triangles. Point selection works with small-scale models.
35 Facial Blendshapes
Wrap’s gallery now incudes 35 anatomically correct blendshapes. The blendshapes were captured from real person and then transered to a generic face. Thanks to Alexey Bodatirev for careful post-processing of each blendshape.
6 Facial Scans
A set of facial scans have been included into Wrap’s gallery.
Bug Fixes¶
LoadGeom node crashes when polygon indices refers to non-existing polygons.
Wrapping node crashes when plugging non-geometrical data into the first input.
Ray tracing fails for models in small scale. The problem arose for point and polygon selections, ProjectGeom node and TransferTexture node.
OBJ-files with polygroups exported from Houdini cause crash on loading.
In SelectPolygons node a 100K polygons limit is removed for loop selection. Now loop selection works for any meshes except for ones that contain only triangles.
RepairGeom node crashes when input geometry contains invalid polygons and doesn’t have texture coordinates.
Wrap 3.2.0¶
Released 5 December 2016
New Nodes¶
- Replace
Takes two models in the same topology and seamlessly replaces a part of one model with a part of the other.
- Subset
Detaches a selected part of a model to a separate geometry (a subset). The subset can further be modified, saved, loaded, wrapped or transformed. Any changes in vertex positions of the detached geometry can be later brought back to the original model using ApplySubset node.
- ApplySubset
Works in pair with a Subset node. Copies vertex positions of the subset back to original mesh. The topology and the vertex order of the subset geometry should not be modified.
Functionality¶
Command Line Interface
Wrap can be run through a command line interface. Find more about command line arguments here.
Fullbody Basemesh
The basemesh was designed specifically for wrapping purposes by Alexey Bogatyrev. It can be used for commercial purposes.
MTL Reference Preservation
Wrap preserves reference to .mtl file when loading and saving model to OBJ-file.
Auto-compute is off by Default
Auto-compute option of Wrapping node is off by default.
Bug Fixes¶
Wrap freezes if the basemesh contains isolated vertices.
Parameters of some node reset to default after removing them and undoing remove operation.
RepairGeom node does not remove isolated vertices if the input geometry is manifold and does not contain invalid polygons.
Wrap 3.1.0¶
Released 17 October 2016
New Nodes¶
- FixSymmetry
Converts a non-symmetrical model to a symmetrical one by changing its vertex coordinates. The input mesh is assumed to have a symmetrical topology.
Functionality¶
Camera to World Axis Alignment
Click
S
key in a 3D-viewport to align camera rotation to the nearest world axes. Lets you quickly align the camera to Front, Left, Right, Top, Bottom and Back views.
Bug Fixes¶
SelectPointPairs: clicking on a model to set a point sometimes missed the proper polygon and set the point behind it.
Fit to View with LoadGeom node being selected caused to crash if there were no geometry loaded.
SubdivideGeom: the node didn’t preserve materials.
RigidAlignment: the node ignored transformation of the left input.
Clicking
Tab
orDelete
while connecting nodes caused to crash.Wheel zoom was reversed (comparing to Maya) in 3D-viewport.
Wrap 3.0.3¶
Released 5 September 2016
Functionality¶
Node-Graph Workflow
Wrap 3 is the first step toward node-graph based scan processing. By creating and connecting nodes it allows you to define a recipe of how a scan should be processed and later apply the recipe to dozens of new scans.
Project saving
Projects can now be saved to .wrap file. Internally the file has JSON text format. The structure of the file is simple enough so that one can easily edit node parameters, create and connect nodes using text editor or Python script. That provides access to basic automation.
Undo/Redo
Undo/redo system allows undoing of most operations using
Ctrl+Z
andCtrl+Y
.Enhanced Wrapping Algorithm
The wrapping algorithm is much faster and much more robust now.
Viewports Synchronization
When using SelectPointPairs node the left and right views can now be synchronized to speed up selection processing.
Enhanced Points Editor
While working with SelectPointPairs node editor one can click and drag a point and adjust its position. Any point can be removed with
Ctrl + LMB
.Enhanced Polygons Editor
When working with SelectPolygons node editor the following new operations are supported:
double click
selects a set of connected polygonsShift + LMB
or lasso selection adds new polygons to selectionCtrl + LMB
or lasso selection removes polygons from selectionShift + double click
near selected polygons will create a loop selection (only for manifold geometry)+Polygroup
/-Polygroup
button adds/removes selection from polygroup+Material
/-Material
button adds/removes selection from material
Node Graph Editor
Click
Tab
to show the list of all the nodes that can be created. To create the node choose one from the list or start typing its name and pressReturn
when the desired node appears in look-up menu.Click on an output then click on an input or vice-versa to connect two nodes.
Left-click
on connection then Disconnect from context menu to disconnect nodes.Hold down
MMB
over a node to see node information and errors.Hold a mouse over a node input to see input name and type.
Batch Processing
At the bottom of Wrap window there is a time line. Every loading node (like LoadGeom or LoadImage) allows to select a sequence of file names. When you switch between the frames of the time line the loading nodes will be recalculated to load new file from the list. Each saving node (like SaveGeom of SaveImage) allows to insert # sign inside an output file name. For example ‘WrappedBasemesh###.obj’. When you click ‘Compute current frame’ Wrap will substitute # signs with the current frame number producing ‘WrappedBasemesh001.obj’ In order to process multiple frames in batch mode create and connect the output of your recipe to saving node then click ‘Compute frame range’ inside the node editor. Each frame is computed in parallel in separate process. If you want to compute multiple saving nodes at a time please use main menu
Nodes > Compute All
.
Known Issues and Workarounds¶
Texture and Geometry projection
Texture and geometry projection slows down significantly when target geometry contains some huge polygons that overlap big number of small polygons. Such models are often produced by RC. You can remove large polygons beforehand.
Small models
Point selection and some other operations may suffer from loss of precision if a model has very small scale. The default units in Wrap are centimeters. You often face small-scale problem when trying to load scans that were saved in meters. Up-scaling the scan by changing ‘Scale’ parameter of LoadGeom node will take no effect. Up-scale the scan and save it in new units, then load saved file and use it.
Wrapping
There’s no termination button for wrapping process yet.