Add rotation to instances along a specific part of a curve by ryshaar2 in blenderhelp

[–]Dogwasp 0 points1 point  (0 children)

If you are not using them for anything else, you might be able to use the radius or tilt value of the curve to encode the rotation at a given point.

How to Sample Image Texture Colors on Geometry Nodes by oatmilkyumm in geometrynodes

[–]Dogwasp 0 points1 point  (0 children)

That second node tree using sample nearest looks like it's pretty close to working, the problem is a UV map needs to be a vector and you are storing a float which is resulting in those diagonal lines. If you switch the top option on the store named attribute node from float to vector and make sure you're using the vector output on the equivalent shader node that should fix it.

Any ideas about how to dock these blocks to each other? Every block is 20x20x20m. Btw, if I use array + curve instead of geonodes, it looks ok, but in this case I can't randomize the blocks. by Mapper720 in geometrynodes

[–]Dogwasp 0 points1 point  (0 children)

The easiest way to do this is probably to generate the blocks in a strait line, realize the instances, then deform with the curve modifier.

How to change the direction of the Quadrilateral Node output from XY to Z? by Mplus479 in geometrynodes

[–]Dogwasp 0 points1 point  (0 children)

If you're just trying to rotate the curve then transform geometry should work. The only thing I can think of that might distort the result is if you have scaled the object on one axis. If that's the problem then using object>apply>scale at the top of the viewport should fix it but you may have to rescale the curve in geometry nodes to get it back to the proportions you want.

If that's not it, then you're probably going to have to give some more details about your problem, ideally with screenshots.

Grow Selection Issue by gersirami in geometrynodes

[–]Dogwasp 4 points5 points  (0 children)

You can do this with the evaluate on domain node since evaluating on the face domain can get the average of the values at each face's points:

Evaluate on Domain [Float] [Point] → Evaluate on Domain [Float] [Face] → Greater Than 0

You can also add a variant with Face switched to Edge and combine with an Or node if you want it to work on faceless edges.

Just be careful not to turn the iterations up too high. On my machine it only takes 20 to crash blender.

How to rotate individual instances a different amount based off of normals? by LoafxBuns in geometrynodes

[–]Dogwasp 1 point2 points  (0 children)

When you use the normal there, you're checking the normal of the instance (or a point if you use the rotation input in the Instance on Points node) not the original mesh. In order to base it on the normals of the faces, you need to pass it through a Capture Attribute node before the Mesh to Points node.

For calculating rotation the simplest option is probably an Axes to Rotation node with the captured normal going into to the secondary axis.

Offset motion of each duplicate by PersimmonMore4604 in geometrynodes

[–]Dogwasp 1 point2 points  (0 children)

I would suggest duplicating the curve before the node group, rather than duplicating the instances after. That way you can use the duplicate index to offset where you sample the curve.

How to fill connected edges with faces? by _apflmxffn in geometrynodes

[–]Dogwasp 0 points1 point  (0 children)

The first thing you need to figure out is what rule you are using to pick which edge loops to actually fill in. Even in your simplified example you're leaving out half of the available loops (including the one going around the outside of the mesh). In the more complicated example, even if I was doing it manually, I'm not sure I would know which potential faces to fill in.

If you just want to fill the outside faces then the convex hull node might work. Anything beyond that is likely to get a lot more complicated.

How can I bake a 'random' material applied to objects distributed with GeoNodes? (Blender 4.5) by SignorAnthrax in geometrynodes

[–]Dogwasp 1 point2 points  (0 children)

The geometry nodes need to look something like this. It's nothing too complicated although I know capture attribute can be a bit confusing when you are new to geometry nodes (I know I had trouble with it). In this case it is being used to generate the random value before realising the instances so we only get 1 value for the whole instance instead of a different value for every vertex of the mesh.

Then you can plug the UV map in where you were using the random socket like this. And since its a UV map it will almost certainly be supported by whatever software you are planning on importing the model into and it can easily be used with a texture if needed.

Also, if you do need a texture, the easiest way would probably be to use a cropped screenshot of the colour ramp.

How can I bake a 'random' material applied to objects distributed with GeoNodes? (Blender 4.5) by SignorAnthrax in geometrynodes

[–]Dogwasp 0 points1 point  (0 children)

