Chaos Corona Forum

Chaos Corona for 3ds Max => [Max] Daily Builds => Topic started by: Aram Avetisyan on 2022-07-13, 11:22:00

Title: CoronaPattern playground!
Post by: Aram Avetisyan on 2022-07-13, 11:22:00
CoronaPatternMod modifier is out with first Corona 9 Daily build! (https://forum.corona-renderer.com/index.php?topic=36810.msg201376#msg201376)
Create a surface, apply the modifier, set the pattern-geometry and boom!
Go ahead and share your results here.
Title: Re: CoronaPattern playground!
Post by: Ink Visual on 2022-07-13, 11:30:35
Oh wow! That was unexpected, thought no new features are planned for next update, great stuff!
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-07-13, 12:18:30
First of all, thank you very much for this guys! Really exciting and unexpected feature to have in Corona. After short amount of testing, i found some issues and have few requests for improving, which i'd like to share here.

Issues

Feature requests
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-07-13, 16:08:50
Duplicated from the main daily builds discussion tread

CoronaPattern works like a charm, I only have 2 questions:

1) is it possible to add a random rotation option, this would come in handy when scattering grass samples

2) Is it possible to add a scaling option (in order to get an overlap of individual patterns and not cut them strictly in a rectangle)
however, as far as I understand, point 2 is not feasible in the current realities
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-07-14, 05:02:33
One more, while the IR is running and the checkbox "Use pattern material" is checked, then changes in the pattern material (for example, changing the color) are not updated, you must reassign the material or restart the interactive.
Title: Re: CoronaPattern playground!
Post by: aaouviz on 2022-07-14, 11:46:09
Tested out some basic bricks. Flawless so far.

It takes a bit of getting used to with all the various coordinates needed across the uvw mapping, the modifier itself and the object, but this allows for lots of control too, I guess :)
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-07-14, 11:56:56
One more, while the IR is running and the checkbox "Use pattern material" is checked, then changes in the pattern material (for example, changing the color) are not updated, you must reassign the material or restart the interactive.
Hi,

Thanks for reporting this. I have reproduced it and will forward to the devs.

Cheers,

Rowan

(Internal ID=930829497)
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-07-14, 12:58:04
Feature requests
  • i think it would be more logical to have pattern offset at 0 by default, instead of 1
  • it would be nice if adjusting pattern offset would move crop box gizmo in viewport, to provide better visual cue to the user
  • it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
  • random offset is nice, but it has big drawback - it makes seams by not respecting pattern boundaries. I would love to have an option to distort pattern with map, or with in-built noise, that would preserve pattern boundaries. It would be basically the same as distorting base object's UVs, but on much finer level.
CoronaPattern works like a charm, I only have 2 questions:

1) is it possible to add a random rotation option, this would come in handy when scattering grass samples

2) Is it possible to add a scaling option (in order to get an overlap of individual patterns and not cut them strictly in a rectangle)
however, as far as I understand, point 2 is not feasible in the current realities
Hi,

I have logged these, I will speak to the devs and see what can be done.

Cheers,

Rowan

(Internal ID=930833231)
Title: posts from Daily Builds Discussion
Post by: marchik on 2022-07-14, 13:01:45
just testing
(https://i.ibb.co/Ky3M5Wm/ren1as3.jpg) (https://ibb.co/Ky3M5Wm)
(https://i.ibb.co/606wnZf/ren2as2.jpg) (https://ibb.co/606wnZf)

Edit: omg romullus, I missclicked and selected the wrong topic, please delete or move this msg)
Title: Re: posts from Daily Builds Discussion
Post by: Ondra on 2022-07-14, 13:39:56
Leave it, it looks cool ;)

We just need bug reports in one place
Title: Re: posts from Daily Builds Discussion
Post by: romullus on 2022-07-14, 14:16:52
It looks very cool indeed. How did you do the pattern itself, Marchik?
Title: Re: posts from Daily Builds Discussion
Post by: marchik on 2022-07-14, 15:40:07
It looks very cool indeed. How did you do the pattern itself, Marchik?
Thanks guys, splines and Ornatrix, one for the main threads, separately for the fluffy ones.

I really would like to be able to scale and overlap the patterns a little bit, so as not to have such problems when joining together chaotic patterns like this.
Ondra, is it possible to implement or they must be strictly separated, each in its own square?
Title: Re: posts from Daily Builds Discussion
Post by: Basshunter on 2022-07-14, 16:13:02
Thanks guys, splines and Ornatrix, one for the main threads, separately for the fluffy ones.

I really would like to be able to scale and overlap the patterns a little bit, so as not to have such problems when joining together chaotic patterns like this.
Ondra, is it possible to implement or they must be strictly separated, each in its own square?

Looks awesome!

Would you mind sharing your scene? I'd love to try it out.
Title: Re: posts from Daily Builds Discussion
Post by: aaouviz on 2022-07-14, 16:22:06
just testing
(https://i.ibb.co/Ky3M5Wm/ren1as3.jpg) (https://ibb.co/Ky3M5Wm)
(https://i.ibb.co/606wnZf/ren2as2.jpg) (https://ibb.co/606wnZf)

Edit: omg romullus, I missclicked and selected the wrong topic, please delete or move this msg)

DUDE... :|
Title: Re: CoronaPattern playground!
Post by: maru on 2022-07-15, 21:06:13
CactusPattern
Title: Re: CoronaPattern playground!
Post by: Hardleft121 on 2022-07-16, 16:35:06
Jaw dropping feature.  Nice job devs!

long live Corona.
Title: Re: CoronaPattern playground!
Post by: hurrycat on 2022-07-16, 16:58:45
Hey guys, congratulations on the new modifier, the first results seem impressive. Is there any definition or description for the Corona Pattern, as in what new does it bring to the table?

It seems like it gives you the option to apply a texture (or geometry?) along a mesh topology? Or am I completely off? Is this a widely known feature in other renderers or something?

Thank you, keep up the great work!
Title: Re: CoronaPattern playground!
Post by: Tanakov on 2022-07-17, 14:18:49
Omg Omg omg omg! its happening! I can't believe it! I waited for this feature since 2014-01-02, 15:03:48

My first post on the forum and its finally here! Thank you!
Title: Re: CoronaPattern playground!
Post by: aaouviz on 2022-07-17, 17:21:27
Hey guys, congratulations on the new modifier, the first results seem impressive. Is there any definition or description for the Corona Pattern, as in what new does it bring to the table?

It seems like it gives you the option to apply a texture (or geometry?) along a mesh topology? Or am I completely off? Is this a widely known feature in other renderers or something?

Thank you, keep up the great work!

Check out 'geopattern' for fstorm, or the newly released enmesh for vray.

It's that... but for corona :)
Title: Re: CoronaPattern playground!
Post by: LorenzoS on 2022-07-17, 19:38:08
Hi,
I haven't tried the new coronapattern yet,
but seeing the examples I ask you if the same things can also be done with chaosscatter and if yes, there is a less memory usage?

thanks
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-07-17, 20:24:33
Hi,
I haven't tried the new coronapattern yet,
but seeing the examples I ask you if the same things can also be done with chaosscatter and if yes, there is a less memory usage?

thanks

Not exactly. In a sense the Pattern is closer to displacement than to the Scatter. They all serve different purpose and can do things that others can't do. And yes, the Pattern needs much less RAM than displacement and probably less than the Scatter.
Title: Re: CoronaPattern playground!
Post by: user116 on 2022-07-19, 15:04:54
Not contributing with pictures but it looks spectacular ! Thanks for the feature !
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-25, 22:55:40
Such an awesome feature, been having lots of random fun with this. How much more control are you able to eek out of it?

For example a randomise rotation function, ditto for scale, or being able to use more than one pattern node? Its really close to being a good option for grass and so quick and efficient. Those additional features would really help tip the balance.

Also an auto capping feature?

Odd doodles attached.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-07-26, 11:49:22
For example a randomise rotation function, ditto for scale, or being able to use more than one pattern node?

Yes indeed, something like multi-texture, but for pattern, where you could plug multiple nodes and the tool would randomly pick them from the list. That could be a killer feature.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-07-26, 14:41:52
Few more requests.

Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-26, 15:03:59
+1 for all the above.

Also if therfe is anyway for them to support decals that would be great. No doubt very tricky!
Title: Re: CoronaPattern playground!
Post by: Stefan-L on 2022-07-27, 10:10:36
+1
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 12:15:49
Another one for the pile....

Being able to stack more than one pattern mod on the base object so you can use different nodes and parameters. Sure you can duplicate the base object but that has the drawback of needing to re-clone for every change to the base geo. Its a nice to have, not critical though as the same end result can be achieved. This feature is really distracting!

Think this might have been mentioned already but if there was a way for real world units to be respected from the node geo that would be a big time saver.

Thanks
Title: Re: CoronaPattern playground!
Post by: maru on 2022-07-27, 15:23:53
Also if therfe is anyway for them to support decals that would be great. No doubt very tricky!

Sorry, but that sounds a bit cryptic to me. Can you explain what exactly you mean?
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 15:33:12
Yes, as far as I can tell from testing if you have corona pattern on a surface - like a planked floor, you can't put a decal on the generated planks. If you switch off the pattern mod the decal will project fine on the base object but when the pattern is on the decal wont project on the pattern geometry. Does that make sense? I suppose it might be the sequencing so that the pattern should generate first and then the decal projected on after but I'm not even sure if its possible?
Title: Re: CoronaPattern playground!
Post by: TomG on 2022-07-27, 16:06:36
Probably because the Pattern geometry only exists at render time (which is how it has such great memory savings etc. afaik), meaning there is nothing in the scene for the Decal to project onto as it doesn't exist until render is pressed. Whether that can be cunningly solved by amazing coding, I don't know, but it sounds like it would fall into the "very hard" category - devs can say otherwise of course!
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 16:21:05
Probably because the Pattern geometry only exists at render time (which is how it has such great memory savings etc. afaik), meaning there is nothing in the scene for the Decal to project onto as it doesn't exist until render is pressed. Whether that can be cunningly solved by amazing coding, I don't know, but it sounds like it would fall into the "very hard" category - devs can say otherwise of course!

Yes I thought as much. They are wizards though! The other requests re additional node geo and rotations/scale are more important / hopefully easier.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-07-27, 17:41:47
Multiple feature requests are now logged for our wizards to review. No guarantees or promises yet!

- rotate the whole pattern without having to adjust base object UVWs
- randomize pattern tiles rotation
- other randomizations like in UVW Randomizer (scale, offset)
- smooth normals along slices ("weld seams")
- ability for the pattern segments to overlap with each other instead of being sliced

Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 17:46:03
Thanks Maru. Is it possible to add a request for multiple node geometries? For example the ability to have a few different grass patches rather than only the one?
Title: Re: CoronaPattern playground!
Post by: maru on 2022-07-27, 17:47:55
Thanks Maru. Is it possible to add a request for multiple node geometries? For example the ability to have a few different grass patches rather than only the one?

Yep, we will log other ideas from this thread too. :)
Title: Re: CoronaPattern playground!
Post by: mike288 on 2022-07-27, 17:48:21
Thanks Maru. Is it possible to add a request for multiple node geometries? For example the ability to have a few different grass patches rather than only the one?
Maybe in that case you rather want scatter?
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 18:02:16
Thanks Maru. Is it possible to add a request for multiple node geometries? For example the ability to have a few different grass patches rather than only the one?
Maybe in that case you rather want scatter?

Thanks Mike. I was wondering if corona pattern is more efficient in terms of generation speed and RAM, so it has potential to cover some of the heavy lifting from the likes of scatter. Do they work on different tech when it comes to efficiency and speed? TBH we are quite entrenched in forestpack but scatter is becoming tempting. IS scatter more efficient and faster than forestpack in corona?
Title: Re: CoronaPattern playground!
Post by: mike288 on 2022-07-27, 18:26:42
Thanks Maru. Is it possible to add a request for multiple node geometries? For example the ability to have a few different grass patches rather than only the one?
Maybe in that case you rather want scatter?

Thanks Mike. I was wondering if corona pattern is more efficient in terms of generation speed and RAM, so it has potential to cover some of the heavy lifting from the likes of scatter. Do they work on different tech when it comes to efficiency and speed? TBH we are quite entrenched in forestpack but scatter is becoming tempting. IS scatter more efficient and faster than forestpack in corona?
Hehe, you have a lot of questions to reply to. :-)

The technology behind scatter and pattern is completely different - implying some use cases are better fit for patterns, some for scatters. We will be addressing this by creating some help article on that topic. Stay tuned! In general, creating patterns means 'repeating' while scattering mostly means 'randomness'. If you need to use multiple grass geometries, you are probably doing it because you want to break the pattern = make it more random. That is why I suggested scatter. But it depends on each case. The help article should shed more light into it.

Yes, pattern is lighter w.r.t. RAM.

As for the comparison to FP (or actually anything), the best approach is to try. User use cases differ really greatly. It is impossible to say that A is always better than B for everybody every time. Moreover it changes over time. Try it and you will see if there are some benefits for you or not. :-)
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-27, 21:49:23
Thanks Mike,
Good to know. I see what you say about randomness and repeating and two different tools. Hopefully a few more options can be eeked out of pattern before it reaches its limits. Thanks for all the hard work you guys put in to this.

I will definitely explore more of scatters possibilities to see how it compares to FP.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-07-27, 23:42:32
Probably not the most artistic image, but fun little experiment researching possible use cases for the pattern tool. It's necessary to apply some tricks to prevent fence segments from bending along the path curve, but otherwise i think it's pretty usable technique.
Title: Re: CoronaPattern playground!
Post by: Ondra on 2022-07-28, 09:39:10
The entire point of pattern is that it bends along the way - if you dont want that, you should use 1D scatter with regular pattern here ;)
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-07-28, 10:26:35
Looking good Romulus. Yes the tilt is a factor to consider without adjusting the UVs.

Here's another from me, again not the most creative of compositions! Travertine stack blocked wall and Jakob ivy system. Both pattern objects. UV can be easily offset to get them to line up but not bothered here.
What I like about pattern over the likes of railclone for these types of cladding uses is that they just work whatever surface or orientation you throw them on without errors. Really easy to cut clean holes in them and not worry its going to break.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-01, 14:57:44
Yes, as far as I can tell from testing if you have corona pattern on a surface - like a planked floor, you can't put a decal on the generated planks. If you switch off the pattern mod the decal will project fine on the base object but when the pattern is on the decal wont project on the pattern geometry. Does that make sense? I suppose it might be the sequencing so that the pattern should generate first and then the decal projected on after but I'm not even sure if its possible?

This seems to work fine as long as you disable the "use pattern material" option in CPattern modifier. Obviously that is a limitation, but maybe you can use it as a workaround to some degree (i.e. apply the pattern material to the base object).
I have logged it nonetheless because it would be a nice-to-have.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-01, 15:15:42
The entire point of pattern is that it bends along the way - if you dont want that, you should use 1D scatter with regular pattern here ;)

You're right of course, but in this particular case with extreme surface angulation, the scatter would make messy gaps between fence segments. Even if that would be physically more correct, it would not look as good as pattern's outcome :] I think both methods have the right to exist.
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-01, 15:47:08
Yes, as far as I can tell from testing if you have corona pattern on a surface - like a planked floor, you can't put a decal on the generated planks. If you switch off the pattern mod the decal will project fine on the base object but when the pattern is on the decal wont project on the pattern geometry. Does that make sense? I suppose it might be the sequencing so that the pattern should generate first and then the decal projected on after but I'm not even sure if its possible?

This seems to work fine as long as you disable the "use pattern material" option in CPattern modifier. Obviously that is a limitation, but maybe you can use it as a workaround to some degree (i.e. apply the pattern material to the base object).
I have logged it nonetheless because it would be a nice-to-have.

Thanks Maru. Much appreciated.
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-01, 17:13:27
just tested one more time both in V-ray and Corona, in V-ray we can randomize textures of the pattern object by using MultiSubTex and it doesn't work for me with CoronaMultiMap in Corona for some reason, fix it please

