I not sure if that is the problem but you’re using an invalid flag, doesn’t exist the flag 0 for this function, always use the enumerators to avoid this, try:
hmm didnt help. the particles (i think there are many on top of each other, but i could be wrong) does spawn somewhere else though.
what im doing is this (which works perfectly well if i just spawn objects at those positions):
for row in range(grid_size):
for col in range(grid_size):
var tp = round(target.global_position)
var p = tp - Vector3(grid_size * resolution / 2, 0, grid_size * resolution / 2) + Vector3(row * resolution, 0, col * resolution)
p.x = round(p.x)
p.z = round(p.z)
var terrain_position = raycast_to_world(p)
var t = Transform3D.IDENTITY
t.origin = terrain_position
#Here ive deleted my original spawn objects code (which works)
#I even try this out of desperation--->
#particles.global_position = terrain_position
#particles.process_material.emission_shape_offset = terrain_position
particles.emit_particle(t,Vector3.ZERO,Color.WHITE,Color.WHITE,GPUParticles3D.EMIT_FLAG_POSITION)
Hm i have no idea, i tested the function with the correct flag and the particle was spawned in the correct place, from your print your GPUParticles3D has a particle material assigned, try remove the particle material and make sure you’re drawing something in the draw pass 1