My proposals for Curvy 3D 4.0

Discussion and updates on Curvy 3D Beta development.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Better Blobs

Image

New Blob object can use multiple curves to create blobs with holes.

Set tool size based on last size
Simon wrote: Set tool size based on last size MAYBE This is an interesting change! How does it work if you have a huge brush and want to make a small size afterwards?
New proposal: why not support BOTH behaviors? This could be done via a new brush property "Relative or Absolute". Absolute is the current behavior where you have to draw the complete "circle" until you've reached the size you want. Relative is based on the last size you set.

Antialiased objects (curves, meshes etc.)

Well, just antialiasing for the 3d viewport. :-) Not really important for me, but maybe for others?
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Complex Sweep

Creation of lofts using a "profile" and "path" curve. Please make this possible. :-)

Image
Last edited by Funken on Sat Mar 03, 2018 6:23 pm, edited 1 time in total.
Simon
C.E.O.
Posts: 2562
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 »

You can have antialiasing in 3.0 but you need to set it up in your Windows Display settings (For me it is my NVidia 3D settings). MAYBE get some in app settings for this, but I have had little luck with it in the past on other projects.

Lofts with profiles curves is DONE (see the Macaronii in the 2nd post)
viewtopic.php?f=45&t=3040

Blobs with Holes YES - I just have to translate the new Slab code back over to Blob. I might also be able to improve the quality of the Blobs themselves too. Lots of interesting possibilities.

Tool Size Options - Good idea.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Simple Loft

Image

Complex Loft

Image

Multi-section Loft

Image

By picking the curves in the correct order or by numbering them one could control how the loft is be drawn. Endless possibilities!

Image

I think a powerful loft function is a must for a "curve modeling" program like Curvy 3D. :D
Last edited by Funken on Sat Mar 03, 2018 6:28 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 »

Simon wrote: Lofts with profiles curves is DONE (see the Macaronii in the 2nd post)
viewtopic.php?f=45&t=3040
Will it be possible to use different profile curves for start and end of the sweep (sorry, I wanted to call it sweep since it's not really a loft)?
Simon
C.E.O.
Posts: 2562
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 »

That pillar is an interesting example. At the moment I would just make that as several separate and overlapping objects.

The multi-curve shapes with several different profiles making up a single object... well it is interesting, and perhaps mixed with the Rails and Lathe code you could produce some good shapes - and the best bit is they would be basic Primitives with Editable Curves.

The only setback is how complicated it all gets for the end user. Lofts already suffer from being too confusing. Perhaps I should include a selection of "Ready Made" objects in different styles that both demonstrate how to setup the more complex models, and also act as a starting point for further editing into a final form.

I will keep my eyes open for real objects that could be made more easily with these features.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Some last ideas at the end of the week.

Radial symmetry

Addition to the existing symmetry mode.

Different lighting schemes

Let the user define lights that shade the objects in the viewport.

"Save as..."

The current implementation of "Save" is that the program asks each time to where to save the scene. This should be altered to "Save as". The existing "Save" should always overwrite the file if already saved previously. Please don't forgive to give hotkeys to all save operations.

Auto-save

Automatically saves the scene in backup files every 10 minutes or so.

Orthographic view

Addition to the existing perspective view mode.

Support for quads and n-gons

Imported meshes are converted to tris. Would be great to have quads and n-gons support.

Dolly camera instead of "real zoom"

The current implementation of zoom does exactly what it says: it zooms, in other words, changes the field of view. I think this isn't very practical for navigating since one expects the FoV to stay the same. Instead the camera itself should move when "zoomed", this is also called "dolly camera", which means FoV stays the same, but the distance of the camera in relation to the object changes.

Clean/Decimation brush

Image

Extended colors panel

Color panel shows different color codes. Maybe useful for web developers?

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

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Simon wrote:The multi-curve shapes with several different profiles making up a single object... well it is interesting, and perhaps mixed with the Rails and Lathe code you could produce some good shapes - and the best bit is they would be basic Primitives with Editable Curves.
That's exactly what I had in mind. Complex objects made up from simple ones, actually from one the simplest shapes one can imagine - simple curves drawn by hand that come together to form complex three dimensional geometry. :D
Simon
C.E.O.
Posts: 2562
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 »

Radial symmetry - Maybe. A version that simply duplicates the model a number of times around an axis would be easy enough - and we should have that for duplicating in 1/2/3 dimensions too. Making a continuous mesh with radial symmetry is harder as you can't guarantee that the anti-clockwise edge matchs the clockwise edge of a segment.

Different lighting schemes You can get all sorts of lighting effects with the MatCaps - although it would be nice to be able to change the shadow angle.

"Save as..." YES And probably save+iterate too Scene1.cvy ... Scene99.cvy etc.
Auto-save YES To a separate slot? Plus an extra auto-save before 'tricky' operations that are likely to take some time to complete.

Orthographic view MAYBE Might be easy enough, just needs more UI to support.

Support for quads and n-gons Quads are supported generally, and *should* be supported on imports - I'll check. I'm not going to to NGons.

Dolly camera instead of "real zoom" YES I will try this out. I have noticed difficulty with the existing system at very high zoom-out, your system might fix that.

Clean/Decimation brush YES I've wanted this one for ages. At the moment you can use the Mask brush, then a Mesh Reduce. But a specific simplification brush would be great. Likewise it is easy to decimate - just use any tool with a 0% intensity and it will divide the mesh - you can even use the mask brush. But a dedicated decimate brush (to a given edge length) would be great.

Extended colors panel YES Plus a radial colour selector with a ring and a triangle inside - like other apps.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Multi tool widget

Combines all three basic operations Translate, Rotate, and Scale into a single widget. This isn't meant to replace the others, but it's only to be an alternative when you have to do a lot of different basic operations and you don't want to switch between the different widgets all the time.

Image

Torus primitive

Image

Would make the line-up of primitives more or less complete. :-)

