Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
well that didn't work the way i expected:




e: i thought only the face common to the 4 points where the icosphere are would be selected and turned pink

Adbot
ADBOT LOVES YOU

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Wheany posted:

well that didn't work the way i expected:




e: i thought only the face common to the 4 points where the icosphere are would be selected and turned pink

if u change your capture attribute to "integer" instead of float, and then drop an "evaluate on domain: boolean/face" after your last and node. it works the way you expected. only the face with index=4 gets selected this way

with your way its evaluating on points rather than faces and the float to integer thing is introducing an error i think. so faces with indexes 4, 5, 7 get selected

fart simpson fucked around with this message at 10:41 on Jul 7, 2023

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

:siren:geometry nodes pro tip:::::siren:

every field is evaluated only on a specific domain. the default domain is usually points. this means control points for splines or vertices for meshes. if you leave it on the default, then every vertex/control point will perform its own separate calculation and get its own result. this might or might not be what you want!!!!

evaluate on domain node is very useful because it forces the field to be calculated only on the specified domain. so if you want each separate spline to have a single result common to all its control points, or if you want each edge or face to have a single result rather than its vertices on the corners having their own separate results, reach for the evaluate on domain node! it forces the behavior u are seeking.

:siren:                          :siren:

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
oh yeah, it was the float/integer thing. that was an error, the capture attribute node and less than were supposed to use integer

Bluemillion
Aug 18, 2008

I got your dispensers
right here




Got my ships perfectly symmetrical, with perfectly symmetrical points distributed on them, with the good ol' "hack it in half and scale the duplicate -1 on the x axis".
Now to work on the particulars of randomization and putting guns and engines and such on them. Use the face normal vector to decide what what each point gets. Maybe ray-cast in front of guns and do something so it doesn't hit in front of it?

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Bluemillion posted:





Got my ships perfectly symmetrical, with perfectly symmetrical points distributed on them, with the good ol' "hack it in half and scale the duplicate -1 on the x axis".
Now to work on the particulars of randomization and putting guns and engines and such on them. Use the face normal vector to decide what what each point gets. Maybe ray-cast in front of guns and do something so it doesn't hit in front of it?

pro tip if your gonna be merging by distance a lot of crap. it can get bogged down and be the single slowest node in ur tree

so if you drop in a vertex neighbors node and set the selection of merge by distance to vertex count < 4 then it can speed it up a lot

Bluemillion
Aug 18, 2008

I got your dispensers
right here

fart simpson posted:

pro tip if your gonna be merging by distance a lot of crap. it can get bogged down and be the single slowest node in ur tree

so if you drop in a vertex neighbors node and set the selection of merge by distance to vertex count < 4 then it can speed it up a lot

That's good to know. How did you even learn all this? I've mostly been watching stuff on youtube and digging through the manual.

echinopsis
Apr 13, 2004

by Fluffdaddy
https://twitter.com/rodtronics/status/1158338635004911616?s=20

echinopsis
Apr 13, 2004

by Fluffdaddy
I always liked that picture because it shows what happens to colours as you increase their intensity.

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Bluemillion posted:

That's good to know. How did you even learn all this? I've mostly been watching stuff on youtube and digging through the manual.

well that trick, if you didnt figure it out already its because with regular topology only the vertices on the outside edge of the mesh are gonna have less than 4 neighbors as illustrated here:



with small numbers of vertices it either doesnt matter or it can take longer than just doing it the basic way, but with a lot of vertices it can help bigly because the more you have the higher proportion of them are not on the edge. like here it went from almost 1000 ms to 25



in general i figured it out by going through the manual and reading what it said about every geometry node. and then alongside that i just tried making stuff. especially during nodevember when your on a time budget you just try to figure out tricks to make stuff work in time so it forces you to either abandon your plan and do something simple, or to get creative and figure out tricks. i also engaged w/ other node people on twitter and in the erindale discord sometimes and discussed my tricks w/ them and got suggestions or downloaded their blend files to see how they did stuff

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

basically i think you learn best by doing. when you come up with an idea and you figure out how to make ur idea into reality, and crashing headfirst into the impedance mismatch between the ideal and the material and navigating that.

but u stop learning if you just do the same thing over and over so it also helps to push yourself to try something new, whether that be a new type of project, or a consciously different way of approaching the same old project.

thanks for coming to my ted talk.

Bluemillion
Aug 18, 2008

I got your dispensers
right here