and by the way V-ray has random rotation parameter, very handy)
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-01, 17:17:33
just tested one more time both in V-ray and Corona, in V-ray we can randomize textures of the pattern object by using MultiSubTex and it doesn't work for me with CoronaMultiMap in Corona for some reason, fix it please
Can you explain some more how exactly this is working? Could you share a material editor screenshot + the result you are getting in V-Ray?

Quote
and by the way V-ray has random rotation parameter, very handy)
This is reported. :)
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-01, 17:18:35
just tested one more time both in V-ray and Corona, in V-ray we can randomize textures of the pattern object by using MultiSubTex and it doesn't work for me with CoronaMultiMap in Corona for some reason, fix it please

and by the way V-ray has random rotation parameter, very handy)

You can randomise textures with the corona pattern. Try ticking the use pattern material check box and apply your mat to the node object. See if that helps
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-01, 18:57:41
and by the way V-ray has random rotation parameter, very handy)

Curious to see how that works. Does the pattern leaves the gaps between tiles when they rotate, or does it automatically adjust its cropping box for each tile? Would you mind to show some example?
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-01, 19:14:04
Oh, now i got it, you need to change the ID Mode to "Pattern object". My bad, but maybe it's better to make it the default?


Can you explain some more how exactly this is working? Could you share a material editor screenshot + the result you are getting in V-Ray?
anyways I've already recorded the video, so I'll attach it :D


Curious to see how that works. Does the pattern leaves the gaps between tiles when they rotate, or does it automatically adjust its cropping box for each tile? Would you mind to show some example?
I can’t make a full-fledged example with a working case right now, I just recorded a short video, yes, it just cuts out everything that does not fit and leaves gaps
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-01, 22:36:34
And since I’ve already been distracted from work, I’ll illustrate with the help of a video (check the attachments) my request for overlapping and scaling, I still don’t understand whether this is possible to do or the technology itself will not allow.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-02, 11:46:27
Curious to see how that works. Does the pattern leaves the gaps between tiles when they rotate, or does it automatically adjust its cropping box for each tile? Would you mind to show some example?
I can’t make a full-fledged example with a working case right now, I just recorded a short video, yes, it just cuts out everything that does not fit and leaves gaps

Thanks for the video, but it does make me question about usefulness of such feature. On the other hand i like your idea about scaling and overlapping, especially if it could be randomized.
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-02, 18:02:32
Thanks for the video, but it does make me question about usefulness of such feature. On the other hand i like your idea about scaling and overlapping, especially if it could be randomized.

Basically, here is usefulness, without random rotation on the left / with random rotation on the right

(https://i.ibb.co/0sg9PfK/2022-08-02-200026.jpg) (https://ibb.co/xFpgVMY)
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-02, 20:19:18
But that's not how the pattern would look, right? In previous example you shown that the pattern would produce gaps when tiles are rotated, hence my question about its usefulness. On the other hand, why would you want use the pattern for things like grass when the scatter is clearly superior at such tasks?
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-02, 21:31:19
But that's not how the pattern would look, right? In previous example you shown that the pattern would produce gaps when tiles are rotated, hence my question about its usefulness. On the other hand, why would you want use the pattern for things like grass when the scatter is clearly superior at such tasks?
This is how it will look like in this case, i made a small grass sample for the pattern by scattering small samples of grass inside a rectangular shape (you can see it on the right) and applied it via geopattern in V-ray. If you scatter not just boxes, then the gaps do not seem to be noticeable during rotation.

There are quite a lot of applications like this, i would use it for example on complex surfaces to create fine moss on rocks, for gravel, mulch, stabilized grass for say visualization of dioramas, these are just what came to my mind right now. Controlling the distribution by changing the UV coordinates is generally quite convenient, all I need right now is overlapping.

PS and I also just thought that it would be pretty handy if CoronaPatternMod wil take into account the CoronaDisplacementMod lying under it and applied the patterns to the already deformed mesh, anyway, because both of these effects are render-time only
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-02, 21:37:18
Oh, then i must have misinterpreted your previous example. In that case rotation makes sense indeed.
Title: Re: CoronaPattern playground!
Post by: Ondra on 2022-08-03, 09:05:17
We will add random rotation, no problem there.
We will go over the rest of the requests after SIGGRAPH and vacation season is over, at the end of the month.
We are doing clouds until then ;)
Title: Re: CoronaPattern playground!
Post by: Ink Visual on 2022-08-03, 12:46:45
We are doing clouds until then ;)

Yesss! Can't wait for that!
Title: Re: CoronaPattern playground!
Post by: alexyork on 2022-08-03, 14:58:50
This may have been mentioned before but we're finding that IR needs to be manually restarted all the time when making changes to materials used by coronapatternmod e.g. whatever's assigned to the pattern object or the underlying object. the changes don't visually update at all/properly until IR is restarted.

also would it be possible to somehow separate the current "tiling" so that the pattern object scale can remain fixed? I.e. have an object of a very specific size say 5cm cubed, and tile it how you want without the object itself shrinking etc.

it's SUPER SUPER impressive and useful by the way guys!!
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-03, 16:14:33
This may have been mentioned before but we're finding that IR needs to be manually restarted all the time when making changes to materials used by coronapatternmod e.g. whatever's assigned to the pattern object or the underlying object. the changes don't visually update at all/properly until IR is restarted.
by the way, yes, it’s very annoying)

Besides, I mentioned a little earlier, but no one answered, in VFB it seems that the Refresh button does not work, it just does nothing when you click on it, maybe you should remove it  and make vfb a little more compact in width?)
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-03, 16:30:33
Besides, I mentioned a little earlier, but no one answered, in VFB it seems that the Refresh button does not work, it just does nothing when you click on it, maybe you should remove it  and make vfb a little more compact in width?)

The Refresh button only works if you have automatic VFB refreshing disabled or set to a very high value (System Settings). I won't work in IR.
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-08-03, 16:48:47
This may have been mentioned before but we're finding that IR needs to be manually restarted all the time when making changes to materials used by coronapatternmod e.g. whatever's assigned to the pattern object or the underlying object. the changes don't visually update at all/properly until IR is restarted.

also would it be possible to somehow separate the current "tiling" so that the pattern object scale can remain fixed? I.e. have an object of a very specific size say 5cm cubed, and tile it how you want without the object itself shrinking etc.

it's SUPER SUPER impressive and useful by the way guys!!
We've got this one logged and will fix it :)

Rowan
Title: Re: CoronaPattern playground!
Post by: lupaz on 2022-08-04, 03:51:07
Thanks for the video, but it does make me question about usefulness of such feature. On the other hand i like your idea about scaling and overlapping, especially if it could be randomized.

Basically, here is usefulness, without random rotation on the left / with random rotation on the right

(https://i.ibb.co/0sg9PfK/2022-08-02-200026.jpg) (https://ibb.co/xFpgVMY)

Wow. Nice felt! How's the performance?
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-04, 11:18:46
Oh, now i got it, you need to change the ID Mode to "Pattern object". My bad, but maybe it's better to make it the default?

anyways I've already recorded the video, so I'll attach it :D

I can’t make a full-fledged example with a working case right now, I just recorded a short video, yes, it just cuts out everything that does not fit and leaves gaps


corona_vray_randomize.mp4 - I think you only need to change the multimap mode to "Mesh Element" (see screenshot). The only issue is that if the pattern node consists of more than one element, then those elements will be colored differently. So instead of two boxes always being the same color, we will get two boxes with two different colors. I think for this to work as expected we would need a new "Pattern" randomization mode, like we have for Decals. :)

vray_rotation.mp4 - this is already logged

pattern overlaping3.mp4 - this is already logged
Title: Re: CoronaPattern playground!
Post by: alexyork on 2022-08-04, 12:25:49
"I think for this to work as expected we would need a new "Pattern" randomization mode, like we have for Decals. :)"

+1 for this! Would make life easier for sure.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-08, 19:55:47
"I think for this to work as expected we would need a new "Pattern" randomization mode, like we have for Decals. :)"

+1 for this! Would make life easier for sure.

