From BlenderWiki

Jump to: navigation, search

Sculpting Tool

Disclaimer

Some part of my original proposal has been overlapped with Sebastian Witt's Project so I shall be working mainly on Clipping Brush, Suggestive Contour Brush and Topological Move/Grab Brush in coming days.

Name

Raja Kumar Kedia

Contacts

Synopsis

The realism of a model depends upon its surface detailing which is done by the sculpting tools in a 3D software. Blender has an internal sculpt mode, but still it lacks few features in its working tools and brushes. This project is about the development and improvement of certain brushes in blender for better sculpting experiences.

Benefits

Currently in blender, if a part of an object is to be removed, it requires lots of manual selection and deletion. Clipping brush can remove a portion of mesh in a stroke. Topological Grab/Move Brush can make user grab or move a portion of mesh without using interfering with neighbor mesh. Suggestive Contour Brush can be used to create fine details in the mesh.

Deliverables

  • Implementation of various mathematical models which can help to create new brush in this project and other brush in future.
  • Features like Clipping brush, Suggestive Contour Brush and Topological Grab brush will be made.
  • Documentation, Details for future code improvement & analysis and tutorials will be provided for the same.

Project Details

The main focus of this project will be to create the clipping brush and Topological Grab/Move brush along with Suggestive Contour Brush.

Topological Grab/Move Brush:

Grab Brush will be implemented with new features for deforming a mesh like ‘Move Topological Brush’. This feature will basically help a user to move a portion of mesh without changing the position of its neighbouring unattached mesh vertices. This brush can help user to move an unconnected part in an object like lips, eyelids in human face or beaks in birds which is currently difficult using Grab Brush.
Its implementation will require three different functions for finding connected vertices in three different modes i.e. Normal Mesh, Dynamic Topology and Multi-resolution. As this brush is based on partial mesh modification, it might take more time then assigned period due to implementation of various functions for various mode.
Optional: This feature might be converted into an option just like Front face Editing mode so that this Topo Connected feature can be used with other brush also.


Clipping Brush:

This brush will be used to slice orthographical through an object. User will stroke through the object and the object will be divided into two parts. User can delete the part which is not needed.
Algorithm involved: It basically works on surface painting algorithm. Each segment of cutting stroke is projected into front and back face of a mesh’s polygon. System constructs a plane joining this projected line ( [See section 5.2 and 5.4] ). System then triangulate the plane to increase number of polygons in new surface ( [Triangulation] )and Split the object in two parts.

Implementation of Suggestive Contours Silhouette Brush:

This brush will give a bump or a contour detailing in a mesh easily. To give these kinds of details, we currently use crease brush in which it is difficult to create realistic texture as it moves the vertices rather than changing its orientation, so this brush might be proven more useful in creating surface detailing.

The implementation of this brush depends upon the rotation of laplacian of vertices wrt axis orthogonal to view and normal vectors [Sketch Based Editing]. Its implementation may be difficult as calculation and mathematical model may take more time than expectation but I will try to complete it before GSoC ends.

At the end of implementation of these brushes and tools, there might be few bugs and errors in the code so if I finish my project before hand, I will be fixing these bugs and If I do not get time I will be fixing it positively after GSoC.

Project Timeline

04.05 - 03.06 Community Bonding and reviewing Code base of Blender
04.06 - 30.06 Implementation of mathematical models for different brushes and development of Topograb Brush.
- Review the past works.
- Implement new models and controls
- Start and develop Topograb Brush.
- Developing UI for Clipping Brush.
- Check on bugs and fix it.
01.07 - 18.07 Developing Clipping brush.
19.07 - 21.07 Testing, documentation, bugfixes, performance improvements
22.07 - 12.08 Implementation of Suggestive Contours Silhouette Brush(Might be merged with Sebastian Witt's project).
- Developing Its Mathematical Models
- Defining brush and its control along with UI
12.08 - 15.08 Testing and Major bug fixing
15.08 - 21.08 Code Cleanup, Final Documentation and Report

After GSoC, I will be fixing remaining bugs and I will finish the parts which may have been left out. As the mathematical modelling of these brushes are little bit complicated so some features may take longer than expected but I will be trying my best to complete it within the given period.

Bio

Hello, I am Raja Kumar Kedia. I am 21 and currently pursuing B.tech in Electrical Engineering at the Indian Institute of Technology (ISM), Dhanbad in India. I have been using blender for last 3 years (Link to my Art ) and this software has introduced me to a whole new level of technology. I have strong background knowledge of C, C++, Python, Java, and CUDA. I have implemented these languages in some of my college projects. Working in a project in GSoC'17 with this organization will be a perfect opportunity to boast up my tech skills and learn more about this organization.