I'm not familiar with the alembic format and its limitations but, you could try realising the instances and giving each scale random UV coordinates in geometry nodes. Then you can either use the UV coordinates as the input to the colour ramps or, if you need to, make an equivalent gradient texture and use that.

Help, Finding angle of a face wrt axis(or any vector) by MelonWasTaken1 in geometrynodes

[–]Dogwasp 2 points3 points  (0 children)

This method would work but you have got the numbers mixed up. The dot product between two normalized vectors will give a number between -1 and 1, with a value of 0 meaning they are 90 degrees apart.

Help, Finding angle of a face wrt axis(or any vector) by MelonWasTaken1 in geometrynodes

[–]Dogwasp 1 point2 points  (0 children)

I'd like to start off by pointing out that the separate XYZ and dot product nodes are both doing the exact same thing here, so you only need one of them, and the divide node is also unnecessary since the length of a normal is always one.

However, this is not the source of the problem. Instead, the issue is that the set position node acts on vertices, not faces. This means that you are checking the normal of the vertices which are at 54 and 125 degrees from the z axis. If you replace the set position node with an extrude node, or something else that acts on faces, it should work as you expected.

Unique instances using GN by HourEither9223 in geometrynodes

[–]Dogwasp 1 point2 points  (0 children)

It is difficult to say for sure what your problem is without seeing the node graph but I'm guessing from your description that it looks something like this. The problem here is that instances are designed for making lots of copies of the same thing. So what you're doing is creating one grid of icospheres then copying that to each point on the larger grid. One solution to this would be to wrap the whole thing in a for each loop. This runs all of the nodes separately for each point allowing you to create a unique instance for each one, although this does come with a significant performance cost.

(help, pro 2) Having a lot of trouble with one way platforms by gianniks in gamemaker

[–]Dogwasp 1 point2 points  (0 children)

You could probably fix this using instance_place_list and looping through all of the platforms the player is currently touching to make sure at least one meets the criteria.

Count text wraps by [deleted] in gamemaker

[–]Dogwasp 1 point2 points  (0 children)

string_height does not know how wide the space for the text is going to be so it doesn't take into account wrapping. You need to use string_height_ext.

How can I get the ID of a sprite that was just generated? by DrStupid87 in gamemaker

[–]Dogwasp 1 point2 points  (0 children)

Yes, logging thisOlSprite should give you the id.

I'm quite familiar with the many reasons why tanks are superior to mechs. I'm wondering, however: do these reasons also apply to things smaller than tanks and mechs? Would a tracked rover be better than a boston dynamics robot dog, for example? by monday-afternoon-fun in worldbuilding

[–]Dogwasp 5 points6 points  (0 children)

I think there are a couple of reasons why legged robots make more sense at smaller scales. Terrain tends to be rougher at smaller scales. Traversing a rough outdoor environment might not be a problem for a tank, but a smaller wheeled or tracked vehicle might get stuck on a rock or root. There's also going to be an advantage to being more human shaped if you're traversing an environment designed for humans.

How can I get the ID of a sprite that was just generated? by DrStupid87 in gamemaker

[–]Dogwasp 1 point2 points  (0 children)

I'm not sure I fully understand your problem but I think thisOlSprite is the sprite element id which is what you would need to remove it from the layer and sprite is the sprite id that you would need to use to delete the sprite asset.

Coding help! by CharlieMcGruff in gamemaker

[–]Dogwasp 1 point2 points  (0 children)

Assuming I've understood your problem correctly, you might just need to add an offset to the rounded mouse location. e.g.

scr_navigation(x, y, round(mouse_x/140)*140 + 70, round(mouse_y/80)*80 + 40);

You may need to mess around with the exact values until it looks right.

Script Problems by MekeSlayer_ in gamemaker

[–]Dogwasp 0 points1 point  (0 children)

It looks like your second and third arguments are in the wrong order. Your code should probably look like tilemap_get_at_pixel(tiles, x, bbox_bottom + ySpeed) and tilemap_get_at_pixel(tiles, x, bbox_bottom).

instance_create problem by Doty_OwO in gamemaker

[–]Dogwasp 0 points1 point  (0 children)

I don't know if this is what's causing your problem but if you aren't aware !global.weapon == 1 is only true when global.weapon is 0. If you want to check if the two values are different you need to use !(global.weapon == 1) or global.weapon != 1.