Logged for consideration.

(Internal ID=944192637)
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-08-09, 04:19:22

it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
just once again faced with such a need, after all, when you make carpets or fabric, it is very important to be able to impose, say, a print on top of the finished product, while maintaining the texture coordinates for individual fibers on the pattern itself

so +1 for this feature
Title: Re: CoronaPattern playground!
Post by: scionik on 2022-08-12, 12:44:06
Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-12, 13:47:05
Logged so far, we will also log the request for "surface color":

Scaling Corona Pattern tiles individually so that they could overlap with each other
Rotate CPattern without having to adjust base object UVWs
Randomize the rotation of CPattern tiles
Randomization per pattern node in Multimap and UVW Randomizer
Offset and scaling randomization in CPattern
Improve the way Corona Pattern segments connect with each other ("weld seams") to prevent visible seams
Corona Pattern - "Fit in custom object space" option for the Crop Box
Automatic capping of the pattern geometry
An option for the CPattern crop box to always remain visible in viewport
Ability to use whole groups/hierarchies as the pattern node
Ability to use more than 1 pattern node
Ability to project CDecal on top of CPattern with "use pattern material" option enabled

+some more internal bug reports / feature requests :)
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-12, 14:01:20
Cool. If you will implement all of that, then also consider changing the tool's name to CoronaSwissArmyKnifePattern :]
Title: Re: CoronaPattern playground!
Post by: scionik on 2022-08-12, 16:11:29
Thanks Maru, good list 👍🏻
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-15, 12:39:18
Logged so far, we will also log the request for "surface color":

Scaling Corona Pattern tiles individually so that they could overlap with each other
Rotate CPattern without having to adjust base object UVWs
Randomize the rotation of CPattern tiles
Randomization per pattern node in Multimap and UVW Randomizer
Offset and scaling randomization in CPattern
Improve the way Corona Pattern segments connect with each other ("weld seams") to prevent visible seams
Corona Pattern - "Fit in custom object space" option for the Crop Box
Automatic capping of the pattern geometry
An option for the CPattern crop box to always remain visible in viewport
Ability to use whole groups/hierarchies as the pattern node
Ability to use more than 1 pattern node
Ability to project CDecal on top of CPattern with "use pattern material" option enabled

+some more internal bug reports / feature requests :)

Amazing. Big one for me would be to respect real world sizes. So a node drawn at realworld scale would stay at realworld scale when realworld scale is selected in the mapping options! I'm hoping this is an easy one with the right maths for someone far more clever than me. It would save so much time over trying to rescale by eye and then again on different objects.
Title: Re: CoronaPattern playground!
Post by: alexyork on 2022-08-15, 13:25:42
+1 for real world/persistent scaling. Perhaps a simple checkbox "maintain object scale" would do the trick?
Title: Re: CoronaPattern playground!
Post by: user116 on 2022-08-16, 13:24:37

Amazing. Big one for me would be to respect real world sizes. So a node drawn at realworld scale would stay at realworld scale when realworld scale is selected in the mapping options! I'm hoping this is an easy one with the right maths for someone far more clever than me. It would save so much time over trying to rescale by eye and then again on different objects.

+1
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-16, 14:05:41
Amazing. Big one for me would be to respect real world sizes. So a node drawn at realworld scale would stay at realworld scale when realworld scale is selected in the mapping options! I'm hoping this is an easy one with the right maths for someone far more clever than me. It would save so much time over trying to rescale by eye and then again on different objects.

+1 for real world/persistent scaling. Perhaps a simple checkbox "maintain object scale" would do the trick?

Hi, I wanted to log it for the devs, but then I started wondering if this is feasible at all.
If we pattern an object on a plane - that's easy. If you know the size of the original object (e.g. 6x6cm) then you can add a UVW map modifier to the plane, set its length x height to 6x6 and it's done. You end up with the pattern looking identical as the node object.

But if we pattern the same 6x6cm object on something else, for example a sphere, or some other "curvy" surface, then some modules will be larger and some will be smaller. Even if we specify some specific size, this will be still stretched/squashed/curved in various places making the pattern appear very different than the original node object.

I'll try to find out if it's something we could do at all or not.
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-16, 14:30:14
Would it not work the same as the 'use real world map size' option we have for texture mapping? Works fine most of the time for that. Usually its done with box mapping and or a sweep with that option turned on.

The problem with the current system if you rely on just the tiling parameters is that its different for every object you put it on. I've done a 600mm ceiling grid just now which needs to be 600x600mm tiles whatever the surface. So I've selected real world mapping and had to stack 2x uvxform mods on and get the scaling as close as I can to that real world size. Now it should be the same whatever the object but its a pain and not accurate enough for some situations. It would seem a big use for Pattern would be with architectural elements and they are all at real world scale.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-16, 14:39:05
In any case, it's logged. :)
I also thought maybe it can be done in a similar way to the RWS option for textures, since we are talking about UVW mapping here.

(Internal ID=948460851)
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-16, 14:42:56
In any case, it's logged. :)
I also thought maybe it can be done in a similar way to the RWS option for textures, since we are talking about UVW mapping here.

(Internal ID=948460851)

Awesome thanks for that Maru. Yes I'm hoping its a 'simple' equation like the one they must use for texture mapping a map of a certain size, but potentially even more straight forward as the units will be set in the scene and not have input maps of different res which max will have to calculate to display at the right size. Fingers crossed for this one!
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-16, 19:01:31
Think I’ve run in to a bug. I have a light material on a multisub on a pattern node which works fine until it goes behind refractive glass. I know there is a limitation with directionality usually in these cases but this light material has no directionality. Which is odd.
Title: Re: CoronaPattern playground!
Post by: TomG on 2022-08-16, 19:25:41
What actually happens once behind refractive glass? What happens if it goes behind refractive glass when not repeated in Pattern? What happens if it goes behind refractive glass as an instance?
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-17, 09:38:23
Think I’ve run in to a bug. I have a light material on a multisub on a pattern node which works fine until it goes behind refractive glass. I know there is a limitation with directionality usually in these cases but this light material has no directionality. Which is odd.

What exactly seems to be the problem? Could you share a scene or an image example of this?
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-17, 11:31:10
OK, here is an image of the problem and the Max file.

As you can see the lights go black behind refractive glass - 'thin glass' is OK but refractive glass looks better and not usually a problem. The light material is on a multisub applied to both the node and the base geo - makes no difference if just on one or both. The same light material is applied to the big light box - which works fine.

Strangely when setting up this file I found if I have directionality set to 0 then the lights are black but setting it at 0.3 makes the lights not covered by glass light up. Which is odd.

I also have occasions where the light squares become invisible for what seems like no reason.
Will revert to railclone for this in the short term hopefully.

Thanks.
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-22, 08:01:03
Hi guys

do you think doign a perforated metal is best done in the coronapattern mod or via texture only?  I have somedetailed shots of a CGI im working on so i think the coronapatternmod might be best - how do i achieve something like the attached with precision?  they are 8mm holes and i not sure how to do this?  a quick guide will be much appreciated? 
Title: Re: CoronaPattern playground!
Post by: dj_buckley on 2022-08-22, 11:13:01
Hi guys

do you think doign a perforated metal is best done in the coronapattern mod or via texture only?  I have somedetailed shots of a CGI im working on so i think the coronapatternmod might be best - how do i achieve something like the attached with precision?  they are 8mm holes and i not sure how to do this?  a quick guide will be much appreciated?

Personally, if you want a close up of that mesh you've shown, then it's pretty quick to just model.  If there are different patterns then you might be best with Corona Pattern?

See attached, then you can either shell and turbosmooth.
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-22, 11:33:31
Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

Hi guys

do you think doign a perforated metal is best done in the coronapattern mod or via texture only?  I have somedetailed shots of a CGI im working on so i think the coronapatternmod might be best - how do i achieve something like the attached with precision?  they are 8mm holes and i not sure how to do this?  a quick guide will be much appreciated?

Personally, if you want a close up of that mesh you've shown, then it's pretty quick to just model.  If there are different patterns then you might be best with Corona Pattern?

See attached, then you can either shell and turbosmooth.
Title: Re: CoronaPattern playground!
Post by: dj_buckley on 2022-08-22, 12:54:37
Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

Hi guys

do you think doign a perforated metal is best done in the coronapattern mod or via texture only?  I have somedetailed shots of a CGI im working on so i think the coronapatternmod might be best - how do i achieve something like the attached with precision?  they are 8mm holes and i not sure how to do this?  a quick guide will be much appreciated?

Personally, if you want a close up of that mesh you've shown, then it's pretty quick to just model.  If there are different patterns then you might be best with Corona Pattern?

See attached, then you can either shell and turbosmooth.

I'm not sure you can, I've not used CoronaPattern but from flicking through these forums it does look like that's something that been requested.  Ensuring the pattern scale remains constant.  I could be wrong though.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-22, 13:16:33
"Real world size" / "make sure pattern module is the same size as the pattern node" is already reported, yes.

The pattern is like a texture, so currently, if you can somehow make sure that your single UVW tile on your base object is 8x8cm, then one tile (one module) of the pattern will be also 8x8cm.
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-22, 13:20:34
thanks mate and thanks Maru - i will give these a try - appreciate your help a lot.
Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

Hi guys

do you think doign a perforated metal is best done in the coronapattern mod or via texture only?  I have somedetailed shots of a CGI im working on so i think the coronapatternmod might be best - how do i achieve something like the attached with precision?  they are 8mm holes and i not sure how to do this?  a quick guide will be much appreciated?

Personally, if you want a close up of that mesh you've shown, then it's pretty quick to just model.  If there are different patterns then you might be best with Corona Pattern?

See attached, then you can either shell and turbosmooth.

I'm not sure you can, I've not used CoronaPattern but from flicking through these forums it does look like that's something that been requested.  Ensuring the pattern scale remains constant.  I could be wrong though.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-22, 15:02:34
Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

If the base object has correct real world mapping, e.g. has UVW map modifier with planar, or box mapping and activated real-world size option, then there's a nice trick that you can use - enter 1/crop box size X as tiling U and 1/crop box size Y as tiling V in Corona pattern modifier and your pattern will have correct real world size. Pro tip: you can click in any 3ds max numerical field and then press ctrl+N to summon simple calculator to aid you with simple equations - very useful in situations like this ;)
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-22, 16:06:22
Thanks for that very helpful... I'll try that in the morning... any chance you can share that simple scene?  How would you ensure its seamlessness?


Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

If the base object has correct real world mapping, e.g. has UVW map modifier with planar, or box mapping and activated real-world size option, then there's a nice trick that you can use - enter 1/crop box size X as tiling U and 1/crop box size Y as tiling V in Corona pattern modifier and your pattern will have correct real world size. Pro tip: you can click in any 3ds max numerical field and then press ctrl+N to summon simple calculator to aid you with simple equations - very useful in situations like this ;)
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-22, 19:59:22
Sorry, i didn't save the file, but it's very simple - you just make sure that your pattern sample object can tile seamlessly and the rest is taken care by Corona Pattern modifier. I think everything is quite self-explanatory, but you can read this article on Chaos help portal first: https://support.chaos.com/hc/en-us/articles/7713194687633-Corona-Pattern-Modifier-3ds-Max
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-23, 11:30:03
Thanks so much mate.  But in terms of actually applying it as a coronapatternmod - how do you do it to ensure its the same size? (ie the hole is 8mm).

If the base object has correct real world mapping, e.g. has UVW map modifier with planar, or box mapping and activated real-world size option, then there's a nice trick that you can use - enter 1/crop box size X as tiling U and 1/crop box size Y as tiling V in Corona pattern modifier and your pattern will have correct real world size. Pro tip: you can click in any 3ds max numerical field and then press ctrl+N to summon simple calculator to aid you with simple equations - very useful in situations like this ;)

Amazing, thanks Romullus! Well that gives me hope its a quick job for the devs to automate this with a checkbox for the final version. Fingers crossed!
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-23, 14:34:50
Actually you can easily automate it by yourself - it's just a couple minutes job. Of course it would be nice to have officially implemented one-click solution - i'm pretty sure this will happen sooner rather than later :)

Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-24, 02:58:46
Brilliant my friend.... Brilliant :)

Actually you can easily automate it by yourself - it's just a couple minutes job. Of course it would be nice to have officially implemented one-click solution - i'm pretty sure this will happen sooner rather than later :)

Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-08-24, 10:02:21
Tremendous. Thanks
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-24, 11:32:01
You're welcome! I didn't test if copying modifier will keep its wiring intact, but if it does, then you can save wired Pattern to the file and keep it somewhere close, then every time you'll need real-world coordinates in Corona Pattern, just merge that file in your current scene and copy paste the pattern modifier to your objects. Easy peasy :]
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-24, 13:14:18
anotehr request for this is if it could add a 'capping' function for items with thickness
Title: Re: CoronaPattern playground!
Post by: maru on 2022-08-24, 18:15:13
anotehr request for this is if it could add a 'capping' function for items with thickness

This one is already logged. :)
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-25, 01:27:07
cheers thanks.  another request if i may, is when you use round edges this is what happens - is there a workaround for this?

anotehr request for this is if it could add a 'capping' function for items with thickness

This one is already logged. :)
Title: Re: CoronaPattern playground!
Post by: lupaz on 2022-08-25, 04:42:06
cheers thanks.  another request if i may, is when you use round edges this is what happens - is there a workaround for this?

anotehr request for this is if it could add a 'capping' function for items with thickness

This one is already logged. :)


Using chamfer instead?
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-08-25, 05:33:57
It does the same thing doesnt it?  Around the perimeter of the base object
cheers thanks.  another request if i may, is when you use round edges this is what happens - is there a workaround for this?

anotehr request for this is if it could add a 'capping' function for items with thickness

This one is already logged. :)


Using chamfer instead?
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-08-25, 10:08:28
Obviously, with the chamfer you can precisely control what edges you want to have bevel and what don't.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-09-02, 14:12:07
Update and also we need some further clarification from you!
Please note: things like "we will consider this" are not in any way a guarantee that it will make it to V9 or there is any specific date we can expect it. It's just on our devs' todo.


--------- here is where we need some help / clarification ---------


Quote
Improve the way Corona Pattern segments connect with each other ("weld seams") to prevent visible seams
This would be technically very hard to do. We can consider this if we receive multiple requests with reasonable use cases.


it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
just once again faced with such a need, after all, when you make carpets or fabric, it is very important to be able to impose, say, a print on top of the finished product, while maintaining the texture coordinates for individual fibers on the pattern itself
so +1 for this feature
@Marchik + @Romullus + anyone else who would like this - Could you please describe the exact use case for this? I think we do understand what is being requested, but we do not understand why.

 
Quote
Randomization per pattern node in Multimap and UVW Randomize
@Marchik + anyone who finds this useful - can you explain in what exact scenario you would use this?
Let's say that we are making a pattern (repeating some geometry tile). If we use the Multimap or UVW Randomizer, this will affect each tile creating visible color/texturing differences between each tile. How is this useful? (in what practical cases) Otherwise, we can use the Mesh Element randomization to have a different color of each tile part (e.g. one carpet strand in case of scattering a tile consisting of many strands).


random offset is nice, but it has big drawback - it makes seams by not respecting pattern boundaries. I would love to have an option to distort pattern with map, or with in-built noise, that would preserve pattern boundaries. It would be basically the same as distorting base object's UVs, but on much finer level.
@Romullus - can you explain what exactly you meant here?


Quote
Ability to use whole groups/hierarchies as the pattern node
@Romullus + Others - We need a better example here to understand why it is needed. The workaround is to collapse the group/hierarchy into a single mesh. If anyone desperately needs this feature, please explain why, and why collapsing the object into one is not good enough.


Quote
Scaling Corona Pattern tiles individually so that they could overlap with each other / Offset and scaling randomization in CPattern
We believe his is a better job for Scatter. If you have some specific example where you would like to use this with CPattern, please share it here.


--------- the fate of other reports ---------