Disc and face primitives

Well, maybe you also want to introduce some "flat" shapes, like discs and 4-sided faces?

Bridge tool

Builds a bridge between two selections. Should be work on multiple objects as well. For example, select a region on one object, then select a region on another object. After calling this tool a tube-like bridge is generated between those selections and the different objects are fused into a single one.

Extract tool

Extracts selections into individual meshes.

More import & export formats

Some more standard formats should be introduced in Curvy 3D 4.0. I imagine at least .3ds, .wrl, .lwo, and .stl. The latter is a very common 3d printing format.

Flip normals

Well, it flips the normals of faces. :-)

Revert

Addition to the save operations in Curvy 3D. Reverts the scene back to its last savestate. Actually, I use this function in other programs kinda frequently.

Live booleans

I think this could be a great addition to the non-destructive workflow Curvy 3D already has. Imagine different objects to have different boolean states like add or subtract. Then you could build up very complex geometry formed by boolean operations - but everything is editable all the time. Not only the curves which shape the objects, but also the boolean states set to them.

Image

Detailing brush

Well, a reduction brush also needs a detailing brush. This is only meant to introduce extra geometry into objects.

Image
Dan Silverman
Posts: 846
Joined: Wed Dec 10, 2003 5:28 pm
Location: USA

Re: My proposals for Curvy 3D 4.0

Post by Dan Silverman »

Disc and face primitives

Well, maybe you also want to introduce some "flat" shapes, like discs and 4-sided faces?
I don't see a need for this ... and there is a reason that most 3D programs don't offer this. A disc is really just a cylinder that is flattened or has had the sides and one cap cut off. So, you already have this with the cylinder tool. A square is just a cube with the five other sides missing or it's flattened. So, once again, you already have this in the 3D shapes that are there.

