<?xml version="1.0" encoding="UTF-8" ?>
<class name="GPUParticlesAttractorVectorField3D" inherits="GPUParticlesAttractor3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes.
	</brief_description>
	<description>
		A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes.
		Unlike [GPUParticlesAttractorBox3D], [GPUParticlesAttractorVectorField3D] uses a [member texture] to affect attraction strength within the box. This can be used to create complex attraction scenarios where particles travel in different directions depending on their location. This can be useful for weather effects such as sandstorms.
		Particle attractors work in real-time and can be moved, rotated and scaled during gameplay. Unlike collision shapes, non-uniform scaling of attractors is also supported.
		[b]Note:[/b] Particle attractors only affect [GPUParticles3D], not [CPUParticles3D].
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="size" type="Vector3" setter="set_size" getter="get_size" default="Vector3(2, 2, 2)">
			The size of the vector field box in 3D units.
		</member>
		<member name="texture" type="Texture3D" setter="set_texture" getter="get_texture">
			The 3D texture to be used. Values are linearly interpolated between the texture's pixels.
			[b]Note:[/b] To get better performance, the 3D texture's resolution should reflect the [member size] of the attractor. Since particle attraction is usually low-frequency data, the texture can be kept at a low resolution such as 64×64×64.
		</member>
	</members>
</class>