Rotate CPattern without having to adjust base object UVWs
- We will consider adding rotation / random rotation to each CPattern tile. Adjusting the UVWs must be done for the base object so we can only recommend applying UVW modifiers (e.g. UVW XForm and changing the overall rotation).


Corona Pattern - "Fit in custom object space" option for the Crop Box
- We will consider this, the idea is generally making the crop box adjustments easier.


Randomize the rotation of CPattern tiles
- Will be considered.


Automatic capping of the pattern geometry
- We will consider this.


An option for the CPattern crop box to always remain visible in viewport
- We will consider this.


Better indication of the pattern offset in the gizmo/helper
- We will consider this.


Ability to project CDecal on top of CPattern with "use pattern material" option enabled
- This is being fixed right now.


Some issues with IR updates
- This is being fixed right now.


Pattern changing in some cases when the pattern node object is moved/rotated/scaled
- We will attempt to fix this.


Right-click menu for pattern node selection
- Will be added.


Ability to use more than 1 pattern node
- This is not in the current scope of CPattern.




Title: Re: CoronaPattern playground!
Post by: BardhylM on 2022-09-02, 16:00:31
I don't know how viable is having multiple objects as patterns selected, and maybe is complicated to code, but i thought of a use (one of many) we might benefit.
If we would make a plane, map it correctly, and distribute behind windows on large objects, then we could model few rooms and attach different elements as one object.
We could use those many objects as different rooms with the option of CoronaPattern to randomly project those on the planes, and in combination with multimap we would have as many variations as we wanted.
This would be similar to the Parallax mapping of the interiors, only with more control and better. Tried a crude version of it with a simple room (one object only) and it worked quite well as a concept, and as far as I could gather it does not load the scene too much.

Just a thought, maybe a plan in the future versions of Corona!
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-09-02, 23:36:45
it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
just once again faced with such a need, after all, when you make carpets or fabric, it is very important to be able to impose, say, a print on top of the finished product, while maintaining the texture coordinates for individual fibers on the pattern itself
so +1 for this feature
@Marchik + @Romullus + anyone else who would like this - Could you please describe the exact use case for this? I think we do understand what is being requested, but we do not understand why.

I tried to see if i can achieve what i want in some other ways and found that indeed by using already existing tools like Corona AO and distance i can cover most of my needs and when you'll fix decals not fully working with the pattern, it'll be almost perfect. I'm withdrawing my request.


Quote
Ability to use whole groups/hierarchies as the pattern node
@Romullus + Others - We need a better example here to understand why it is needed. The workaround is to collapse the group/hierarchy into a single mesh. If anyone desperately needs this feature, please explain why, and why collapsing the object into one is not good enough.

That's an easy one - when you collapse group to a single mesh, you basically lose most of its editability. Of course, you can always keep uncollapsed copy which you can edit when needed and then collapse and update the pattern, but that's not very convenient.


random offset is nice, but it has big drawback - it makes seams by not respecting pattern boundaries. I would love to have an option to distort pattern with map, or with in-built noise, that would preserve pattern boundaries. It would be basically the same as distorting base object's UVs, but on much finer level.
@Romullus - can you explain what exactly you meant here?

Bizarrely i can't remember what and why exactly i was requesting there. I see if i can recall it in the next few days and update you on this. Sorry :]
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-09-03, 07:53:15
it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
just once again faced with such a need, after all, when you make carpets or fabric, it is very important to be able to impose, say, a print on top of the finished product, while maintaining the texture coordinates for individual fibers on the pattern itself
so +1 for this feature
@Marchik + @Romullus + anyone else who would like this - Could you please describe the exact use case for this? I think we do understand what is being requested, but we do not understand why.

Obviously this will be necessary when modeling a carpet with sufficient details, we need to store the UVs for the pattern object to simulate for example fibers using normal maps and so on. (As far as I know from my experience, even the correct display of fibers in the CoronaHairMtl material depends on the direction of the UVs)
In turn, to simulate a pattern on a carpet, we need the UV coordinates of the base object, so we need both of the UV coordinates.
(https://i.ibb.co/MCCVF28/Corona-both-UVsjpg.jpg) (https://ibb.co/1mmqFvs)

similarly applicable to other fabrics with a color pattern


Quote
Randomization per pattern node in Multimap and UVW Randomize
@Marchik + anyone who finds this useful - can you explain in what exact scenario you would use this?
Let's say that we are making a pattern (repeating some geometry tile). If we use the Multimap or UVW Randomizer, this will affect each tile creating visible color/texturing differences between each tile. How is this useful? (in what practical cases) Otherwise, we can use the Mesh Element randomization to have a different color of each tile part (e.g. one carpet strand in case of scattering a tile consisting of many strands).
yes, we also found out above that the mesh element mode works fine, I made a request while I still thought that it would not work at all. So I apologize and withdraw the request, a separate pattern randomization method can be useful for complex tiling, but these are too rare cases to waste resources on it

Quote
Scaling Corona Pattern tiles individually so that they could overlap with each other / Offset and scaling randomization in CPattern
We believe his is a better job for Scatter. If you have some specific example where you would like to use this with CPattern, please share it here.

And this is the most wanted feature for me, I don’t touch on randomization (I can do without it), but overlapping would add a huge number of use cases for CPattern in general.
But I really don't know what else to add about this, (in that post above I recorded a detailed video why this would be useful).

This has nothing to do with the scatter as the scatter cannot bend individual parts of the pattern along a curved surface.

I mainly use CPattern for patterns that have an organic shape, such as weaving fabrics, patterns include sticking out and intersecting fibers and in general - weaving does not always have a square structure, so it is convenient to seamlessly tile it. The time to prepare the perfect pattern that can be used for close-ups (with the current method of perfectly square cutting when tiling) sometimes exceeds what I would need to weave the final product in its entirety (only strong hardware resource savings remains from the benefits)
(https://i.ibb.co/T0Ky5x7/Corona-Overlapping.jpg) (https://ibb.co/GMsmj48)

I don’t know if I explained clearly, but I really hope that you will listen to the last point, it could save me a lot of time, thanks in advance))

Title: Re: CoronaPattern playground!
Post by: Juraj on 2022-09-03, 12:27:10
Some perfect explanations by marchik! Absolutely cosign all he wrote hundred times.
Title: Re: CoronaPattern playground!
Post by: aldaryn on 2022-09-03, 14:19:26

it's nice that we have an option to choose UVWs between pattern and base objects, but sometimes (quite often) i want to have both. Maybe good solution would be to have dedicated surface map, like Chaos Scatter has, which would let to get base object's colours without sacrificing pattern object's UVs. In fact both, the Scatter and The Pattern could share the same map
just once again faced with such a need, after all, when you make carpets or fabric, it is very important to be able to impose, say, a print on top of the finished product, while maintaining the texture coordinates for individual fibers on the pattern itself
so +1 for this feature
@Marchik + @Romullus + anyone else who would like this - Could you please describe the exact use case for this? I think we do understand what is being requested, but we do not understand why.

My 2 cents:

Fur us, this would the most important feature. Our studio was using ICube's VRayPattern (coed by Karba if 'Im not mistaken) for almost everything back in the days and being able to access both the underlying geometry's UV space and the pattern object's UVs that is quite important. Aside from obvious cases like a rug or grass or simliar we used this feature to add any type of larger more widespread detail to geometry we patterned. Dirt, color gradiation, variation, atc...

If there was an option to pass on the data of even a single mapping channel from the underlying geometry, that would be wonderful.

Anyway, I think the implementation of such sytem was, at least for me, the most anticipated feature in the Corona ecosystem. We do a lot's of fast paced archviz and having a tool to quickly lay out architectural details on complex surfaces is a life saver for us. When we switched to Corona from VRay I think the only thing that almost held us back was the unavailability of sapatial texture type of thing.

But now it's here. So thank you for putting all the work into it. Much appreciated.
Title: Re: CoronaPattern playground!
Post by: marchik on 2022-09-03, 15:06:08

My 2 cents:
 Aside from obvious cases like a rug or grass or simliar we used this feature to add any type of larger more widespread detail to geometry we patterned. Dirt, color gradiation, variation, atc...
