My proposals for Curvy 3D 4.0

Discussion and updates on Curvy 3D Beta development.
Eric1223
Posts: 1
Joined: Sat Mar 10, 2018 3:15 am

Re: My proposals for Curvy 3D 4.0

Post by Eric1223 »

Is it possible to make all of the textures (bump map, higlights color, highlight, etc) to be combined into 1 the base texture? I know of couple of 2d apps that read .obj files, but they do not have any lighting. Because of that, things like bump maps wont work. I figure the next best thing is to combine all of those into 1 texture so it looks the same as it does in curvy.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Quick Access Bar

Maybe you want to integrate a kind of quick access bar like there is in Word or Excel? This could hold the most-used functions, like New Document, Undo, and so on.

‎Fog in viewport

Fog fades distant objects out so there is a better perception of depth on a 2D monitor.

‎Curve primitives

So, we already have some basic shape primitives like Cube. What about Curve primitives like line, circle, spiral, helix, profiles?

Curve presets browser

Let's the user choose from different curve presets. This could be differently shaped spirals, different profiles and so on.
Simon
C.E.O.
Posts: 2639
Joined: Wed Dec 01, 2004 8:13 am
Location: Kingston Upon Thames, U.K.
Contact:

Re: My proposals for Curvy 3D 4.0

Post by Simon »

@Eric I guess you mean Baking the lighting into the texture. I'll put it in the wishlist. In the meantime there are several programs you can use that will do this function for you from exported OBJ files. I think XNormal does it for example.

Quick Access Bar YES or something similar. With the new UI comes great flexibility, so it will be easy to try out different bars and shortcuts and see what works well. At the moment I'm planning a thin toolbar down the left to access tools and panels, and another thin toolbar along the top for tool/primitive options. The options one can become a larger panel (like 3.0 Curvy) if you Drag it off the top or Dock it on the sides instead.

‎Fog in viewport YES I often add this as a post-fx but there is no reason it can't simple be another option.

‎Curve primitives YES The existing system of Redraws and Rulers is a bit clunky when all you want is a simple shape. I think this may as well be a simple folder full of SVG shapes. That way you can add/share your own and Curvy can ship with a large number of useful shapes. To draw you would just drag out a size and the curve would appear. More complex shapes would require some parameters and would probably a short script to generate them instead of SVG - so that's more of a wishlist item. I would use this a lot - especially for the really simple stuff like circle, hemicircle, rectangle.

Curve presets browser YES Even if it is just a icon by a name in a dropdown, but I think I can do better.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

MODELING

Resolution slider for primitives

Primitives are always at the same resolution when being created. This should be altered so the user can adjust the resolution of primitives. On one hand please think of low-poly work where only very rough models are needed or just because of artistic reasons. On the other hand, higher resolved models are a better start for detailed and high-res sculpting.

Image

Properties for primitives

Instead of having always the exact same primitives when being created extra primitive properties would be welcomed since they would allow for a much wider range of primitives. So, a simple cube could become a rounded crate, a cone could become a 4-sided pyramid, a cylinder could become a tube, and so on. Properties for primitives would open a up a whole new world how a user could start a project.

Image

Curve filters

At the moment, we have the Smooth function to “filter” curves, to make them smoother. I’d like to have more filters that can change the appearance of curves.

Image

Closed curves

Please include an option to automatically close open curves. They could provide as rail curves to sweep profiles along their path in a ring-like matter.

Image

Offset curves

Copies and extrudes a curve along its normals.

Image

New curve type: 3D curves

Currently it is only possible to draw curves on a given, flat drawing plane that corresponds to the planes of the coordinate system. This means that curves are and always will be flat and in 2D. It would be great if you could also create "3D curves" that can run randomly in space. This type of curve could use the screen space as a drawing layer. Whenever you rotate the view, the drawing plane also moves. In this way, 3D curves could be drawn.

New curve type: Splines

Seriously, splines or curves with control points would make a lot easier. They are ideal for drawing complex shapes by just dropping a few control points here and there and then pushing and pulling them to get exactly the shape you're looking for. No more fiddling with Smooth and Move. Splines are practical for complex, organic, but also for hard surface modelling work.

Image

Convert curve to spline

With the introduction of splines, it should be possible to convert freehand curves into splines.

Weighted curves

By giving the control points extra properties like strength the user can make spline curves smoother or harder at certain locations.

Image

Curve projections

A curve is projected onto an object. The curve adapts exactly to the curvature of the object.

Image

Intersection to curve

Image

Curve duplication

Simpler method of copying and arranging a curve several times.

Image

Instant mirror for curves

You may also want to implement a simple method for mirroring curves along a certain axis.

Image

Curve cage deform

Image

Curve interconnections

Connects the ends of two given curves in a smooth and tangential way by generating an interconnection curve.

Image

Connected drawing of curves

Imagine a curve you just drew but you want to extend it. Curvy 3D should allow the user to extend it just by drawing a second curve near on of the ends of the first curve. The ends of both the first and the second curve then automatically snap together forming a single new curve of desired length and shaped.

Drawing curves on objects

This picture shows an example how curves can also be drawn directly on objects in the program 3D-Coat. The curves mimic the curvature of the object. Although the function would be similar to "Projected Curves", the user would have more control over the exact shape of a curve.

Image

Curve generator

This could be a great extension for curve presets. Maybe you want to include a little generator that makes randomly shaped curves based on a few settings to provide for curves like lightnings, tree branches, fractal-like structures and similar.

Rebuild command for standard curves and splines

Very useful for both freehand curves and splines. For splines, of course, the amount and distribution of their control points is changed and recalculated. It can also be great for freehand curves since Smooth smooths every part of a curve in the same way, but maybe you want some parts to be smoother than others. A freehand curve rebuild command might be able to better calculate the curvature.

Sculpt to curve

Image

The brush snaps on a curve lying on an object. In this way, particularly soft brush strokes are possible. Also for hard-surface-sculpts such a mode would be very helpful, e.g. to create hard edges.

Extrude to curve

Image

Works similar to the previous function, but instead of sculpting you extrude along a curve. So you can also create material that protrudes from an object.

Stamp mode

Image

The stamp mode makes it possible to paint individual brush swabs.

Brush tips

Image

You can already adjust brushes using a falloff. But with custom brush tips based on images, you'd have a lot more options.

Instances

Image

Creates resource-saving instances of objects. Instances cannot be edited themselves, but they adapt to changes to the original object immediately.

Random scatter tool

Image

Image

Randomly distributes all objects in a scene or all selected objects.

Remeshing brush

Image

2D cage deform

This looks incredibly useful. A simple flat “cage” that can be altered in shape to deform and warp its underlying mesh object.

Image

Please also consider this video: https://www.youtube.com/watch?v=7g4FhESB31M

3D deformers for objects

With 3D deformers like Twist, Bend, Shear, Stretch, Warp and similar it would be possible to manipulate objects in a simple but very complex way.
Last edited by Funken on Mon Mar 19, 2018 8:46 pm, edited 1 time in total.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

MASKING

Curve to mask

Image

Instead of just painting masks, it should also be possible to create masks from curves.

Backface culling for mask tool

Image

When creating a mask, the program does not differentiate between front and back. With such a feature, Curvy would mask only the user-facing front side.

Mask sharpening

A sharpening function for masks.

Auto-voxel merge when applying a mask

Masks can only be used if the object is no longer based on curves but on a voxel mesh. A function that makes it possible to automatically convert the object into voxels when creating a mask would be useful.

Local transform based on mask

Image

”Remove mask” option for Mask menu

Masks can already be removed, but such a function would clearly be suitable for beginners as well.

Mask sets

A way to save and reuse already saved masks.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

RENDERING

Better alpha setting

Image

Dimmed curves

Image

Curves or parts of curves behind objects are faded out to a certain extent to create a better depth impression.

Flat shading

Image

PBR shading of objects

It would be great if Curvy would support Physically Based Rendering. PBR is a great way to quickly and easily add high quality looking materials to objects.

HDR viewport background

A necessity to be able to use PBR fully in the viewport.

Different color models for color picker

More color models for the color picker would be welcome, like HSL, RGB, and so on.

Auto-update for imported textures

If you have imported textures, the program should always react to external changes and reload the edited textures itself and automatically.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

MISC

Better redrawing performance for objects

Image

The example shows a comparison. If an object is moved to its underlying curve, the object jumps back and forth because the rendering performance is poor. If you move the object itself, the rendering performance is flawless. Maybe it is possible to improve the rendering speed in the next version.

Better performance for some brushes

Certain brushes, especially large ones, have poor drawing performance. This results in choppy strokes, distorted geometry, and a generally slow workflow, which in turn affects creativity negatively.

Better handling of large numbers in UI

Image

Particularly large numbers or data can exceed the width of text fields. This should be adapted for the next version of Curvy 3D.

Explorer thumbnail extension for Curvy 3D files

This would be a Windows add-on that makes the Windows Explorer display a preview of Curvy files.

Collision detection

Simple collision detection could considerably simplify the composition of a scene containing many objects.

Curvy 3D forgets last settings

Every time I restart Curvy, the program forgets certain settings I made earlier. It would be nice if the program would consider all settings adjusted by the user, e.g. hiding the grid.

Image upload to forum

Many threads in this forum have lost all their embedded images. The reason for this is that their image hosters went offline, or because they simply deleted the images. This is a pity, as many threads are no longer usable in this way. A lot of useful information was lost in this way, e. g. tutorials. I think it would be better to host all embedded images on the forum server itself.
Last edited by Funken on Mon Mar 19, 2018 8:48 pm, edited 1 time in total.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

UI/UX

Open as readable only

Another new file management feature. This makes it possible to open Curvy files in read-only access.

New toolbox organization

Image

The division of the first icon group into navigation and manipulation makes more sense to me. What do you think about that?

Preview for Straighten Curve Segment tool

All curve editing tools like Trim and Redraw have a preview where you can see the brushstroke. This should also be possible for the "Ruler" tool.

Preview for Inflate Image

A preview for "Inflate Image". Since the function is very complex, it is cumbersome just for minor adjustments to open it up.

Rename in objects panel
Image

This function would speed up the workflow.

Folders/groups for objects panel

This is a must, I think. This would make it much easier to organize complex scenes.

Resolution display in percent

Image

Brush palette and settings

Image

A toolbar with advanced brush settings would be very welcome. The example image shows a screenshot of 3D-Coat.

Snapping for rotation

I suggest a snapping mode for the Rotate tool. The Shift key could lock at 45° and the key combination Shift-Alt at 15° (or so).

Video tooltips

Image

Many programs now offer video tooltips that eliminate the need for long and tedious text explanations. Maybe a good idea for Curvy 3D, too?

Highlight navigation buttons in viewport when used

Image

When using the navigation tools via shortcuts, the corresponding icons in the viewport should light up. This would give the user more feedback from the user interface, which would be particularly advantageous for beginners.

Pan icon in viewport

Image

The viewport already has the navigation tools Rotate and Zoom. It may also be a good idea to add the Move tool here.

Zoom on active object / group / all

Image

A useful set of zoom modes.

Rendering styles icons in viewport

Image

A set of different rendering modes as found in most 3D programs.

Curves only icon in viewport

Image

Hides everything except curves. Makes it possible to customize complex scenes based mainly on curves.

Single / quad view icons in viewport

Image

Icons that allow the user to quickly switch between one-window and four-window workspace.

Panel settings

Image

It should be possible to customize settings for certain panels. I could imagine a kind of cogwheel icon, via which the user can directly access panel-related settings.

More tooltips

Some functions do not have tooltips, e.g. "Bevel settings".

More import formats for Inflate Image

Currently, the "Inflate Image" function can only import images in BMP format. This is very limited, and should be extended for more formats. I suggest the formats .png, .jpg, .tif, maybe also .hdr and .exr.

Curve import/export

The base of Curvy are still the curves themselves. Since you will be able to import curves in the next version, it would be great if you could also export curves. I suggest the formats .ai, .svg, .dxf and .pdf.

Beginner/Pro mode

You mentioned several times that you want to keep the Curvy 3D user interface simple. Then how about one mode for beginners and one for professionals? The mode for professionals would provide all functions, but the mode for beginners would only provide the most basic functions. Once a user has become familiar with the program, he could quickly switch to professional mode.
Simon
C.E.O.
Posts: 2639
Joined: Wed Dec 01, 2004 8:13 am
Location: Kingston Upon Thames, U.K.
Contact:

Re: My proposals for Curvy 3D 4.0

Post by Simon »

Wow :D Thank you for the great feature list! Looking down it is mostly YES + WISHLIST and a couple of DONE.

I'll be cracking on with the UI for the next couple of weeks, but I can't wait to get implimenting these. A lot of them are mainly UI work, the underlying math/geometry is trivial - so if I can streamline adding new UI that will help.