The way some 3D programs overcome this is by how you create your shape. For example, to create a cylinder, you drag out the size of the cap and then drag up to get the length of the cylinder. If you only wanted a flat cap (i.e. a circle or disc) then you would only draw out the cap and drop the tool (i.e. you don't drag up/down to create any length). To create hexagons, pentagons, etc, you simply have an input box to control the number of sides a cylinder has.

So, instead of cluttering up Curvy's UI with tons of shapes, these flat shapes can already be made from what is already there. Curvy just needs a better way to do it.
More import & export formats

Some more standard formats should be introduced in Curvy 3D 4.0. I imagine at least .3ds, .wrl, .lwo, and .stl. The latter is a very common 3d printing format.
More export formats would be welcome, I think. But the ones you list are not ones I would recommend. .3ds is old, outdated, and extremely limited. For example, a .3ds file cannot hold more than 65,536 vertices per mesh ... not polygons, but VERTICES. Meshes must also be all triangles ... no quads. Accurate vertex normals cannot be stored in .3ds. And there are quite a few other file format limitations, too. I see no reason to support .3ds. And as someone who works in 3D, it's literally been years (more than a decade at least) since I've had to even think about anything .3ds. I cannot see this being a file format that would be of any use to Curvy.

Why .wrl? Do you really want to export for VRML? Isn't VRML (mostly) dead? If you want, for example, to display your 3D creations on a website, then there are much more robust 3D methods than VRML. I would recommend that Curvy export to glTF instead.

.lwo is a Lightwave specific file format. Why would we need such a specific file format? OBJ or FBX would do us much better here as you could get out everything you need from Curvy and into Lightwave, if that's what you're looking for. Curvy already supports .obj, so only FBX would need to be added. However, from what I've heard there are some issues with .fbx and Autodesk. There are even better solutions available, though. Once again, glTF is a better solution. It is like a better version of .dae (Collada) that can get your model to various 3D programs, to the web, and into game engines. It's a bit newer, so not everyone is supporting it yet, but it's the future of 3D file formats. The Unreal engine is in the process of adding it for getting 3D game content into their engine, Godot (a 2D/3D game engine) already supports it, Facebook allows you to upload glTF files (with size restrictions) to show off your 3D models to people on Facebook, MODO imports/exports glTF and other modelers are in the process of adding it.

If I were to recommend Curvy add any new file formats, it would be: .glTF and possibly .dae as these will get your model, textures, and materials into just about any 3D program or game engine.
Desktop Workstation
Intel Core i9-10900K 3.7GHz
128 GB RAM
RTX 3090 ti
Windows 11 64-Bit
Dan Silverman
Posts: 846
Joined: Wed Dec 10, 2003 5:28 pm
Location: USA

Re: My proposals for Curvy 3D 4.0

Post by Dan Silverman »

Detailing brush

Well, a reduction brush also needs a detailing brush. This is only meant to introduce extra geometry into objects.
I'm not sure about the detailing brush idea. I think that Curvy could handle adding details to an area in a similar way that Sculptris does, but adding details automatically as needed. In other words, Curvy should probably add details to support what you are sculpting and do it in a fairly transparent manner. Then, if there are too many details added, you could use the reduction brush you talk about to remove some of the details. Using a detailing brush is an easy way to add too much detail to an area and end up with with way more polygons than you need for your sculpt.
Desktop Workstation
Intel Core i9-10900K 3.7GHz
128 GB RAM
RTX 3090 ti
Windows 11 64-Bit
Simon
C.E.O.
Posts: 2562
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 »

Multi tool widget MAYBE I tend to rest my fingers on W,E,R to get Move,Rotate,Scale quickly. Although it is not perfect - it is often hard to use an otherwise hidden axis, and I often want to use a different 'origin' for the transform. Very often I will want to translate something in/out from the camera's facing direction - perhaps while watching the move in another 3D viewport. I think "better manipulators" is an open topic and will need some thought.

Torus primitive MAYBE This should be very simple once I've made some other upgrades to allow arbitrary profile curves to be swept along closed paths.

Disc and face primitives DONEish This works if you set a zero height on the primitive already. But includes all the 3D form's edges crushed flat! Not so great for export, but useful if you just need a textured placeholder or something.

Bridge tool MAYBE This is a bit of an upgrade to the "Join Holes" command - and probably easier for the end user. I need to upgrade "Join Holes" anyway - I could rename it "Bridge" and add the ability to join selected meshes with either selections or just holes.

Extract tool YES I do this a lot... but usually it takes 6 or so fiddly commands including copies, and mask flipping. It would be great to simply extract what I need.

More import & export formats WISHLIST I've usually regretted adding new formats to Curvy. They are underused and easy to break for external reasons. Exporting is typically much easier than Importing as I have complete control of the data - so for example an FBX export is possibly the top of the wishlist at the moment.

Flip normals MAYBE You can flip an entire model's normals in 3.0 (Reverse Surface). But it is very easy to break a mesh by flipping a few faces so it is malformed for editing and commands. The closest I'd safely allow is "Flip Normals of Entire Surface Connected to This Point" - Which is the same as an Explode+Flip+Join. To be honest I've never needed to do that. Perhaps I just need to rename the command to "Flip Normals".

Revert WISHLIST This could come as I add the other updates to save files. It does sound useful. On similar lines, a File Menu Submenu with the last 10 files saved (remembered between Curvy App restarts) would be nice. The less you have to dig around in the actual filesystem the better!

Live booleans WISHLIST If I didn't care about exporting meshes, you could do some amazing boolean work purely as a pixel shader on the graphics card. You would have realtime boolean effects on complex meshes no problem... but there wouldn't be any mesh underneath, just a special effect. Perhaps you could build in that mode - then bake using Voxels or similar later if you needed to sculpt/export.

Detailing brush MAYBE This is a trivial addition (it already exists as other brushes with zero intensity). And it is something I use from time to time if I am preparing the mesh for a detailed edit. It remains to be seen whether it is better done with a Mask+Refine instead (especially if the Refine step has a dynamic resolution slider).

Curvy does add details automatically (I'll be adding more parameters to the brush to fine tune that for power users). And I do see myself using the Reduce brush a lot more - in fact if the new Tool code works OK I'll add support for automatic reduction as you paint - useful for the smooth tool, and others if there is over-dense mesh.
Funken
Posts: 49
Joined: Sat Feb 10, 2018 8:23 pm

Re: My proposals for Curvy 3D 4.0

Post by Funken »

Simon wrote:Detailing brush MAYBE This is a trivial addition (it already exists as other brushes with zero intensity). And it is something I use from time to time if I am preparing the mesh for a detailed edit. It remains to be seen whether it is better done with a Mask+Refine instead (especially if the Refine step has a dynamic resolution slider).
There seems to be a bug of when dynamic triangulation is active or not. Start with a new scene, make object, sculptable mesh, then paint with either Add, Sub, Inflate, or Deflate brush -> no dynamic refinement, polygons get stretched. No switch to e. g. Pull Tubes and then switch back to one of the previous brushes -> dynamic refinement is active.
Simon
C.E.O.
Posts: 2562
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 »

That was deliberate - but it is sometimes misleading. I figured sometimes you want to use the tools and NOT add any new triangles. There are 2 kinds of mesh in Curvy, one has auto-subdivision, the other is simpler but supports quads. You can see which one you have in the lower right of the viewport.

In practice as an artists you shouldn't have to care about that, and should just sculpt away. Curvy could easily convert to the auto-sub type when you start using a sculpting tool - might lead to less surprises. In fact I might reverse the logic... if you actively FREEZE the triangulation you get the non-subdivision behaviour. This would be like in 2D apps where you can choose to disable painting to the alpha channel, but for normal uses it is on by default.
Post Reply