Yep, exactly, I just wanted to pick up some more obvious option :D
Title: Re: CoronaPattern playground!
Post by: lupaz on 2022-09-07, 16:15:59
Thank you for this feature!

I'm not sure if this was mentioned before, but would it be possible to have the option of locking the aspect ratio of the pattern node?
With just pattern height you need to guess the approximate actual height. With a "lock aspect ratio" checkbox you'd be able to keep the original shape and just make it bigger or smaller.

Thanks.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-09-07, 16:20:58
Yes, we have a request like this logged and it seems doable. :)
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-09-13, 11:19:52
One more, while the IR is running and the checkbox "Use pattern material" is checked, then changes in the pattern material (for example, changing the color) are not updated, you must reassign the material or restart the interactive.

Hey,

This is now fixed in the latest daily build!

You can find it here: https://forum.corona-renderer.com/index.php?topic=36810.msg203308#msg203308

Cheers,

Rowan
Title: Re: CoronaPattern playground!
Post by: NicolasC on 2022-09-13, 14:08:15
Corona Pattern seems pretty amazing indeed.
Not sure it has been mentioned before, but something that would be great would be an integrated library with premade patterns, with the ability to add custom ones.
And of course ... presets saving/loading  ;)
Maybe worth posting in Feature Request ?
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-09-13, 14:09:12
+100 on this one.

Corona Pattern seems pretty amazing indeed.
Not sure it has been mentioned before, but something that would be great would be an integrated library with premade patterns, with the ability to add custom ones.
And of course ... presets saving/loading  ;)
Title: Re: CoronaPattern playground!
Post by: Juraj on 2022-09-13, 14:43:52
I was just gonna write to this thread that I wouldn't mind motivating someone to sell some patterns of theirs :- ). Would be worthy asset on marketplace.
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-09-13, 14:49:37
Hey mate try this
https://cgmood.com/material/3d-fabric-patterns

If anyone can do a video on how they do it that would be amazing... can't seem to nail it

I was just gonna write to this thread that I wouldn't mind motivating someone to sell some patterns of theirs :- ). Would be worthy asset on marketplace.
Title: Re: CoronaPattern playground!
Post by: TomG on 2022-09-13, 17:01:13
When 9 launches, since there are no Pattern presets on Cosmos at the moment, we'll provide a zip file of some geometry that can be used in Pattern - even if it is only 5 or 6 examples, it will give everyone a head start and always nice to have something to start from (it also helps with that "Ahaaaa!" moment on understanding what it all does, safe in the knowledge that it isn't you modeled the geometry wrong ;) ).
Title: Re: CoronaPattern playground!
Post by: scionik on 2022-09-15, 11:59:45
Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi teams, any plans to fix this issue?
Thanks
Title: Re: CoronaPattern playground!
Post by: NicolasC on 2022-09-15, 12:03:01
When 9 launches, since there are no Pattern presets on Cosmos at the moment, we'll provide a zip file of some geometry that can be used in Pattern - even if it is only 5 or 6 examples, it will give everyone a head start and always nice to have something to start from (it also helps with that "Ahaaaa!" moment on understanding what it all does, safe in the knowledge that it isn't you modeled the geometry wrong ;) ).
That sounds good Tom, even if I keep on thinking a built-in library of patterns would be clever, workflow-wise. A bit like what Sweep modifier proposes for custom sections, fast & easy.
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-09-15, 12:56:31
Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi teams, any plans to fix this issue?
Thanks
Hi,

We do have this planned to do in the future. However I doubt this will make it into v9.

Thanks,

Rowan
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-09-22, 15:11:20
Not sure if it's bug, or limitation, but when the pattern is limited to certain material ID, it disables displacement for the rest of materials, that should not be affected by the pattern. Attaching example images - the only difference between them, is pattern modifier being on and off.
Title: Re: CoronaPattern playground!
Post by: Juraj on 2022-09-22, 16:35:24
damn that's very smart use of pattern. would make nested scattering easier:   (tree+modifier)xScatter
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-09-22, 17:00:20
Yeah exactly, if it would be possible to scatter hierarchies, then we could could detach the leaves, then group, or link them with the trunk and be done. I was very pleased to find that the pattern can be restricted to specific mat IDs, but this displacement limitation is kinda ruining everything.
Title: Re: CoronaPattern playground!
Post by: maru on 2022-09-22, 17:07:07
Not sure if it's bug, or limitation, but when the pattern is limited to certain material ID, it disables displacement for the rest of materials, that should not be affected by the pattern. Attaching example images - the only difference between them, is pattern modifier being on and off.

This is currently expected.
Unfortunately, from a quick chat, it seems that fixing it would be very difficult. Let's hope it's one of those impossible things that our devs can do.

(Internal ID=968523899)
Title: Re: CoronaPattern playground!
Post by: Aram Avetisyan on 2022-09-22, 17:30:37
Not sure if it's bug, or limitation, but when the pattern is limited to certain material ID, it disables displacement for the rest of materials, that should not be affected by the pattern. Attaching example images - the only difference between them, is pattern modifier being on and off.

Not the issue related but maybe worth mentioning: a quick test showed that using Opacity on large number of faces is 2-2.5x faster than using Pattern.
With scatter this will of course get multiplied by some factor.
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-09-22, 19:13:19
This is currently expected.
Unfortunately, from a quick chat, it seems that fixing it would be very difficult. Let's hope it's one of those impossible things that our devs can do.

(Internal ID=968523899)

Thanks for the clarification. Now that i know that quick fix/improvement is unlikely, i can plan my assets accordingly.

Not the issue related but maybe worth mentioning: a quick test showed that using Opacity on large number of faces is 2-2.5x faster than using Pattern.
With scatter this will of course get multiplied by some factor.

I noticed that too, but opacity will never look as good as real geometry, when the object is very close to the camera. That's why we need LOD in the Chaos Scatter, we could have hero trees with displacement, the pattern and everything in immediate proximity to the camera, less detailed trees with opacity some distance away and then more heavily optimized meshes at the horizon.
Title: Re: CoronaPattern playground!
Post by: scionik on 2022-10-11, 16:40:47
Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi guys, will we see this issue fixed in corona 9 release?
Thanks
Title: Re: CoronaPattern playground!
Post by: maru on 2022-10-11, 16:43:57
Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi guys, will we see this issue fixed in corona 9 release?
Thanks

Sorry, but that would mean developing a feature in 5 days (counting the weekend), and we are already feature-frozen, so this is not possible for V9.
Title: Re: CoronaPattern playground!
Post by: Rhodesy on 2022-10-11, 17:00:31
Forgot to say thanks for adding the real world scale option. That makes things so much easier. Such a great feature.
Title: Re: CoronaPattern playground!
Post by: VIZSET on 2022-10-20, 10:52:34
Just tested simple window with osl map.
Awesome feature! Thanks!
Title: Re: CoronaPattern playground!
Post by: VIZSET on 2022-10-20, 11:07:38
The thought went further
Let's try this with single collapsed train mesh (3 million polys) on 2 km height solid



upd. is it possible to resize youtube thumbnail to small?

