Finished version 1.0
You may download it here :: http://www.jeremybaldwin3d.com/#!maxscript/c1mn9
I’ve been looking for something like this. Will you release this one for use by the community as well?
Thanks!
Yes, all the scripts I am making will be free. Once finished, it will be added to the list of downloadable scripts on my website
That’s kinda useful
Keep up your work!
Great! Would love to not have to do tiling by hand. Thanks for sharing all this with everyone.
awesome scripts man!you make the unreal engine 4 more artist friendly than it already is!
I thought I would write and share this.
It is a simple script that makes 3 rows of 3 spheres. This is a terrible way to write it, but I did it like this to try and show the steps in a more open format. This can be condensed down dramatically and functions made out of most parameters so that this same result could be achieved in less than 10 lines of code (with a LOT more control). Hopefully seeing it like this will help those looking for a “step by step” breakdown a bit easier.
A function like this is required for a step in creating tileable meshes
(
fn sphereLoc p =
(
$demoSphere.pos = [p,p,p]
)
dSphere = sphere()
dSphere.name = "demoSphere"
k = $demoSphere
arrayNumbers1 = #()
arrayNumbers2 = #()
arrayNumbers3 = #()
(
meshNumA = #()
append arrayNumbers1 meshNumA
unitA = for i = 1 to 3 do
(
rData = #()
p=80
sphereLoc p
meshNumA* = maxOps.cloneNodes $demoSphere cloneType:#copy newNodes:&nnl select nnl
$.name = uniqueName "TestSphere"
convertTo $ Editable_Poly
tG = $
moveDataX = for u in $ collect (u.pos.x)
tG.pos = (moveDataX[1]*i),0,0]
)
)
(
meshNumB = #()
append arrayNumbers2 meshNumB
unitB = for i = 1 to 3 do
(
rData = #()
p=80
sphereLoc p
meshNumA* = maxOps.cloneNodes $demoSphere cloneType:#copy newNodes:&nnl select nnl
$.name = uniqueName "TestSphere"
convertTo $ Editable_Poly
tG = $
moveDataX = for u in $ collect (u.pos.x)
tG.pos = (moveDataX[1]*i),80,0]
)
)
(
meshNumC = #()
append arrayNumbers3 meshNumC
unitC = for i = 1 to 3 do
(
rData = #()
p=80
sphereLoc p
meshNumA* = maxOps.cloneNodes $demoSphere cloneType:#copy newNodes:&nnl select nnl
$.name = uniqueName "TestSphere"
convertTo $ Editable_Poly
tG = $
moveDataX = for u in $ collect (u.pos.x)
tG.pos = (moveDataX[1]*i),160,0]
)
)
delete k
NM = $TestSphere009
select $TestSPhere*
actionMan.executeAction 0 "197"
max select none
geoArray = #()
j = for o in geometry collect (o.name)
select NM
NM.name = "FinishedMesh"
z = $FinishedMesh
for o in geometry do
(
z.EditablePoly.attach o z
)
z.pivot = z.center
z.pos = [0,0,0]
max select none
actionMan.executeAction 0 "261"
)
That is just brilliant, exactly what I needed for my cliffs. Thanks again Jeremy!
No problem
I have hated this process (Making it tileable - setting up camera - setting up renderer) every single time. So I made sure all of those things were automatic now.
I probably should have done this a while ago… better later than never I guess
Let me know if you find any bugs in it. I wrote this in about 8 hours total over the course of 2 days. So there is bound to be at least something odd
I have also begun adding random snippets of script to the bottom of my script page. Hope people find them useful
That’s a crazy handy script! Thanks a lot Jeremy.
No problem Let me know how it works. I can always clean it up if you stumble on something that is acting up.
Thank you Jeremy, Nice handy script.