The concept you are missing is UV texture coordinates.
Normally you would have to Unwrap your mesh and build a UV Map, but that is not always desirable or practical, and for most simple cases automatic texture coordinates will suffice.
If you plan to animate your object with deformations (rigging, armatures, shape keys etc.), or wish to export your model ...
The 'built-in' texture nodes generate their textures mathematically and so most of them can be recreated using Maths nodes - building your own textures is no different.
For example, the Wave Texture can be created by using a Sine function based on the input coordinates :
Or the Checker texture recreated as follows :
Gradient textures follow similar ...
See the different values under "Scale" on the right side?
Your model is stretched in different directions.
for unwrapping to work correctly, apply the scale (the numbers for x,y and z should all be 1).
select your object -> ctrl+a -> Apply Scale
As you don't care about the blue backside, create a seam on the outside of the blue Part.
The idea is to use a gradient node in radial mode and plug it to the angle of a rotation node (just like a Mapping node but with an input socket for the rotation). Since such a node doesn't exist in Blender we make it with math nodes.
First the rotation node itself (it's a node group) :
then the general setup (the green node is the rotation we ...
It may help to visualize it this way:
When we render a scene, for each pixel on the camera we project a ray, and if we make contact with the surface of an object, we ask "What is the color that should be reported for this pixel given material properties, lighting, occlusion etc?"
This is fairly simple when the material is a solid color, but what ...
It can be done!
Approaching it on a Surface
Before we try to do this with a 3-dimensional texture, let's attempt it in 2-dimensions. This is actually fairly straightforward. We can create a proxy mesh by duplicating our object (Shift + D), removing the modifiers from our duplicated object, then setting the Texture Mesh setting for our original object to ...
Updated. See Edit at bottom of this answer..
You can't map the centers of tiled hexagons onto one rectangular grid, but you can map them onto two overlapping rectangular grids, and use a Voronoi-like distance-to-closest-point test to decide which grid a shading point belongs to.
Unfortunately, Blender's node implementation of ...
In both your cases, (with and without your Mix RGB node) you are casting a 3-component vector to a 1-component scalar Fac input to the Color Ramp node. But Blender nodes do this differently for RGB Colors, and XYZ Vectors.
The cast from Color to scalar is done with an implicit RGB to BW node; i.e. it uses the luminance of the color as its scalar result. The ...
I don't know whether this suits, you might be wanting more of a simulation of real lenses. But we have an unusual advantage here in CG-world .. the projector can know how far away it is from the points it's projecting onto, via a Ray Length output of a Light Path node.
By similar triangles, (multiplying the normal by the ray-length) the spherical look-up, ...
That error is common, if there are not enough subdivisions.
You need more subdivisions on the mesh.
In edit mode, subdivide the plane, or add a subsurf modifier and set it to simple mode (instead of Catmull-Clark).
If you look carefully, the texture is divided in two triangles, which is how 3d Engines work, by triangulating the geometry. Without any form of ...
Just to expand a bit on Allen Simpson's fine answer:
Generated coordinates return the location of the currently evaluated shading-point, say, P, calculated in the 'Generated' texture space, which, whatever the size of the shaded object, measures 0-1 along the sides of its bounding box, with its origin at the minimum. The bounding box is parallel to the ...
You can add a scalar multiple of cosine of the angle that the vector makes with the x axis to the x component, and similarly with the y component but with the sine of the angle, this will produce:
Higher scalar values means more line-like distortion. A radial distortion can be done as follows:
Unfortunately this isn't possible without modifying blender's source code. However, in the case of the mapping node, everything it does can be done with regular math nodes.
I've made some nodegroups which re-implement the mapping node accordingly:
Append or link (F1) the "Scale" "Translate" and "Rotate" nodegroups into your .blend, or put them in your ...
I wonder how much computational difference there actually is,between using the Voronoi node for tiling, and doing the maths yourself, especially after you've introduced a couple of Noise nodes to do your randomness for you.. ?
Anyway, you certainly get lot out for not much in, in the way of nodes, with this kind of tree..
(I've made a group of it, here) .. ...
Not sure I totally understand the issue or if I recreated your setup correctly, but the Vector Transform node seems to be the correct answer.
If you transform from World to Local coordinates it seems to fix the issue of a moving eye.
The Gradient Ramp might need some adjustments afterwards
A more procedural workflow suggests the use of Splines to create the shape. Moreover, Spline UV maps can be used to create the pattern you are looking for. First, model the spline and give it a full depth as follows:
Then enable Use UV For Mapping and utilize the modulo operator to create the pattern you are after. The value nodes control the number of ...
The pictured above part of node setup from https://blender.stackexchange.com/a/148354/15543 (refined from https://blender.stackexchange.com/a/159492/15543)
produces spherical coordnates (r, theta, phi) from object texture coordinate (x, y, z) Equirectangular coordinates map latitude to U and longitude to V .. (or is it vice versa) ...
How does it work? Faces of one plane (tiles) are mapped through Explode modifier to randomized faces of a plane with Build modifier.
Create a Plane and UV unwrap it, then loopcut it or subdivide to match desired columns and rows amount (final facecount = rows * columns). This is Randomizer object
Duplicate Plane ALT-D and add material with ...
Your node setup looks correct, although it could be made slightly less verbose by making use of the Vector Math: distance node.
I've managed to make it work on a torus. Perhaps you should try:
Making sure the origin is in the centre of the ring.
Tweaking the ColourRamp slider's Pos values so that the results of the previous node operations fall in their ...
As far as i know, there is no vanilla functionality that allows to pack all UV islands on the same place, essentially stacking them on each other.
There is an addon that comes with Blender though that can help a bit.The name is Magic UV, and it comes with it's own Pack UV function:
The needed preparation is not too complicated if you do not have to many of ...
That's simply because your plane is between 2 checkers.
The checker texture is a 3D texture which alternates also in the Z axis. If you go in edit mode and move your plane up and down you will see that.
You can also rotate it to get different patterns.
In "Generated" coordinates your plane is in the vertical middle of a checker. That's why there's no ...
It looks to me like the big thing is that the strength of the bump map is too high; with Strength set to 1, it's trying to treat the bumps as having a maximum height of 1, which is very large compared to the size of your base. Try greatly reducing the bump map's Strength; maybe 0.1 or 0.05.
Also, note that a bump map will always produce "flat" ...
I think what you're looking for is "Project From View". First, pick the angle you want to capture it from - in your case, the sides. I find the best way is to use an orthographic side view using Numpad 1 or 3 keys.
Then, in edit mode, select all the faces on the side of the "airplane" (you can use circle select to get them all quickly ...
If on a spherical mesh, you can start with a cube (rotate its UV to fit your map), then add:
Subdivision modifier with "simple" algorithm (we don't want to smooth but just to give more geometry for the cast below)
Cast to sphere modifier
Considering the map part corresponds to an equirectangular projection, we can do a plane to sphere deformation by the approach indicated here.
Making a sphere from a grid
The base grid should be in the proportions of width/height = 2 as we map as longitude is 360 degrees and longitude is 180 degrees.
If the grid is parallel to the front view, we can give it ...
As opposed to "object" texture coordinates, "generated" texture coordinates will stay stable "around the mesh" when the mesh is animated.
As "object" texture coordinates, at starting point, are here roughly between -1 and 1 (nearly a sphere) and "generated" texture coordinates are between 0 and 1, we can ...
Here's a quick overview! I separated the X & Y, round the values, and multiply the X and Y value. Then, I connect the vector to the White noise to generate random value, connect the randomized value to the vector rotate to rotate each of them individually. I hope this is what you want to achieve :)
Get the file here: https://drive.google.com/file/d/...