Title: Re: CoronaPattern playground!
Post by: lupaz on 2022-10-24, 17:10:10
Love Corona Pattern! Thanks Corona team!!
(https://i.imgur.com/7VdG2it.jpg)
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-11-04, 04:35:44
hi guys - im getting ridiculously long IR times with corona pattern - ive got a ryzen 3970x - not sure if im doing something wrong?
Title: Re: CoronaPattern playground!
Post by: Aram Avetisyan on 2022-11-04, 13:48:09
hi guys - im getting ridiculously long IR times with corona pattern - ive got a ryzen 3970x - not sure if im doing something wrong?

Hi,

Please send a video-recording of the issue, and provide as much detail as possible.
Attaching the scene where it happens can help as well.
For better tracking and resolution, I would suggest sending a ticket to us at: https://support.chaos.com/hc/en-us/requests/new (https://support.chaos.com/hc/en-us/requests/new), and attaching all relevant information and files.
Thanks.
Title: Re: CoronaPattern playground!
Post by: user116 on 2022-11-07, 11:06:21
Experienced the same situation.

Was trying to pattern some fibers object (created from splines) on a chair. IR was pretty much unusable.
Title: Re: CoronaPattern playground!
Post by: shortcirkuit on 2022-11-07, 12:24:01
From what happened to me - i think the scale of which it scatters was WAY too small - causing a blockage in IR..... if you use the tiling feature and adjust it accordingly it should fix it up. 

 
Experienced the same situation.

Was trying to pattern some fibers object (created from splines) on a chair. IR was pretty much unusable.
Title: Re: CoronaPattern playground!
Post by: Aram Avetisyan on 2022-11-10, 14:18:03
From what happened to me - i think the scale of which it scatters was WAY too small - causing a blockage in IR..... if you use the tiling feature and adjust it accordingly it should fix it up. 


Can you please share a scene and steps on how to reproduce the slowdown, and if reproduced on our end, it will be reported.
Title: Re: CoronaPattern playground!
Post by: JGallagher on 2022-11-24, 15:19:32
I've never been so stress-free when the designers want to see multiple cladding options. Corona Pattern is making my job almost too easy!
(https://i.imgur.com/eQijP87.png)
Title: Re: CoronaPattern playground!
Post by: Juraj on 2022-11-26, 11:29:47
Very cool! Is it just me or does it look like it affects smoothing groups? Looks like it smoothes the overall surface despite your projection plane being flat?
Title: Re: CoronaPattern playground!
Post by: romullus on 2022-11-26, 14:04:04
Just tested - smoothing groups are respected on both, the base and the pattern node objects.
Title: Re: CoronaPattern playground!
Post by: EugeneDa on 2022-11-26, 14:47:57
Hi

Translucency does not look correct, see attachment
Title: Re: CoronaPattern playground!
Post by: maru on 2022-11-28, 16:10:35
Hi

Translucency does not look correct, see attachment


We will look into this.
Title: Re: CoronaPattern playground!
Post by: Aram Avetisyan on 2022-12-12, 12:12:22
Hi

Translucency does not look correct, see attachment

Hi,

Do you have displacement used on the base plane? Can you please share the scene to investigate?
On a simple plane and grass with pattern everything looks fine.
If you use multimaterial with some randomization for grass strands, make sure you have Sub-primitive option enabled.
Title: Re: CoronaPattern playground!
Post by: scionik on 2022-12-12, 13:27:37


Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi guys, will we see this issue fixed in corona 9 release?
Thanks

Hi, any updates on this issue?
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2022-12-12, 14:09:07


Hi,
It would be nice to see an option smth. like CapHoles to prevent these holes.

Hi guys, will we see this issue fixed in corona 9 release?
Thanks

Hi, any updates on this issue?
Hi,

It's in our pool of ideas, I can't give any timescale on it though unfortunately

Rowan
Title: Re: CoronaPattern playground!
Post by: EugeneDa on 2022-12-12, 14:31:20
Hi

Translucency does not look correct, see attachment

Hi,

Do you have displacement used on the base plane? Can you please share the scene to investigate?
On a simple plane and grass with pattern everything looks fine.
If you use multimaterial with some randomization for grass strands, make sure you have Sub-primitive option enabled.

I made the scene. See attachment
Title: Re: CoronaPattern playground!
Post by: maru on 2022-12-12, 16:36:21
Thank you. This is now logged.
The only workaround I am aware of so far is subdividing the base mesh.

(Internal ID=1020782931)
Title: Re: CoronaPattern playground!
Post by: Viktor_ru on 2023-01-03, 13:59:11
Does not work if the geometry to which the modifier is applied was made from a closed spline + extruder modifier, or a closed spline + conversion to edit poly. Windows 10/ Max 2023.2 / Corona 9.1
Title: Re: CoronaPattern playground!
Post by: rowmanns on 2023-01-03, 14:15:21
Hi

Translucency does not look correct, see attachment

Hi,

Do you have displacement used on the base plane? Can you please share the scene to investigate?
On a simple plane and grass with pattern everything looks fine.
If you use multimaterial with some randomization for grass strands, make sure you have Sub-primitive option enabled.

I made the scene. See attachment
Hi,

This is fixed in v10 daily 2023-01-02: https://forum.corona-renderer.com/index.php?topic=38385.msg207846#msg207846

Cheers!
Title: Re: CoronaPattern playground!
Post by: senapaula on 2023-02-16, 09:12:23
Hi Folks.
I will upload a few practices with Pattern...

A fence with Corona Pattern and Slicer Material
Title: Re: CoronaPattern playground!
Post by: senapaula on 2023-02-16, 09:14:02
Hi Folks.
Corona Pattern + Chaos Cosmos model + Enmesh.
I love it
Title: Re: CoronaPattern playground!
Post by: senapaula on 2023-02-16, 09:18:01
Corona Pattern and Marvelous
Title: Re: CoronaPattern playground!
Post by: senapaula on 2023-02-16, 09:19:02
Corona Pattern + Megascan roof
Title: Re: CoronaPattern playground!
Post by: romullus on 2023-02-16, 10:06:10
Nice examples! Excuse my ignorance, but what is Enmesh?
Title: Re: CoronaPattern playground!
Post by: aaouviz on 2023-02-16, 10:26:34
Nice examples! Excuse my ignorance, but what is Enmesh?

It's the Vray version of CoronaPattern, right?
Title: Re: CoronaPattern playground!
Post by: TomG on 2023-02-16, 12:35:54
Yes, we call it Pattern, V-Ray calls it Enmesh, but they both aim to achieve the same thing.
Title: Re: CoronaPattern playground!
Post by: archimi on 2023-02-21, 11:13:04
hi,
what would be handy is that, as with ForestPack objects or RailClone, when you merge an object that uses CoronaPatternMod, you see the Pattern node used

Title: Re: CoronaPattern playground!
Post by: alexyork on 2023-03-03, 10:12:13
I imagine this must have been requested already, but can we please get map-driven everything? Especially Pattern height / offset, and ideally the surface itself (beyond limiting to matID as currently). It would be awesome to load in for example a greyscale map that would determine where the pattern appears, and another one that determines how high it appears.
Title: Re: CoronaPattern playground!
Post by: alexyork on 2023-03-03, 12:19:06
Another one - is it possible to get PatternMod to respect opacity of an object? Currently when using patternmod on something like a leaf which is a square with a leaf-shaped opacity map on it, it scatters all over the base object rather than only where it ought to be. Cheers.
Title: Re: CoronaPattern playground!
Post by: maru on 2023-03-16, 09:08:53
I imagine this must have been requested already, but can we please get map-driven everything? Especially Pattern height / offset, and ideally the surface itself (beyond limiting to matID as currently). It would be awesome to load in for example a greyscale map that would determine where the pattern appears, and another one that determines how high it appears.

Another one - is it possible to get PatternMod to respect opacity of an object? Currently when using patternmod on something like a leaf which is a square with a leaf-shaped opacity map on it, it scatters all over the base object rather than only where it ought to be. Cheers.

Continuing over email. Will be logged.
Title: Re: CoronaPattern playground!
Post by: maru on 2024-03-06, 16:35:22
Corona Pattern can now use the mapping channel of the base object, or the pattern node, OR BOTH. Why is this big news? Mainly because it was not possible before and it allows for creating things like carpets where each of the pattern nodes has its own texture (e.g. diffuse color, bump, or other property) and the base geometry has another one.

It's already available in the daily builds - https://forum.corona-renderer.com/index.php?topic=41598.0

It can be a bit tricky to set up, so I am attaching a sample scene.
Title: Re: CoronaPattern playground!
Post by: lupaz on 2024-03-06, 16:41:10
Thank you. Any improvement to coronaPattern is very much welcome.
Title: Re: CoronaPattern playground!
Post by: alexyork on 2024-03-06, 17:35:32
Great news! This will be a good advantage.

Any news on having CoronaPattern work on top of CoronaDisplacement?
Title: Re: CoronaPattern playground!
Post by: maru on 2024-03-06, 17:39:40
I couldn't come up with any practical examples (sorry! :) ) so here is a totally random one - diffuse color from the pattern object mapping, opacity from the base object mapping.