godot/modules/noise/doc_classes/FastNoiseLite.xml

<?xml version="1.0" encoding="UTF-8" ?>
<class name="FastNoiseLite" inherits="Noise" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
	<brief_description>
		Generates noise using the FastNoiseLite library.
	</brief_description>
	<description>
		This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more.
		Most generated noise values are in the range of [code][-1, 1][/code], but not always. Some of the cellular noise algorithms return results above [code]1[/code].
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="cellular_distance_function" type="int" setter="set_cellular_distance_function" getter="get_cellular_distance_function" enum="FastNoiseLite.CellularDistanceFunction" default="0">
			Determines how the distance to the nearest/second-nearest point is computed. See [enum CellularDistanceFunction] for options.
		</member>
		<member name="cellular_jitter" type="float" setter="set_cellular_jitter" getter="get_cellular_jitter" default="1.0">
			Maximum distance a point can move off of its grid position. Set to [code]0[/code] for an even grid.
		</member>
		<member name="cellular_return_type" type="int" setter="set_cellular_return_type" getter="get_cellular_return_type" enum="FastNoiseLite.CellularReturnType" default="1">
			Return type from cellular noise calculations. See [enum CellularReturnType].
		</member>
		<member name="domain_warp_amplitude" type="float" setter="set_domain_warp_amplitude" getter="get_domain_warp_amplitude" default="30.0">
			Sets the maximum warp distance from the origin.
		</member>
		<member name="domain_warp_enabled" type="bool" setter="set_domain_warp_enabled" getter="is_domain_warp_enabled" default="false">
			If enabled, another FastNoiseLite instance is used to warp the space, resulting in a distortion of the noise.
		</member>
		<member name="domain_warp_fractal_gain" type="float" setter="set_domain_warp_fractal_gain" getter="get_domain_warp_fractal_gain" default="0.5">
			Determines the strength of each subsequent layer of the noise which is used to warp the space.
			A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
		</member>
		<member name="domain_warp_fractal_lacunarity" type="float" setter="set_domain_warp_fractal_lacunarity" getter="get_domain_warp_fractal_lacunarity" default="6.0">
			Octave lacunarity of the fractal noise which warps the space. Increasing this value results in higher octaves producing noise with finer details and a rougher appearance.
		</member>
		<member name="domain_warp_fractal_octaves" type="int" setter="set_domain_warp_fractal_octaves" getter="get_domain_warp_fractal_octaves" default="5">
			The number of noise layers that are sampled to get the final value for the fractal noise which warps the space.
		</member>
		<member name="domain_warp_fractal_type" type="int" setter="set_domain_warp_fractal_type" getter="get_domain_warp_fractal_type" enum="FastNoiseLite.DomainWarpFractalType" default="1">
			The method for combining octaves into a fractal which is used to warp the space. See [enum DomainWarpFractalType].
		</member>
		<member name="domain_warp_frequency" type="float" setter="set_domain_warp_frequency" getter="get_domain_warp_frequency" default="0.05">
			Frequency of the noise which warps the space. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.
		</member>
		<member name="domain_warp_type" type="int" setter="set_domain_warp_type" getter="get_domain_warp_type" enum="FastNoiseLite.DomainWarpType" default="0">
			Sets the warp algorithm. See [enum DomainWarpType].
		</member>
		<member name="fractal_gain" type="float" setter="set_fractal_gain" getter="get_fractal_gain" default="0.5">
			Determines the strength of each subsequent layer of noise in fractal noise.
			A low value places more emphasis on the lower frequency base layers, while a high value puts more emphasis on the higher frequency layers.
		</member>
		<member name="fractal_lacunarity" type="float" setter="set_fractal_lacunarity" getter="get_fractal_lacunarity" default="2.0">
			Frequency multiplier between subsequent octaves. Increasing this value results in higher octaves producing noise with finer details and a rougher appearance.
		</member>
		<member name="fractal_octaves" type="int" setter="set_fractal_octaves" getter="get_fractal_octaves" default="5">
			The number of noise layers that are sampled to get the final value for fractal noise types.
		</member>
		<member name="fractal_ping_pong_strength" type="float" setter="set_fractal_ping_pong_strength" getter="get_fractal_ping_pong_strength" default="2.0">
			Sets the strength of the fractal ping pong type.
		</member>
		<member name="fractal_type" type="int" setter="set_fractal_type" getter="get_fractal_type" enum="FastNoiseLite.FractalType" default="1">
			The method for combining octaves into a fractal. See [enum FractalType].
		</member>
		<member name="fractal_weighted_strength" type="float" setter="set_fractal_weighted_strength" getter="get_fractal_weighted_strength" default="0.0">
			Higher weighting means higher octaves have less impact if lower octaves have a large impact.
		</member>
		<member name="frequency" type="float" setter="set_frequency" getter="get_frequency" default="0.01">
			The frequency for all noise types. Low frequency results in smooth noise while high frequency results in rougher, more granular noise.
		</member>
		<member name="noise_type" type="int" setter="set_noise_type" getter="get_noise_type" enum="FastNoiseLite.NoiseType" default="1">
			The noise algorithm used. See [enum NoiseType].
		</member>
		<member name="offset" type="Vector3" setter="set_offset" getter="get_offset" default="Vector3(0, 0, 0)">
			Translate the noise input coordinates by the given [Vector3].
		</member>
		<member name="seed" type="int" setter="set_seed" getter="get_seed" default="0">
			The random number seed for all noise types.
		</member>
	</members>
	<constants>
		<constant name="TYPE_VALUE" value="5" enum="NoiseType">
			A lattice of points are assigned random values then interpolated based on neighboring values.
		</constant>
		<constant name="TYPE_VALUE_CUBIC" value="4" enum="NoiseType">
			Similar to Value noise, but slower. Has more variance in peaks and valleys.
			Cubic noise can be used to avoid certain artifacts when using value noise to create a bumpmap. In general, you should always use this mode if the value noise is being used for a heightmap or bumpmap.
		</constant>
		<constant name="TYPE_PERLIN" value="3" enum="NoiseType">
			A lattice of random gradients. Their dot products are interpolated to obtain values in between the lattices.
		</constant>
		<constant name="TYPE_CELLULAR" value="2" enum="NoiseType">
			Cellular includes both Worley noise and Voronoi diagrams which creates various regions of the same value.
		</constant>
		<constant name="TYPE_SIMPLEX" value="0" enum="NoiseType">
			As opposed to [constant TYPE_PERLIN], gradients exist in a simplex lattice rather than a grid lattice, avoiding directional artifacts. Internally uses FastNoiseLite's OpenSimplex2 noise type.
		</constant>
		<constant name="TYPE_SIMPLEX_SMOOTH" value="1" enum="NoiseType">
			Modified, higher quality version of [constant TYPE_SIMPLEX], but slower. Internally uses FastNoiseLite's OpenSimplex2S noise type.
		</constant>
		<constant name="FRACTAL_NONE" value="0" enum="FractalType">
			No fractal noise.
		</constant>
		<constant name="FRACTAL_FBM" value="1" enum="FractalType">
			Method using Fractional Brownian Motion to combine octaves into a fractal.
		</constant>
		<constant name="FRACTAL_RIDGED" value="2" enum="FractalType">
			Method of combining octaves into a fractal resulting in a "ridged" look.
		</constant>
		<constant name="FRACTAL_PING_PONG" value="3" enum="FractalType">
			Method of combining octaves into a fractal with a ping pong effect.
		</constant>
		<constant name="DISTANCE_EUCLIDEAN" value="0" enum="CellularDistanceFunction">
			Euclidean distance to the nearest point.
		</constant>
		<constant name="DISTANCE_EUCLIDEAN_SQUARED" value="1" enum="CellularDistanceFunction">
			Squared Euclidean distance to the nearest point.
		</constant>
		<constant name="DISTANCE_MANHATTAN" value="2" enum="CellularDistanceFunction">
			Manhattan distance (taxicab metric) to the nearest point.
		</constant>
		<constant name="DISTANCE_HYBRID" value="3" enum="CellularDistanceFunction">
			Blend of [constant DISTANCE_EUCLIDEAN] and [constant DISTANCE_MANHATTAN] to give curved cell boundaries.
		</constant>
		<constant name="RETURN_CELL_VALUE" value="0" enum="CellularReturnType">
			The cellular distance function will return the same value for all points within a cell.
		</constant>
		<constant name="RETURN_DISTANCE" value="1" enum="CellularReturnType">
			The cellular distance function will return a value determined by the distance to the nearest point.
		</constant>
		<constant name="RETURN_DISTANCE2" value="2" enum="CellularReturnType">
			The cellular distance function returns the distance to the second-nearest point.
		</constant>
		<constant name="RETURN_DISTANCE2_ADD" value="3" enum="CellularReturnType">
			The distance to the nearest point is added to the distance to the second-nearest point.
		</constant>
		<constant name="RETURN_DISTANCE2_SUB" value="4" enum="CellularReturnType">
			The distance to the nearest point is subtracted from the distance to the second-nearest point.
		</constant>
		<constant name="RETURN_DISTANCE2_MUL" value="5" enum="CellularReturnType">
			The distance to the nearest point is multiplied with the distance to the second-nearest point.
		</constant>
		<constant name="RETURN_DISTANCE2_DIV" value="6" enum="CellularReturnType">
			The distance to the nearest point is divided by the distance to the second-nearest point.
		</constant>
		<constant name="DOMAIN_WARP_SIMPLEX" value="0" enum="DomainWarpType">
			The domain is warped using the simplex noise algorithm.
		</constant>
		<constant name="DOMAIN_WARP_SIMPLEX_REDUCED" value="1" enum="DomainWarpType">
			The domain is warped using a simplified version of the simplex noise algorithm.
		</constant>
		<constant name="DOMAIN_WARP_BASIC_GRID" value="2" enum="DomainWarpType">
			The domain is warped using a simple noise grid (not as smooth as the other methods, but more performant).
		</constant>
		<constant name="DOMAIN_WARP_FRACTAL_NONE" value="0" enum="DomainWarpFractalType">
			No fractal noise for warping the space.
		</constant>
		<constant name="DOMAIN_WARP_FRACTAL_PROGRESSIVE" value="1" enum="DomainWarpFractalType">
			Warping the space progressively, octave for octave, resulting in a more "liquified" distortion.
		</constant>
		<constant name="DOMAIN_WARP_FRACTAL_INDEPENDENT" value="2" enum="DomainWarpFractalType">
			Warping the space independently for each octave, resulting in a more chaotic distortion.
		</constant>
	</constants>
</class>