Just a couple of comments:
If you turn on the "Fog" option you get a smooth alpha bar (this should be made more obvious)
You can group items by dragging the names in Groups Panel, and close a group by right clicking (but Groups needs some work to be easier to use)
Mask sharpening is in the Mask menu, along with other effects that I rarely use because I forget them.
If you turn off the grid you draw in screenspace (and can even rotate the view with arrows while drawing). The easist way to make a 3D curve is to draw it once, then use the Redraw Curve tool to draw it from another angle - it will combine the two curves to make the best 3D approximation of both.
You can "Mirror Clone" to make a mirrored copy of a curve.
We had instances in a Beta of 3.0, but it got too complicated (With editable Instances). Your method of Non-Editable Instances is much cleaner and simpler - useful :)
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

"Mirror Clone" - I can't believe I missed this. :-) Thanks, Simon.

Regarding grouping: The current implementation feels more like parenting than grouping. In particular, that there are no folders or "null objects" that could be superordinated to other items.

Regarding alpha: It should indeed be made clearer that full alpha is dependent on the Fog setting. I also find the name Fog somewhat misleading, since it is nothing more than transparency?
Simon
C.E.O.
Posts: 2639
Joined: Wed Dec 01, 2004 8:13 am
Location: Kingston Upon Thames, U.K.
Contact:

Re: My proposals for Curvy 3D 4.0

Post by Simon »

I'm really hoping the new UI will make things like "Mirror Clone" easier to stumble upon and learn how they work. Tips with images or videos may well be handy.

I've been thinking about scene organisation. Logically it is not like layers in a 2D paint program, but rather it is a collection of groups, or trees, that don't have any fixed order. It is a nightmare when you have 100's of little objects in a scene (can't manage them effectively as anythign other than a huge group). And you quickly get lots of objects with rather undescriptive names. I guess it should be more like a file browser, with folders and sorting, and previews. Might be interesting to sort the list by size, or by position in an axis, and highlight the object in the 3D view as you mouseover it in the list. could even popup a preview window with the object centred and the rest of the scene faded out to be absolutely clear what you were selecting. In any case it should be no harder to use than a file browser - and perhaps easier than that.

The only reason there is a "Fog" setting is that you can load a texture with alpha onto an object, and you need to let the renderer know to render it with alpha (even though it's diffuse colour might have 100% alpha). It is rather a special case and 99% of the time it would be simpler just to turn on the alpha blending renderer as soon as the diffuse alpha is 99% or less. I'll make that the default behaviour. Just to note - sometimes you want an alpha texture without the alpha-blending so you can get a hard edge without a fade out. But again the option should probably be reversed, and "Hard Edge Alpha" should be the option you turn on for that behaviour, and the rest of the time it is soft alpha blending for diffuse colour and textures.
So in practice I use "Fog" when I want to use a Lightmap with an alpha fade out to make smoke trails. But I agree the name is inconsistant with normal usage - especially when I add normal Depth-Fog!
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Shift-Click Select / Ctrl-Click Select

Please make it possible to select several objects at once - according to Windows standard. Ctrl-Click selects individual objects - object by object. Shift-Click selects a group of objects at once. This means that with Shift-Click you select the first element and the last element, and all elements in between are selected automatically. Shift-Click select refers in particular to selections in the Object Panel.

Select All with Ctrl-A

This is a very common shortcut to select all visible objects.

Select menu

Perhaps you would like to introduce a dedicated selection menu that contains all selection-related functions?

Scrolling in Groups panel even without any objects in it

This is a kind of shortcoming, but not really a bug I think. So it is possible to scroll with the mouse wheel in the Groups panel, even if there are no objects in it.

Image
Simon
C.E.O.
Posts: 2639
Joined: Wed Dec 01, 2004 8:13 am
Location: Kingston Upon Thames, U.K.
Contact:

Re: My proposals for Curvy 3D 4.0

Post by Simon »

If you click the square in the top left of a view it toggles between 1 and 4 viewports.

Groups menu needs a bit of work. Should be able to fix the scrolling too.

I should gather the selection ideas together. Select All is a good idea. It gets a little complicated in that you can select a parent without selecting its children sometimes. It may be that a separate 'folder' object is helpful in organising things (or it may complicate things! May need to try it out on a big sculpt and see how it feels.)

Certainly the old system of setting up a parent + child pair to run a command on does not work well for me. If you just want a quick command you can simply select the two objects at once - perhaps with the last object selected having priority in the way the command operates.
Simon
C.E.O.
Posts: 2639
Joined: Wed Dec 01, 2004 8:13 am
Location: Kingston Upon Thames, U.K.
Contact:

Re: My proposals for Curvy 3D 4.0

Post by Simon »

Getting back into this now - Added the "Better rotation tool handle". Lots more to come :)

Image
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Excellent work! :mrgreen:
Post Reply