I made a tileable pattern generator with maxscript which can be used to create a base for creating textures.
The script will soon be available on Gumroad!
Feel free to leave your thoughts in the comment section below, cheers! :awesome:
I wonder if you could add some more controls for the tile patterns. For example, the Tiles map type has a few different brick bonds as presets, worth checking out.
I was looking at your tool and thinking about a recent project where I needed a stone tile pattern to match a client's photo, which looked like "Fine Running" in the Tiles preset, but with more larger tiles. I can only get that with the Tiles map if I use its Advanced Settings. Anyhow something to think about.
I also have that question. Great tool. Looking forward to trying it.
Since I made this for my scripting retake, I was kinda limited by time so I only added a few well known patterns in the list. The amount of patterns that can be added is pretty much unlimited, I only need to calculate how the boxes should be placed. I wanted to add a few more common patterns (ex. herringbone, wooden planks,...) before releasing this tool.
Using custom patterns right now is not possible, but that's something I can definitely look into later on! ^^
If there are any other suggestions, feel free to shoot them! :awesome:
Small is a 240x240 area, medium 320x320 and big is 400x400.
I'm sorry but it won't...
I'm not used to python so this will only be available in 3ds Max.
- Diamond tiles
- Herringbone tiles 2:1 90 degrees
- Herringbone tiles 2:1 45 degrees
- Herringbone tiles 3:1 90 degrees
- Herringbone tiles 3:1 45 degrees
So, right now there are 11 different patterns to choose from.
Apart from this update I've got one question. Do you guys think the current difference between small, medium and big is too much?
Small is 240x240, medium 480x480 and big 720x720.
That's it for now, keep you guys up to date as much as possible!
I don't see any issue with your small/medium/large settings.
Are you still going to put it up on GR?
Small might have a couple of larger elements that wouldn't conclude it being small, but medium and large look just right.
Yeah, the sizes of the boxes always stays the same, only the area in which they are generated is changed. Maybe I could reduce the amount of large stones in the small area.
Well, erm, I never really thought about this when starting this script. I made boxes with sizes of 20,40 and 80 and that's why I made it 240,480 and 720, since it's a multiple of 80. Since then I didn't really changed this anymore... I could try doing 256/512/1024 and having boxes of size 64x64, 32x32, 32x16,... I completely forgot this, gonna give it a try!
With the size being 240/480/720 the 3:1 was 60x20 and 240/480/720 divided by 60 is 4/8/12 which didn't result in an issue.
What do you suggest? I guess just changing the size for the boxes in these patterns will be the best solution? The overall size will still be 256/512/1024 but filled with other sizes.
But is it really a problem if the size is not a power of 2? If you're going to bake textures you can just select 512/1024/2048/... in the software that you're using. Or am I wrong here?
I only tought they where a little bit too big compared to the 2:1 herringbones but halving the sizes results in too much stones for the small area imo, so I'll stay with the big ones and maybe make the normal 2:1 herringbones a little bigger.
I also have an option to generate the area as a plane so you could maybe use it to bake textures or something else. Seems usefull to me
Can't wait for the release
Thank you very much!
Keep it waiting a little longer please!
I've added 2 new patterns today, two variations of the basket weave pattern. Right now there are 15 patterns, and I'm aiming for 20 patterns before I'll release this, so 5 more coming!
Scripts looks great! Can't wait to invest anyways.
Something like adding fallen leaves/twigs/pebbles/etc through simulation/manual painting which would automatically tile.
And with the custom option requested above, the user could input meshes already set up as infinitely tiling, which I'm sure would be easier to implement on your end.
First of all sorry for the late response, I've been quite busy lately...
Well, it probably won't have mesh input or any kind of physics, but these are definitely some great suggestions that I've got to keep in mind for future possible upgrades!
Let me tell a little story about how I came up with this!
I had to make a script for my scripting retake (either Maya or 3ds Max). While creating a personal piece, I was placing boxes in 3ds Max to create a base for a sculpted hand painted stone texture. This 'annoying job' (copying and replacing different sizes of boxes) gave me the idea of automating this. So I started writing down the basic stuff that I wanted to add without going to complex. My goal was mainly to achieve the possibility of generating a tileable pattern without having to actually model, move or replace anything in only a few minutes. I wanted to be able to create patterns like shown in the image below and these being random everytime.
Possible settings as height, space between each stone, rotations, chamfer,... came up in my mind while I was brainstorming about this script the first time, so I wrote them down as well. Save and load options and some other things where added later on.
When this first pattern was done, I started adding different (way more easier) ones. And so I ended up with 6 patterns by the time I had to do my retake (which I passed, jeeeej ). Adding all of these new different patterns still maintained my main goal, which was (as explained above) easily generating a tileable pattern from scratch in only a few minutes, and the pattern being random everytime.
Since this moment I've added a few more patterns, the counter is at 17 right now. While the pattern range to choose from is expanded quite a bit compared to the original idea, I still want to keep it as a 'simple' generator where you don't need anything to start with and generate random patterns easily.
So this is basically the reason why I won't add custom meshes or some of the other great suggestions. These are ALL great options and I'll definitely keep them in mind if I give this an update or create another script based of this as a start.
Sooooo after this whole letter, I've some stuff tho show too!
I've changed the amount of stones appearing in the small area, so it's actually small instead of feeling like it's medium. Since small was the smallest possible area, it HAS to be small too, since you can go bigger but not smaller. If it's too small, you go bigger, but if it was too big to start with, you couldn't go smaller.
So here are 16/17 patterns in small version.
There is one that I can't get smaller (3rd one) It is 12*12 (256/smallest size) now (since it has a width*height relation of 2*3 it has to be a multiple of 6, but 6 is too low since the tiling part is 4*3 so the smallest is 12*12... Also the herring bone 3:1 45 (row 3, column 3) can't be smaller since you'll only have 2 left on the x-axis if it's halved of what it is now...
Next step I will go over my code from a-z and optimize some stuff where needed and after that a lot of testing before releasing!
Cheers guys! Sorry for the long post!
It looks pretty awesome and I can use something like that right now!
you script is exactly what I would need. May I am stupid but is there an option to download it anywhere?