Jump to content

C4D plugin Ideas for developers


HappyPolygon

Recommended Posts

31 minutes ago, HappyPolygon said:


None of what I wrote were meant to be interpreted as aggressive. I apologize if my writing is interpreted that way.

 

I just asked if the scripts in Python are have those capabilities. I assumed C4D was automatically adding the animate circle infront of parameters and made the interface live-previewed (I thought this was the main reason Maxon abandoned COFFEE).

Sorry, I interpreted it as aggressive as it seemed apparent to me that C4D doesn't do anything like that, and to me it's so obvious that it modified the undertone completely. Since you rate the difficulty of the ideas, I sort of assumed that you are aware of the capabilities of a simple script (which doesn't come with any interface).

 

No, the Python versions that exist also need the user to enter the variables in the script itself. A script can theoretically have a dialog as interface (which would be fairly easy to add but triple the line count) but that would not be interactive; you'd just enter the parameters and press a "Generate" button, and the creation part of the script would run. You could also make the script read some user data that you add to an object, instead (but then you are saddled with creating that object and the user data first... not too practical). But if you want a live preview, you need at least a non-modal dialog that allows C4D to refresh the viewport during execution, even better: an object plugin that is controlled by parameters. I suppose that's all more C4D interface programming than math demo so the author didn't include that. It would be mostly the same for all generative plugins here, anyway.

Link to comment

More items to consider for this thread:

- Optimize 1.0 (I'd give the current optimize, v. 0.1-alpha)

- Weld tool 1.0 (I'd give the current one maybe v. 0.5, given what we have today when there is a need to weld multiple points to multiple other points)

- The forever dreaded snap functionality

- Cloner 2.0, with more dynamism in the clones than just having to make do with an RGB color that can be assigned to them and with which the can have at least some semblance of dynamic changes, that make them differ from the original objects being cloned and each other. Access to the clone index from each clone (since it is known at the time that the geometry cache gets built) would also be of value.

 

Edited by SharpEars (see edit history)
Link to comment
  • Customer

C4DtoLUX

 

Difficulty Level (10/10)

(I rank this so high because I don't really know how hard it is to port this free renderer, the case could be to port a ready-made bridge launcher or re-code the whole renderer from scratch, I have no idea)

 

A porting project for LuxCoreRender

 

wallpaper_lux_05_rend1b.jpg

 

Quote

LuxCoreRender is a physically based and unbiased rendering engine. Based on state of the art algorithms, LuxCoreRender simulates the flow of light according to physical equations, thus producing realistic images of photographic quality.

 

So why yet another renderer, especially now that Maxon has Redshift for All? 

  • It's still an alternative renderer that some might find more attractive.
  • Some (like me) might just want to try it out and experiment with it (in the application they are most comfortable with, that is C4D).
  • RedShift is biased and fast. RedShift renders have that "RedShiftness". LuxCore is probably very slow but its unbiased results might be what you are looking for.
  • RedShift is still not integrated and requires additional subscription.
  • Many users are still using older versions of C4D without the RedShift subscription or support for it.
  • The "other" free renderer isn't cheap at all and comes with much more than someone might really need.

 

COLD-FUSION_b.jpgCannelleEtFromage_HDRI_small.jpg

BMW_8_Caustic_Dispersion_experiments2.jpg

https://luxcorerender.org/luxcore-api/

Link to comment
2 hours ago, HappyPolygon said:

C4DtoLUX

 

Difficulty Level (10/10)

(I rank this so high because I don't really know how hard it is to port this free renderer, the case could be to port a ready-made bridge launcher or re-code the whole renderer from scratch, I have no idea)

 

A porting project for LuxCoreRender

 

wallpaper_lux_05_rend1b.jpg

 

 

So why yet another renderer, especially now that Maxon has Redshift for All? 

  • It's still an alternative renderer that some might find more attractive.
  • Some (like me) might just want to try it out and experiment with it (in the application they are most comfortable with, that is C4D).
  • RedShift is biased and fast. RedShift renders have that "RedShiftness". LuxCore is probably very slow but its unbiased results might be what you are looking for.
  • RedShift is still not integrated and requires additional subscription.
  • Many users are still using older versions of C4D without the RedShift subscription or support for it.
  • The "other" free renderer isn't cheap at all and comes with much more than someone might really need.

 

COLD-FUSION_b.jpgCannelleEtFromage_HDRI_small.jpg

BMW_8_Caustic_Dispersion_experiments2.jpg

https://luxcorerender.org/luxcore-api/

 

Yes, with Thea render dropping support, Indigo development very spotty at best, and Maxwell, who knows where that is headed and it is no match for Thea or Indigo, Luxcore is pretty much the last remaining truly unbiased renderer that can do proper caustics and physically based materials justice. There is one other purportedly unbiased renderer that support Cinema, whose name I won't mention, but it is so buggy that I am surprised any professional uses it.

 

Link to comment
On 10/1/2022 at 2:13 AM, SharpEars said:

 

Yes, with Thea render dropping support, Indigo development very spotty at best, and Maxwell, who knows where that is headed and it is no match for Thea or Indigo, Luxcore is pretty much the last remaining truly unbiased renderer that can do proper caustics and physically based materials justice. There is one other purportedly unbiased renderer that support Cinema, whose name I won't mention, but it is so buggy that I am surprised any professional uses it.

 

Which one do you mean? Octane, Vray or Arnold?

Link to comment

I think he probably means Octane, because you hear that alot but my personal experience is very different. I absolutely love Octane, except for their lousy support, and have never had issues with stability, regardless of what I ever threw at it 

Link to comment
  • 2 weeks later...

My Torus Knot generator that I hope to upload to the Core 4D site, when complete. It is Python based and the Python source code will be made available and fully commented when uploaded here. If you can think of any other useful attributes, please feel free to chime in and I will consider them for the plug-in (depending on implementation difficulty, of course).

 

Progress so far:

 

torus-knot-gen.png

Edited by SharpEars (see edit history)
Link to comment
11 hours ago, HappyPolygon said:


You have the "Knot Parameters" attribute title twice. I think the second was meant to be "Torus Parameters".
Other than that it's wonderful.

Ah, yes, good catch! I'll fix that of course. I have a few more ideas, before I put it up here in an "alpha" version:

 

- Add the various Bezier/B-Spline/Cubic curvature interpolations (aka, the various forms of soft interpolation). At the moment, it's a single segment closed Spline Object with interpolation set to Linear and composed of joined straight line segments that are relatively uniform in length, forming the knot that is generated based on the settings. That means that one has to use a pretty high line segment count, especially for complex knots, in order not to see the corners formed at the points where consecutive line segments connect with each other (i.e., small line segment counts can lead to very sharp corners, just like one would see when the specified number of intermediate points is too small [for uniform and natural interpolation] or large angles are used [for adaptive interpolation], while modeling with the various built in Cinema 4D Spline based parametric shapes).

- Add some popular built-in torus-knot types to allow for quick generation of the most common knot forms.

- Add useful help and tips:

  - A clear, minimal math explanation of what and represent and the role they play in the form of the overall knot.

  - The importance of co-primality between the values of p and q, and the issues that can arise when this gets violated.

  - A warning when the user selects less than ideal p and q values, explaining exactly what is mathematically wrong with them, in layman's terms, with as little (advanced) math as possible, allowing the user to make corrections to the values and hopefully achieve the topological result they are looking for.

  - A minimal guide to the parametric equations in R3 that produce the knot itself, in case people want to make changes to them for whatever reason, possibly to create some custom variation of or modification to the torus-knot spline point geometry/topology.

 

Edited by SharpEars (see edit history)
Link to comment
  • Customer
3 hours ago, SharpEars said:

- Add some popular built-in torus-knot types to allow for quick generation of the most common knot forms.

 

Does your mathematical model support the generation of the famous trefoil knot ? I don't think this is based on a torus surface ... Maybe a Knot Mode -> Torus / Hyperbolic could fill the gap in the future, I don't know

 

Trefoil knot - Wikipedia

 

It also has variants of odd-numbered loops image.png.ab5d25cff23c4d7489a54b9bcc3b574a.png

 

3 hours ago, SharpEars said:

A warning when the user selects less than ideal p and q values

 

This could be interesting to someone who would like to know how things work but for the average user who just wants a perfectly closed loop it's not that fitting.

Isn't there some kind of formula that given a certain p value can determine the q or vise-versa ?

I've noticed the Slice Parameters have a Start and End Angle. I'm not sure what that does... I guess it slices the Torus, but for a moment I thought it had something to do with the generation of the knot it self as it traversed the surface of the torus. It's clear now that you use the pure mathematics model to produce knots but in the beginning I thought it was a more empirical approach. I thought there was a point situated on a specific position on a torus and given a certain direction of movement (angle) it would start traveling the surface until it got back to the same position. The path of that point would be the knot.

For example a wide angle could "trap" the orbiting point traveling more distance in the inner part of the torus making this kind of knot

 

image.png.a3bb6d25a8ff83b247bf088aa8ef36b7.png

I had suggested MAXON for a knot primitive years ago but I guess they didn't bother because MAX Studio had one already and it was something like a trademark for them like the teapot.

You could further develop the plug-in for a commercial version with more curve modes like this.

Link to comment
10 hours ago, HappyPolygon said:

 

Does your mathematical model support the generation of the famous trefoil knot ? I don't think this is based on a torus surface ... Maybe a Knot Mode -> Torus / Hyperbolic could fill the gap in the future, I don't know

 

...

 

It also has variants of odd-numbered loops ...

 

 

This could be interesting to someone who would like to know how things work but for the average user who just wants a perfectly closed loop it's not that fitting.

Isn't there some kind of formula that given a certain p value can determine the q or vise-versa ?

I've noticed the Slice Parameters have a Start and End Angle. I'm not sure what that does... I guess it slices the Torus, but for a moment I thought it had something to do with the generation of the knot it self as it traversed the surface of the torus. It's clear now that you use the pure mathematics model to produce knots but in the beginning I thought it was a more empirical approach. I thought there was a point situated on a specific position on a torus and given a certain direction of movement (angle) it would start traveling the surface until it got back to the same position. The path of that point would be the knot.

For example a wide angle could "trap" the orbiting point traveling more distance in the inner part of the torus making this kind of knot

 

...

I had suggested MAXON for a knot primitive years ago but I guess they didn't bother because MAX Studio had one already and it was something like a trademark for them like the teapot.

You could further develop the plug-in for a commercial version with more curve modes like this.

 

All of the knots at the top of your post are already possible, because the Trefoil and the other ones mentioned are torus-knots:

 

660259029_different-knot-configurationscopy.png.cc686dd7e32f443f117f437891fce3b8.png

 

The values of p and q can be specified independently, but there is of course a mathematical relationship between them when used to form the knot. So, in answer to your question, no, one is not a function of the other - they are both independent input parameters.

 

With regard to the SLICE parameters (not yet implemented), the idea was to create a cut of the knot between two angles, or more formally based on the "to be written" descriptive help:

 

Slice Start and End Angles

Allow the user to restrict the generation of the knot to only the portion that is contained within the volume of a right circular cylindrical sector with:

- Angle 𝛳, defined to be the absolute value of the difference between the angles specified and oriented accordingly

- Its axis made coincident with the axis of the virtual torus around which the knot is circumscribed

- An unbounded radius (or more specifically, a radius that is no smaller than the sum of the major and minor radii of the virtual torus [i.e., the distance from the central point of the torus along its axis to any of the equidistant points along its surface where the points lie at the farthest possible distance, radially from its center on the toric section formed by an imaginary equatorial plane used to bisect the torus]).

Or, in layman's terms, it allows for the creation of an arbitrary pizza-pie slice portion of the knot, just as it does for some of the built in parametric spline/polygonal shapes.

 

Also, thanks for the links to the Spiros plug-in. I can use that for ideas of what other features to add.

 

 

Edited by SharpEars (see edit history)
Link to comment

How in the world is the guy who wrote the Spiros plugin getting a knot like this. The curves of the knot seem to go around the circle of the virtual torus corresponding to its Major Radius (i.e., the large imaginary circle that can be drawn approximately around the star shaped knot's points, of the knot shown below) in non-uniform angular steps, with seemingly smaller angular steps near the circle's circumference (i.e., near the knot's points and farthest from the knot's center, as pointed to by a yellow arrow in the image) and much larger angular steps away from the circle's circumference (i.e., closer to the knot's center with, as pointed to by a cyan arrow), where the curves become almost flat and linear.

 

There is some mathematical trickery here:

 

 

spiros-knot-sample.png

Edited by SharpEars (see edit history)
Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • LATEST ACTIVITIES

    1. 7

      Draw primitives on surface of existing objects?

    2. 0

      Nodes Modifier result isn't updated anymore

    3. 220

      Scene Nodes | Capsules file pit

    4. 3

      Flipped clones in multi-segments curve

    5. 2

      How to create continuous UV texture for irregular wall like shapes ?

×
×
  • Create New...

Copyright Core 4D © 2023 Powered by Invision Community