Gettin' there!
About ready to start refining the rest of the paint options and start work on the scene proper.
(For my own future reference, that's seed 29)

Bluemillion fucked around with this message at 04:31 on Jul 14, 2023

Bluemillion
Aug 18, 2008

I got your dispensers
right here
Space Junkyard, November:


Space Junkyard, Now:

Bluemillion fucked around with this message at 08:10 on Jul 14, 2023

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

add some harder shadows and lighting contrast i think

Bluemillion
Aug 18, 2008

I got your dispensers
right here
*Changed the image in the first post to reduce the number of huge images on the page.
I might screw with it some more later. The point is, I got wayyyy better at procedural spaceships.
Actually I might just call this project done and see what I can do with some of the other Nodevember stuff.

Bluemillion fucked around with this message at 08:11 on Jul 14, 2023

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

yes you leveled up for sure

for fucks sake
Jan 23, 2016

Bluemillion posted:

Space Junkyard, Now:


Instead of having a bunch of pre-defined copy+pasted groups with different seeds, you can now use simulation nodes.

https://www.youtube.com/watch?v=3ZF5ItEuZnY

Bluemillion
Aug 18, 2008

I got your dispensers
right here

for fucks sake posted:

Instead of having a bunch of pre-defined copy+pasted groups with different seeds, you can now use simulation nodes.

https://www.youtube.com/watch?v=3ZF5ItEuZnY

While my generator is functional, it isn't very good. There are still too many seeds that don't have engines, or overlapping turrets, or turrets/engines in recessed spaces. I still need to tweak the actual node distribution some more. If there were some way to keep points from generating right next to each other, that would be a good start.

for fucks sake
Jan 23, 2016

Bluemillion posted:

If there were some way to keep points from generating right next to each other, that would be a good start.

Have you tried distribute points on faces set to poisson disk?

Bluemillion
Aug 18, 2008

I got your dispensers
right here

for fucks sake posted:

Have you tried distribute points on faces set to poisson disk?

I've seen that option but never actually understood it.

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Bluemillion posted:

I've seen that option but never actually understood it.

poisson disk is a random distribution that guarantees that no 2 points are closer than [some distance that you set] to each other

for fucks sake
Jan 23, 2016

Bluemillion
Aug 18, 2008

I got your dispensers
right here
Oh yeah, that's exactly what I need.
EDIT: Actually, no, that's not working. I lose the ability to have everything centered nicely on a face. Gonna need to get more creative. Maybe Sample Nearest or Index of Nears could do something?
Actually the Poisson Sampling equation doesn't look that intimidating, even by my standards. I wonder if I could just straight up program that into the selection...
EDIT: Solved the problem of dud seeds due to not enough engines or none at all by creating a face selection just for them. I might be able to solve this just by separating and refining the placement rules, and then adding some more greebles.

Bluemillion fucked around with this message at 02:51 on Jul 15, 2023

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Bluemillion posted:

Oh yeah, that's exactly what I need.
EDIT: Actually, no, that's not working. I lose the ability to have everything centered nicely on a face. Gonna need to get more creative. Maybe Sample Nearest or Index of Nears could do something?
Actually the Poisson Sampling equation doesn't look that intimidating, even by my standards. I wonder if I could just straight up program that into the selection...
EDIT: Solved the problem of dud seeds due to not enough engines or none at all by creating a face selection just for them. I might be able to solve this just by separating and refining the placement rules, and then adding some more greebles.

easy way imo would be to do an iterative solution. do your random placement, check for collisions, either delete some collided objects or try again.

Bluemillion
Aug 18, 2008

I got your dispensers
right here
VICTORY!
Points distributed with poisson sampling's minimum distance, and then centered neatly on faces.



When I saw the points snap to the center of the faces I got an actual chill.
That's the feeling of working on something for four days, pouring over the blender manual and youtubes and actually figuring it out.

Jenny Agutter
Mar 18, 2009

hell yeah pimp

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Bluemillion posted:

VICTORY!
Points distributed with poisson sampling's minimum distance, and then centered neatly on faces.



When I saw the points snap to the center of the faces I got an actual chill.
That's the feeling of working on something for four days, pouring over the blender manual and youtubes and actually figuring it out.

nice

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

will this replace blender?

https://humanshader.com/

Jenny Agutter
Mar 18, 2009


lol. i was with it until "submit a photo"

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Jenny Agutter posted:

lol. i was with it until "submit a photo"

i did one. and then i realized i screwed up one of my multiplications and went back and redid a bunch of work. and it turned out that none of that stuff affected my final numbers anyway because it just made my red pixel value even more over 255 and it clips at 255 anyway

Only registered members can see post attachments!

Bluemillion
Aug 18, 2008

I got your dispensers
right here
I just realized how insanely easy it is to select faces with basic selection shapes.
Selecting faces with a sphere:


Selecting faces with a box:

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Bluemillion posted:

I just realized how insanely easy it is to select faces with basic selection shapes.
Selecting faces with a sphere:


Selecting faces with a box:


goongrats on reinventing signed distance functions op. here are many more formulas u could use for selection shapes: https://iquilezles.org/articles/distfunctions/

Bluemillion
Aug 18, 2008

I got your dispensers
right here

fart simpson posted:

goongrats on reinventing signed distance functions op. here are many more formulas u could use for selection shapes: https://iquilezles.org/articles/distfunctions/

lol at the death star.

for fucks sake
Jan 23, 2016

doing erindale's simulation nodes course and just got boids working. very satisfying.

https://i.imgur.com/S7IJtFa.mp4

toiletbrush
May 17, 2010
man I can't wait for Nodevember

I think I'm gonna have to take the whole month off work to do it justice

Bluemillion
Aug 18, 2008

I got your dispensers
right here

for fucks sake posted:

doing erindale's simulation nodes course and just got boids working. very satisfying.

https://i.imgur.com/S7IJtFa.mp4

Asterboids.

distortion park
Apr 25, 2011



they missed an opportunity to do something incredibly fun y

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

distortion park posted:

they missed an opportunity to do something incredibly fun y

yah

echinopsis
Apr 13, 2004

by Fluffdaddy
I sometimes see a thing and want to see if I recreate it and the other day I saw something

but I forgot what it is. drat because I enjoy feeling inspired

Adbot
ADBOT LOVES YOU

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

im trying to mess about with "L Systems" in geometry nodes and im finding it very frustrating to get it all working

the way i'm doing it now is:

i'm creating a bunch of points, each one has a "symbol" as a named attribute... so like F, + , - or whatever. then i instance on points, with the rewrite rules for each symbol going into a geometry to instance node, with pick instance based on the symbol, so i end up with thousands of points named like F, +, F, -, F, F etc. then i feed that into a simulation zone where each iteration i separate geometry based on index = 0, then draw a curve line or rotate the direction vector state based on the symbol attribute of the points with index = 0, then i pass through all the other points so that the current 0 index point is basically deleted

and i mean, it works i guess. but it feels very dumb
https://i.imgur.com/MvhVDXL.mp4

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply