System and method for interactive masking and modifying of 3d objects
Abstract
A system and method for providing an intuitive and efficient mechanism to select areas of interest on a 3D model, and modify a pose or shape of the 3D model. A masking module allows an artist to interactively mask portions of a 3D object and leave other portions of the object unmasked. A posing module provides various tools to allow the artist to apply a posing or reshaping action on the unmasked areas of the 3D object. The computer artist masks portions of the 3D object by clicking and dragging the user input device on an area of the 3D object. All vertices whose topological distances are closer to the vertex associated with the initial click position than the final dragged position are masked. The artist then draws an action line on or partially on the 3D object to define a coordinate system. The artist clicks on a point on the action line, and drags the user input device for corresponding transformations of the unmasked portions of the 3D object.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method for interactively modifying a 3D object, the method comprising:
displaying the 3D object on a display; drawing on the display an action line in response to a user command; receiving a user selection of an action to be applied to the 3D object; receiving a user selection of a point associated with the action line; detecting movement of a user input device with respect to the selected point; and applying the selected action on at least a portion of the 3D object based on the detected movement of the user input device and with reference to the action line.
2 . The method of claim 1 further comprising:
masking at least a first portion of the 3D object in response to a first user command and leaving at least a second portion of the 3D object unmasked.
3 . The method of claim 2 , wherein the 3D object is associated with a geometric mesh formed via a plurality of polygons having edges and associated plurality of vertices, and the masking includes:
identifying a first vertex on the geometric mesh; identifying a second vertex on the geometric mesh; for each current vertex of the plurality of vertices, determining a first topological distance in a first path from the current vertex to the first vertex, and a second topological distance in a second path from the current vertex to the second vertex; comparing the first topological distance with the second topological distance; and masking at least the first portion of the 3D object and leaving at least the second portion of the 3D object unmasked based on the comparison.
4 . The method of claim 2 further comprising:
applying the selected action on the unmasked portion of the 3D object.
5 . The method of claim 1 , wherein the action line has a start point and an end point, the selected action is a rotate action, the selected point is the end point, and the applying the selected action is rotating at least the portion of the 3D object about the start point.
6 . The method of claim 1 , wherein the selected action is a rotate action, and the applying the selected action is rotating the 3D object about an axis defined by the action line.
7 . The method of claim 1 , wherein the action line has a start point and an end point, the selected action is a scaling action, the selected point is the start point, the movement of the user input device is dragging the user input device away from the end point, and the applying the selected action is scaling up of at least the portion of the 3D object.
8 . The method of claim 1 , wherein the action line has a start point and an end point, the selected action is a scaling action, the selected point is the start point, the movement of the user input device is dragging the user input device towards the end point, and the applying the selected action is scaling down at least the portion of the 3D object.
9 . The method of claim 1 , wherein the action is a move action, and the applying the selected action is moving at least the portion of the 3D object about an axis defined by the action line.
10 . A computer-implemented method for selecting a portion of a 3D object for modifying the 3D object, the 3D object being associated with a geometric mesh formed via a plurality of polygons having edges and associated plurality of vertices, the method comprising:
identifying a first vertex on the geometric mesh; identifying a second vertex on the geometric mesh; for each current vertex of the plurality of vertices, determining a first topological distance in a first path from the current vertex to the first vertex, and a second topological distance in a second path from the current vertex to the second vertex; comparing the first topological distance with the second topological distance; and masking at least a first portion of the 3D object leaving at least a second portion of the 3D object unmasked based on the comparison.
11 . The method of claim 10 , wherein the first topological distance is a first number of intersections in the first path, and the second topological distance is a second number of intersections in the second path.
12 . The method of claim 11 , wherein the first path traverses one or more of the edges of the plurality of polygons coupled between the current vertex and the first vertex.
13 . The method of claim 11 , wherein each one of the intersections is a vertex shared by two or more of the plurality of polygons.
14 . The method of claim 10 , wherein the first vertex is associated with a first point of the 3D object selected by a user, and the second vertex is associated with a second point of the 3D object.
15 . The method of claim 10 further comprising assigning a masking value to the current vertex based on the comparison, wherein the vertex is masked if a first masking value is assigned, and the vertex is unmasked if a second masking value is assigned.
16 . The method of claim 15 , wherein the first masking value is assigned to the current vertex if the first topological distance is less than the second topological distance.
17 . The method of claim 15 , wherein the vertex that is identified as being masked is not affected by a modification of the 3D object.
18 . The method of claim 15 further comprising:
calculating an updated masking value for each current vertex of the plurality of vertices based on an average of masking values of vertices surrounding the current vertex.
19 . The method of claim 15 further comprising scaling modification of the current vertex based on the assigned masking value.
20 . A computer readable media embodying program instructions for execution by a processing device, the program instructions adapting the processing device for interactively modifying a 3D object, the program instructions comprising:
displaying the 3D object on a display; drawing an action line in response to a user command; receiving a user selection of an action to be applied to the 3D object; receiving a user selection of a point associated with the action line; detecting movement of a user input device with respect to the selected point; and applying the selected action on at least a portion of the 3D object based on the detected movement of the user input device and with reference to the action line.Join the waitlist — get patent alerts
Track US2008218512A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.