![]() ![]() Animating these transformations can create fascinating object morphs that would be very difficult to create with more traditional 3D tools.ĭF fields provides an unified representation for very different types of objects, a tree, a fractal, a building, a sphere. DF fields can be used as the input coordinates for another DF field calculation.ĭFRM is useful not just because of its computational efficiency, but because very simple operations can be used to create complex and interesting shapes. DF fields can be combined using boolean operators DF fields can be distorted by space distortion functions DF fields can be blended or morphed together This property is quite interesting as a simple offset of the field value will expand or shrink the object.ĭF fields can be manipulated in many ways impossible (or very difficult) with polygonal descriptions: This non-locality (field exist everywhere in space) makes the object information expand way beyond its boundaries. Scalar fields are non-directionnal (unlike vector fields) and non-local. One can see a distance field as a special kind of 'scalar field'. The field exist everywhere in space which makes DF objects non-local unlike with classical polygonal description. With the sphere the convergence can be done in a single step as the DF field R-length(x,y,z) gives you the exact distance to the solution. The minus sign is needed to adjust the field values so that the field is negative outside the sphere and positive inside. The field is described by this equation: R - sqrt( x^2 + y^2 + z^2) ( or R-length(x,y,z), 'length' being the euclidian distance) which comes from the sphere equation: x2 + y2 + z2 = R with R being the radius of the sphere. ![]() What is remarkable (and unique) is that the sphere equation is its own distance field equation. The simplest 3D distance field is a sphere. Thus you can directly use - y for example to create a DF infinite flat ground where y=0 defines a flat ground plane. A 1D distance field is simply x or y or z provided they are unscaled. ArtMatic's Geographic Clut color shader is useful for visualizing distance fields as its colors indicate distances.Ī distance field can be 2D or even 1D. A value less than zero indicates a point outside of the object. A value greater than 0 indicates a point inside the object with the field value indicating the distance from the surface. The object surface is those places where the distance is 0, that is the 'zero crossing' of the field. Underestimation won't impair the ability to converge to the correct solution but the convergence will be slower.Ī distance field function takes a space or plane coordinates and calculates an estimate of the distance from that point to the object surface. If the distance estimate deviates too much from the true distance the ray will miss the object (overshoot) if it overestimates that distance. ![]() The distance field does not have to be mathematically exact to allow proper convergence, but the more exact the distance estimate is, the faster the convergence will be. This is because the DF field itself gives some information about the distance to the surface which allows the sampling to be much more efficient by converging quickly to the surface.Ī distance field is just a scalar field where the value of the field gives a good (or exact) approximation of the distance to the surface. Ray Marching is needed when the mathematics that describe the object are too complex to find intersections analytically, typically when the object is an entire procedural planet like in Voyager case.īy using distance fields Voyager can find the intersection of the ray with the surface of 3D object much more quickly than using the brute force technic of ray marching. It is a slow process as the object or terrain have to be sampled many times to know where the ray intersects the object. Ray marching essentially calculates the intersection of the possible light rays between the observer and the scene by sampling along the ray. The technical information may help you to understand the reasoning behind the guidelines and develop your own techniques.ĪrtMatic Voyager uses a technique called ray marching () to render images. ![]() This document covers the details you need to know to create or modify 3D objects represented by distance fields (DF for short) and gives many practical guidelines. ArtMatic Voyager Documentation : Building Objects - DFRM Guide Building 3D Objects : DFRM GuideĪrtMatic Voyager uses a unique approach to 3D objects modeling & rendering called Distance Field Ray Marching, DFRM for short. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |