Block Texture Noise

  Рет қаралды 73,003

Gneiss Name

Gneiss Name

Күн бұрын

Пікірлер: 349
@Texelism
@Texelism 3 ай бұрын
Howdy - Image Processing nerd here. The term you were looking for, in an image processing sense, is kind of confusing, "Frequency" - Low Frequency patterns vary in value over larger periods than high frequency patterns. Kernels are a pretty standard way to calculate this, with more robust approaches using stuff like Fourier Transform and DCT Analysis, but when working with students I tend to explain it as, "Blur the image, then sum the differences for every pixel (Absolute values!)" This comes up in computer graphics pretty often, human eyes will "pop" towards high frequency patterns and will recognize high frequency repeating patterns much more easily. Years ago Minecraft added the ability to randomly rotate and variate textures into resource packs to help limit this visual repetition, grass blocks being the main example of this. Love your work as always
@gneissname
@gneissname 3 ай бұрын
Hey! Thanks for the info. I look forward to getting back from my trip and trying DCT out on this.
@shadamethyst1258
@shadamethyst1258 3 ай бұрын
Thank you for the info! I was thinkinɡ, what happens if you use the square sum of this difference?
@chaotech8962
@chaotech8962 3 ай бұрын
To add to this, the black/white patterns you presented are really easy to select for using a 2D Fourier transform, for example vertical columns would show up as dots on the horizontal axis. You can do the same with RGB images, but the results will be sensitive to the color space you use. Also, related to @shadamethyst1258 's question, summing the the squared differences is equivalent to summing the squares of the whole fourier transform, except the center pixel (which is the average). This is related to the square of the image's RMS (average instead of sum), and to its energy (the sum of squares, without removing the average). You can also look into spectral power density if you want units that are easier to work with, but Fourier is best if you need to combine multiple blocks. Great work!
@maxmuller445
@maxmuller445 3 ай бұрын
@@gneissname Maybe go even further an do a wavelet transform, which is kinda an optimal in-between of kernes and fourier, in order to get better space resolution at high frequencies. Aka stand outs can be pinpointed. This means that you can still include additional information relevant for builders, such as how noise is distributed. The downside is that the visualisation is higher dimensional. (A minecraft texture has two space (and technically one for time) and three (color) frequency (technically one for transparency) dimensions. Plus one dimension per analyzed wavelet for measuring how strong that combination is present. This means that for one wavelet we get already six dimensions. This is just about the amount you can practically visualize in minecraft, with three spacial dimensions and three color dimensions. Maybe a bit more including transparency.) So maybe this makes it a bit less practical for displaying as an infographic in a minecraft world, but would still be practical when the spaces or colors are projected down, for automatic generation or for sorting by certain properties, like appying filters to the transform depending on from which distance a build is intended to be viewed and then showing the block color space accounting for that.
@coreymartin9630
@coreymartin9630 3 ай бұрын
The name actually makes a lot of sense when thinking about sine waves (sound, light, etc.). On a graph they always average to zero and different frequencies of the same amplitude (intensity/energy) are percieved differently and can even be distinguished and filtered by simple electrical circuits
@fwiffo
@fwiffo 3 ай бұрын
You may want to distinguish between color noise and value or luminosity noise. For a block like cobblestone or a redstone block, the noise is mostly in value, whereas ore blocks have a lot of color noise (hue and saturation). In a perceptual color space like Lab, value noise is just the noise in the luminosity component, and color noise is the other two components together. Value noise is more useful for adding texture but color noise is very situational.
@QuantumGravy
@QuantumGravy 3 ай бұрын
Oh that’s a good point!
@bwjclego
@bwjclego 3 ай бұрын
You have the colour jargon I couldn't figure out. I definitely agree with the concept. In practice, this would be calculating the average distance of the colours after a projection from a 3d colour space into some sort of 2d surface, it could look quite interesting animated into the colour world. I wonder if there is much value to other projections, so instead of projecting onto the hue/saturation plane, what would projecting onto the hue/value plane or saturation/value plane tell us, if anything?
@Lyraaaaaaaaaaaaa
@Lyraaaaaaaaaaaaa 3 ай бұрын
I was gonna comment a similar thing. Planks appear less noisy than the ores
@fwiffo
@fwiffo 3 ай бұрын
@@bwjclego Not really. The value axis simply contains a lot more information than the chroma axes. Hue vs. saturation doesn't matter much in this respect. Think about a black and white image - visually, almost all the important information is still present. You can make out almost all of the important details. You can usually easily detect the edge of objects and still read text. Details that are only distinguished by hue and saturation are much more subtle, even when you add the color back. If you remove the luma axis, the image is unrecognizable. Try reading red text on a green background when they're the same brightness. This makes sense when you think about it from a physiological perspective. Your rods and all three types cones contribute to your perception of brightness. Color is only driven by two aspects - the difference between the long- and medium-wavelength cones ("red" vs "green"), and the difference between the short and long+medium wavelength cones ("blue" vs "yellow"). The sensitivity of the cones overlaps substantially, which further reduces the information in that space. The contribution of all three cone types to brightness means it also has higher spatial resolution - individual types of cones are spread out because they have to share space with the other types. Lossy compression (e.g. jpeg) takes advantage of this by allocating fewer bits and lower resolution to the chroma channels. Likewise for analog forms of image transmission. Analog TV allocates a lot less bandwidth to chroma, as do analog recordings. Artists also take advantage of this. They use differences in value to draw users attention to the important parts of the subject. Areas will differences in color but not in value add context but aren't the focus. Also, while chroma is two dimensional, there isn't one objective way to organize it into two axes. Hue and saturation make sense from the point of view of communicating color, or designing a color scheme, but physiologically you perceive color on red-green and yellow-blue axes. The different ways to organize brightness are roughly equivalent in terms of conveying information.
@UdderlyEvelyn
@UdderlyEvelyn 3 ай бұрын
The color distance is very close to a string concept called edit distance. If you aren't already familiar you may enjoy learning about that. We used it for DNA sequence comparison in my old job.
@TheKd8lvt
@TheKd8lvt 3 ай бұрын
To explain edit distance from a programmer's point of view, for those who are too lazy to look it up - Think of it as "What is the lowest number of single-character changes that would it take to transform one string into the other?" Those changes are typically defined as: - Additions; adding a letter, making the string longer (e.g. "case" to "chase") - Deletions; removing a letter, making the string shorter (e.g. "dame" to "dam") - Substitutions; replacing a letter with a different letter, keeping the string the same length (e.g. "gain" to "pain") I can see this quality in particular making edit distance useful in working with DNA, as those are three of the basic effects that mutations tend to manifest as. For example, "edit" and "distance" have a fairly high edit distance, by my count 6 - starting from the beginning of "distance," add "e", (skip past "d" and "i",) delete "s", (skip past "t",) and delete "a", "n", "c", and "e". On the other hand, "edit" and "editor" have a much lower edit distance of 2, because "edit" is a sub-string of "editor", which only adds "o" and "r". It's heavily used by spell-checkers and search algorithms. Google's "did you mean?" is a good direct example of this in action.
@dinhero21
@dinhero21 3 ай бұрын
@@TheKd8lvt I think I saw it being used in google's diff-match-patch library, makes sense
@dombomb64
@dombomb64 3 ай бұрын
@@TheKd8lvt did somebody say chase :)
@adderallfannumberonefanofa3074
@adderallfannumberonefanofa3074 3 ай бұрын
is everyone who watches these a fucking field scientist
@LambdaTF2
@LambdaTF2 3 ай бұрын
It's so fascinating to see how concepts like this are used in so many scientific fields.
@jcKobeh
@jcKobeh 3 ай бұрын
I love that you have the mind to tackle unknowns head first, and that there's such smart people working in similar fields ready to help in the comments.
@gneissname
@gneissname 3 ай бұрын
It’s great to have a community like this. I like to at least try to find a solution my own and maybe approach a problem from a different angle, but then when I post my attempt I get a lot of great feedback on other ways to do it and then I can learn from that.
@areeh.haecker9985
@areeh.haecker9985 3 ай бұрын
the ultrakill bit was fun
@TheWorstLexie
@TheWorstLexie 3 ай бұрын
real
@ugmagir2641
@ugmagir2641 3 ай бұрын
wtf the ending lol
@theijemanmanman
@theijemanmanman 3 ай бұрын
I think someone made an Ultra kill map for him
@MaybeGamerLV
@MaybeGamerLV 3 ай бұрын
For him? Nahh it's of him its endless survival mode in Ultrakill and you can change things such as sky texture and the title and as you can see well it's all him
@bogerbog9802
@bogerbog9802 3 ай бұрын
I thought it was a bug with KZbin.
@FE0003
@FE0003 3 ай бұрын
its prob to reach the 10 min mark for ads
@killsode4760
@killsode4760 3 ай бұрын
​​@@FE0003 you actually haven't needed 10m for years. It's 8m now.
@marckiezeender
@marckiezeender 3 ай бұрын
This would be hella useful for pixel art generators. The ability to algorithmically translate texture on an image to texture on a block would be really useful
@siddharth_desai
@siddharth_desai 3 ай бұрын
The kernel approach is essentially counting the high frequency noise. Changing the kernel size would change the frequencies you care about. That's a pretty good approach, though there are a lot of options. > Using a kernel that is a line instead of square would pick out vertical or horizontal features. E.g., a vertical log texture vs a sideways log texture. Think about how jarring it is to have a wall of vertical logs and then have one which is sideways. > You are using the average color distance from the average color. This is the L1 norm. If you used the mean squared distance, you'd get the variance, which is sometimes a more useful number. That would be the L2 norm. There is also the L-infinity norm, which is a fancy way of saying take the maximum color distance from a pixel to the average color. All three of these metrics could be useful in different scenarios. > One more thing to consider would be to apply different weights for chromaticity and luminance. In some builds, having different hues is far more jarring than having lighter or darker variations of the same hue.
@douira
@douira 3 ай бұрын
A log-scale on the kernel-noise axis would probably make blocks on this graph easier to understand. The regular noise axis might also benefit. Alternatively, maybe a -1/x scale could also even things out and make differences in noisyness more obvious.
@SalemGoosen
@SalemGoosen 3 ай бұрын
I think your "kernel noise" is trying to quantify the frequency profile of the noise/texture, you'd want to look into Fourier transforms and JPEG compression.
@Skepfyr
@Skepfyr 3 ай бұрын
I thought the same thing, computing a DFT for the blocks and using that to distinguish high-frequency vs low-frequency noise would probably yield more reasonable looking results.
@lasanha6328
@lasanha6328 3 ай бұрын
i somehow always forget how well made your videos are. thank you for putting actual effort in your videos!
@gneissname
@gneissname 3 ай бұрын
Thank you, this one was a bit rushed for my liking but it’s going to be almost a month before I can get the next one out so I wanted to at least post what I had here. I knew that my kernel noise wasn’t exactly what I wanted but I knew if I posted it someone would tell me how I should do it within the first ten min lol.
@StarJraz
@StarJraz 3 ай бұрын
had this in the background and got jumpscared by the ultrakill gameplay lmfao
@potaatobaked7013
@potaatobaked7013 3 ай бұрын
For the first part, where you get the average distance of the pixels from the average color is also called the standard deviation. One way you could get more info out of that is by doing it separately for each axis of a color space. For example, while copper ore and dried coral are similar in average color and are both noisy, we would care about the noise in the saturation more than the noise in the value/brightness
@AthesielIcosiel
@AthesielIcosiel 2 ай бұрын
Legitimately so happy you made this video, I've been thinking about this conceptually for years and you managed to put it to video form phenomenally.
@claytonharting9899
@claytonharting9899 3 ай бұрын
One idea I had was to calculate color volume, for blocks with more than two distinct colors. Essentially placing the colors of the texture in that 3D display space, taking the convex hull of all the points, and then calculating the volume of that. Essentially it’d give an estimate of the perceptual color spread of the texture
@gneissname
@gneissname 3 ай бұрын
That’s a cool idea. It would distinguish textures that have high contrast but basically two colors, like glazed terracotta from something that has a more diverse palette.
@orca7895
@orca7895 3 ай бұрын
What immediately came to mind when you were showing the checkered blocks that averaged to grey was the jpeg family of image compression. It might be useful to covert the raw texture 'matrix' (either by color channel or some scalar factor like luminance/saturation) into a frequency matrix (using DCT) then calaculate the range and peaks of that.
@grugspro
@grugspro 3 ай бұрын
found an interesting mod recently called MCRGB that lets you put in a hex code or use color sliders to find blocks that contain that color or colors close to it, even compatible with blocks from other mods or resource packs
@alonk1060
@alonk1060 3 ай бұрын
The rest of the video was so calm I nearly panicked I was so caught of guard by that ending! Definitely gave me a chuckle
@TheLoosestOfGooses
@TheLoosestOfGooses 3 ай бұрын
another fantastic video! I couldnt hear you over Ultrakill, but i loved watching it lol
@notalent7473
@notalent7473 3 ай бұрын
Two things that came to mind while watching: 1. Trying the average squared distance might be interesting, since it gives high "weight" to outliers in the computation. 2. Trying the average distance between all pairs of pixels, instead of the average distance from each pixel to the average. The result would be similar but would let you distinguish between cases where the pixels are clustered into a few tight points and where the pixels are all spread out from each other.
@zhuzh3l1c4
@zhuzh3l1c4 3 ай бұрын
Yooo another vid to remember the whole school program
@indigoid_
@indigoid_ 3 ай бұрын
DEVIL'S VORTEX SAWS?!?!?
@mrman12w
@mrman12w 3 ай бұрын
😭😭😭 I can’t escape it
@amogu_
@amogu_ 3 ай бұрын
@@mrman12w YOU CAN'T ESCAPE
@mystifoxtech
@mystifoxtech 3 ай бұрын
You can never escape the Devil's Vortex saws
@zorpglorp
@zorpglorp 3 ай бұрын
time? i can't find it 😭
@user-jt1to1ry6q
@user-jt1to1ry6q 3 ай бұрын
​@@zorpglorpthumbnail (reversed)
@Golem-9
@Golem-9 3 ай бұрын
long shot, but i would love to see you take a look at the geology of the mod TerraFirmaCraft as it completely overhauls world generation to include detailed stone types (including gneiss) with mechanics base around the style of rock. for example, Malachite will only generate within regions composed of marble or limestone and stone tools made from sedimentary rock will degrade faster than tools made from igneous intrusive.
@ShaggyMummy
@ShaggyMummy 3 ай бұрын
3:39 im not a color specialist either, but the term “Local Contrast” popped into my head, Kinda like edge detection type thing
@kingofthend
@kingofthend 3 ай бұрын
Woah new Gneiss upload. What a blessed day it is.
@Kingnaldo95
@Kingnaldo95 3 ай бұрын
For someone as color deficient as me, I'm always very interested in all your videos about color theory in minecraft, but I do miss having your geology videos too lol. I'll always look forward to your uploads man
@nur-e-amanrefai9038
@nur-e-amanrefai9038 3 ай бұрын
I for one would love to hear about what sort of paleontology work you are doing in montana. Very gneiss video as always.
@mrbleachclean6656
@mrbleachclean6656 Ай бұрын
Just wanted to say you’re the highest quality mc channel i’ve ever seen on youtube
@crumcramhd1242
@crumcramhd1242 3 ай бұрын
I love these color videos! But I must say I miss the geology stuff I hope you make some more soon. Whatever you do keep it up cause these videos are awesome
@gneissname
@gneissname 3 ай бұрын
Thanks, geology stuff is coming. These shorter color videos take a few days to do from start to finish but the geology ones take much longer, at least the meaty ones do. So these are usually me just taking a break for a bit. Been busy with real work and life lately but I’m still making progress on the next one and have many more planned out.
@a11pu1poj
@a11pu1poj 3 ай бұрын
love a good graph. shoutout gneiss
@syrslava705
@syrslava705 3 ай бұрын
this dropped just as i freaking needed it
@maxmyzer9172
@maxmyzer9172 3 ай бұрын
3:14 you would love JPEG compression algorithm
@William8Million
@William8Million 2 ай бұрын
You can’t escape. It is subtle, but the devil vortex is there.
@HarpanW
@HarpanW 3 ай бұрын
One thing that would be very interesting to see is the textures with the most and least amount of hexes. I would expect to see something like snow with only 3 hexes being the least. I'm also pretty sure that the concrete powders have an insane amount of hexes.
@groundedgaming
@groundedgaming 3 ай бұрын
True. I was manually changing each pixel in a concrete block's texture, and sampling 6 pixels in a vertical line, NONE of them has the same Hex... So I gave up working on it.
@HarpanW
@HarpanW 3 ай бұрын
@@groundedgaming lmao
@claytonharting9899
@claytonharting9899 3 ай бұрын
Im so excited for this video, it’s an issue with palette generators Ive seen since forever, but nobody has so much as mentioned before
@Jack-lp3gc
@Jack-lp3gc 3 ай бұрын
It might be a good idea to add a second plot where the vertical axis is the ratio of your "kernal distance" to "color distance" This might spread the blocks out more instead of them mostly lying on a line (due to the 2 measures being highly correlated). Also your "color distance" sounds a lot like varience or standard deviation. If you square the distances before adding them up and dividing you will have varience, if you take the square root of the varience you will have standard deviation.
@QuantumGravy
@QuantumGravy 3 ай бұрын
Maybe it could be interesting to do one where there’s a color wheel disc on the floor representing true unchanging color (representing x and y), and then blocks raise “higher” in Z above their average color to represent noise? It doesn’t represent the two “kinds” of noise you just showed but it’s at least a mix of average noise + color in a way that might be useful for spotting “gaps” in places that could be filled (like if non noisy block of x colors are empty, it would be a good thing to know when making a build, or if one color had lots of similar blocks filling out the noise range, that’s useful for gradients)
@gneissname
@gneissname 3 ай бұрын
Yeah that would be interesting and pretty easy to code with what I have already.
@jorgehaswag7294
@jorgehaswag7294 2 ай бұрын
I think a good experiment would be to change the size of the kernel noise sampling to be smaller (likely to 3 x 3), since I personally consider blocks which have defined areas of low noise which contrast with eachother (such as some of the glazed terracottas) to be less noisy than blocks which have more sustained noise (such as cobblestone or warped/crimson planks). The large kernel sampling brush size you chose likely biases towards considering these blocks with separate low contrast regions as high contrast due to being more likely to catch both regions in one sample, whereas it moves blocks with more localized contrast such as cobblestone lower on the contrast hierarchy because it mixes in more datapoints that average out the contrast which would be percieved on a local scale. In any case, I think it could be quite interesting to see how changing the sampling area affects results
@ashtinever2407
@ashtinever2407 2 ай бұрын
Thank you for explaining this!!! Me and my friends have been working on a map for a while, And we have a friend who gets on occasionally to hang out When we're building. He likes to try to help out In different ways One of which is by coming up with color pilots for builds But he only ever focuses on the color of the block 😅 We've tried to explain to him that The texture of the black is important to but he just doesn't seem to get it. Definitely will be sharing this videonext time it comes up. He really likes your color videos so hopefully this speak to him in a way he understands Cause I don't think we're explaining it in a way that He gets. Or you know he's just messing with us.
@Some_Beach
@Some_Beach 2 ай бұрын
This reminds me of that guy who hid barely visible entities with a noisy background to make a disappearing block trick
@Squabsss
@Squabsss 3 ай бұрын
ty grassy for blessing us with the gneiss ultrakill
@zeppie_
@zeppie_ 3 ай бұрын
I think a neat way to use this color distance is to use it to sort the colors into groups. For example, the copper ore block is divided into three distinct groups: the grey, the green, and the orange. I don't know how you would set about making an algorithm to identify these groups, but being able to plot blocks by these color groups (perhaps by having one instance of the block per color group) would be quite useful for selecting palettes
@tridish7383
@tridish7383 3 ай бұрын
Extract all the individual colors and represent them as rgb coordinates, then increase the distance threshold to find points where a meaningful set of nearby points forms.
@itzderpdoodle6937
@itzderpdoodle6937 3 ай бұрын
I just wanna say, thank you for these videos they are very infomative! And very impressive work doing all the flares of animation moving things around! it all looks amazing!
@junkice6930
@junkice6930 3 ай бұрын
I had a mathematically similar issue doing some computational protein research. I found that with things like this, it's really easy to just add more and more layers of differentiation until you go insane. In my particular case, I was looking at a large family of proteins called nuclear receptors and categorizing them because they serve different functions. To analyze them further, I divided each of those nuclear receptor sub-families into groups based on which coregulator protein they were bound to. Then, each of the nuclear receptor sub-family coregulator groups into their bound peptide groups. Then each of the nuclear receptor sub-family coregulator-peptide groups into their bound ligand. Then each of the ligand-categorized nuclear receptor sub-family coregulator-peptide groups into the amino acids that the ligand would form a hydrogen bond with Then organized each of the bonding-residue separated ligand-categorized nuclear receptor sub-family coregulator-peptide groups into the probability that the hydrogen bond would form in an experimental setting...and so on. At some point, even though there are more variables that could be changed in theory, you just start to run out of data to analyze and your sample size gets too small to really tell if the statistics you're doing actually show anything meaningful. With the color world, you've gone from separating blocks into their different color spaces, then noise values, then kernel noise. With there being only a couple hundred blocks in the game, I feel like you'll hit a point where there's not enough data to see if the visualizations you're making really mean anything. But of course that's what science is all about: trying to figure things out and sharing what you did with the world, no matter how unimportant it might seem. Just don't spin your head too much with abstraction and sub categories lol.
@RubberCrowy
@RubberCrowy 3 ай бұрын
One thing I want to bring up is in regard to all that z-fighting! I have an idea of a way to fix it. You take a radius around each block's centre, and for each block within that space, you stack blocks outward. This would add data that the unused axis would display. For blocks that overlap too little to be stacked, you take the space of a block's side and apply it onto each block's origin point. Then, for each overlapping block, you move a block inward by the slightest bit. This idea might be *best* with some manual work, even if an algorithm makes it work.
@AppImage
@AppImage 3 ай бұрын
I think organizing by brightness and colorfulness would be a pretty interesting and potentially useful graph
@thomasfplm
@thomasfplm 3 ай бұрын
Somethings that seems a good distinction in terms of noise would be noise in terms of variations in the saturation of the same colour, in lightness/darkness of the same colour (like the redstone block that only has variations of red), and variations of colour (like the copper ore that has grey, orange and green).
@JessupCaine
@JessupCaine 2 ай бұрын
Thank you for your videos.❤ Giving shape 🌐 and form 📐 to color 🎨 and texture. 🪁 Makes the information more memorable. 💡 Thus helpful. 🫠
@methewhenmethe8055
@methewhenmethe8055 3 ай бұрын
this reminds me of when i had to make a mosaic out of emojis so i got average color values of emojis. had to incorporate a lot more logic than i thought i would.
@remuladgryta
@remuladgryta 2 ай бұрын
another way to classify blocks that might be interesting would be something like "highlight color" or "contrast color" where instead of ordering blocks based on their average color, you order them by the color that's most different from their average color. e.g. the copper ore block would be classified as having orange highlights and the red mushroom block would be classified as white highlights
@Lyzrinn
@Lyzrinn 2 ай бұрын
Hello Gneiss, could you do a video on how ores are generated in nature ? Genuinely curious to know, in a digestible way like yours, how concentrated and localized ore veins are created in certain spots and not in others !
@nathanruiz3424
@nathanruiz3424 3 ай бұрын
You can think of the kernel size as a spatial frequency, so your first noise method measures low frequency color difference, and your second method measures high frequency color difference. Instead of increasing the size of your kernel, you can take the Max or Median local color difference after a small kernel pass.
@blockchaaain
@blockchaaain 2 ай бұрын
Fourier transform is what comes to mind. You won't (initially) get a single value out of it. Instead you get the spectrum of the noise. But it feels like you may be ultimately seeking info on how that noise is distributed per block. High frequency noise (changing a lot every pixel) versus low frequency noise (small changes between adjacent pixels). I think the right kernel/convolution could be essentially the same thing.
@Kamarovsky_KCM
@Kamarovsky_KCM 3 ай бұрын
I admire the breadth of your knowledge
@Rurek-jw4ng
@Rurek-jw4ng 3 ай бұрын
Man i love your minecraft animations
@apblolol
@apblolol 3 ай бұрын
this feels like the type of minecraft content etho watches. hope he sees this
@emersonlamond1024
@emersonlamond1024 3 ай бұрын
i like to imagine the same analysis, at mojang, new blocks are to be added, artists maybe instructed to remain within a narrow range of these meta metrics
@forgedabauditt9955
@forgedabauditt9955 3 ай бұрын
PREPARE THYSELF
@retro_crasher
@retro_crasher 2 ай бұрын
Have fun with archeology! That's super exciting!
@trbz_8745
@trbz_8745 3 ай бұрын
You're probably gonna wanna used root mean squared difference for the kernel noise, so the more noisy kernels have more impact-that way the mushroom block won't count as lower than diamond.
@userNULL
@userNULL 2 ай бұрын
Brutal, Anarchic, Supreme, Sadistic... GNEISS
@pchris
@pchris 3 ай бұрын
If you're going to leave the noise profile in the world, since it's only 2D you should leave it up against that wall and have it display at the same time as the regular color visualization so the user doesn't have to switch back and forth and can just fly around looking for what they want
@Loch_Ness_Lachster
@Loch_Ness_Lachster 3 ай бұрын
For that art term, I’d refer to that as a form of contrast, or focus contrast.
@lbgstzockt8493
@lbgstzockt8493 3 ай бұрын
It's been said before, but the frequency distribution of a 2D-Frourier Transform would probably be the best way to quantify noise, at it would tell you how fine the noise is, and how much of it there is.
@Argletrough
@Argletrough 3 ай бұрын
6:28 I think the diamond block might be an outlier because of how its diagonal stripes intersect kernel: large uniform areas, but many colours within each square sample?
@Argletrough
@Argletrough 3 ай бұрын
*the kernel (can't edit comments on my phone?!)
@gneissname
@gneissname 3 ай бұрын
With a bit more time on this it would have been interesting to try different kernel sizes to see how that affected everything. I did my initial test on those extreme cases and they might not be a good test case bye to them being just black and white. I think there is a third way to look at this problem and see about textures that have an orientation and not just “grouped” colors. Like the diamond being diagonal or the observer having linear areas.
@skydivertyler
@skydivertyler 3 ай бұрын
You could categorize blocks by “directionality” like some blocks look like they are oriented in one direction, some not, some the other, etc
@vrtcGD
@vrtcGD 2 ай бұрын
Feels like I'm watching a SethBling video from way back
@AJMansfield1
@AJMansfield1 3 ай бұрын
The analysis method you seem to be yearning for here is the Discrete Cosine Transform. The 'average color' is just the (0,0) 'dc offset' term in the DCT representation, while higher order terms give correction values that get progressively finer (higher frequency) along each axis to reconstruct the image. You can then take sums over regions of the DCT to derive how much "energy" a texture has at the associated frequencies.
@WonkyGrub
@WonkyGrub 3 ай бұрын
A directionality kernel sorting (a separate vertical, horizontal and maybe diagonal) would be cool to see!
@DJBaphomet
@DJBaphomet 3 ай бұрын
I think it'd be kinda cool to do a version of this but specifically only with blocks that show up in worldgen. Not really for any specific reason, I just think it'd be cool to try and quantify the average "noisiness" of the minecraft world with the textures you find!
@gneissname
@gneissname 3 ай бұрын
You know, I have had a video idea sitting around similar to this. I wanted to look at the color distribution by biome and then maybe structures too.
@WonkyGrub
@WonkyGrub 3 ай бұрын
Noise could be interesting to look at in separate terms as well, rather than complete difference in colour it could be cool to separate it into hue noise, saturation noise, and value noise. They all are useful in different ways in building too
@mightyaussie7187
@mightyaussie7187 2 ай бұрын
Wait, Paleontology? BEST MINECRAFT KZbinR!!!
@rawesomeness_
@rawesomeness_ 3 ай бұрын
i was tabbed out listening to your video and i heard the slide and i was like WHAT I THOUGHT AUTOPLAY WAS OF- ohhhh its the same video, WAIT HE PLAYS ULTRAKILL HELL YeAH
@ThePickleSoup
@ThePickleSoup 3 ай бұрын
I don't understand what you're talking about half the time, but I think I would appreciate having a graph like that in the color world anyway. I think it makes it easier for me to understand the general uniformity of the blocks and makes it easier to pick out specific blocks as a one-off to break up a recurring texture in a build.
@Jakeus101
@Jakeus101 3 ай бұрын
Using the alt marksman is pretty based, can’t lie.
@wafity
@wafity 3 ай бұрын
These videos are just as interesting as always 👍
@mambodog5322
@mambodog5322 Ай бұрын
My idea on processing the noise is to take the 3d graph from the beginning of the video, flatten it by removing the y axis, then performing a similar "average distance from the average" that happened at about 1:20 (except one that cares about direction). You're left with a polar coordinate that determines what colour the noise is, and how intense it is. For example, gold ore would have large yellow noise, however a diamond block would have smaller orange noise, because moving from light blue towards white means adding orange. However, thinking my method through for things like copper ore and a diamond block makes it seem pretty difficult to use. Copper ore has two types of noise, orange and green, so without some method of splitting up the different colours of noise, you'd end up with it having some weird in-between colour. For the diamond block, it's just unintuitive that it has orange noise. It's a mostly blue block, you'd assume it has 'white' noise, but that's not available in this current system, you'd need to make it even more complex to account for this. Another problem is that it's impossible to graph every block at once like this, since each block's 'origin' is a different colour, trying to put them all together would be a complete mess. Honestly, my proposal probably isn't worth it for that many blocks (maybe just use it for the various gray blocks, and perhaps the types of wood).
@uhrguhrguhrg
@uhrguhrguhrg 3 ай бұрын
I wonder how dynamically placing animated blocks would look lava seems to switch between low variance and high variance, so I feel like it would float around the graph a bit
@arikarinooooooooo
@arikarinooooooooo 3 ай бұрын
Hm, I feel like the reason why it seems like the blocks with higher noise have higher "kernel noise" is mostly just because the blocks with more noise overall will tend to have more localized noise also, such as with how you're sampling for the value in repeated 5x5 areas.
@secondengineer9814
@secondengineer9814 3 ай бұрын
One thing that might be interesting would be to look into jpeg compression and discrete cosine transforms. This splits an image into higher frequency and lower frequency components and might be a useful way to figure out how noisy a block is. (It's basically a 2D fourier transform for images)
@roboltamy
@roboltamy 3 ай бұрын
I think some instances such as the red mushroom block or the diamond block would be considered more solid given that their color is almost entirely uniform. While there are some specific spots of significant change, the overall color is largely the same. The few white dots or the white "shine" lines don't change the fact that the red mushroom block looks red and the diamond block looks blue. I'm not sure that this is relevant in a strictly mathematical/color theory sense, but if the idea is to look at the noise in terms of the context a given block fits, it could be worth considering. tldr; red mushroom blocks and diamond blocks look pretty much solid red and blue respectively, even if they technically have some noise.
@roboltamy
@roboltamy Ай бұрын
I've had a thought, maybe there's a difference in priority of the distance between colors based on which channel you consider. So if we look at it with HSL as an example, I'd consider Hue most sensitive, then Saturation, then Lightness. So going from Red to Yellow is more significant than Red to Muted Red which is then more significant than Red to Dark Red. I'm tempted to try throwing some program together to help me understand this better. Noticed this while you moved past blocks like emerald, where it's pretty noisy while still feeling like a singular color in a sense.
@roboltamy
@roboltamy Ай бұрын
It's also definitely important to consider sizes. Someone else mentioned frequencies and I think it makes sense that low frequency patterns are going to leave a greater impact given they are more uniform in a large area while still being distinct from another area.
@Soneone.
@Soneone. 3 ай бұрын
minecraft and ultrakill. the perfect combinaion
@atlasflatt5638
@atlasflatt5638 Ай бұрын
idea for a third axis, have the average color along that axis
@wednes3day
@wednes3day 3 ай бұрын
Having filters of 0-0.75 or 0.25-0.75 something of noise would be super useful to have less clutter you're not planning to use, and for the latter letting you pre-filter blocks that might look too flat from the start
@MattTOB618
@MattTOB618 3 ай бұрын
8:19 Oh hey, that's where I live! Hope you enjoy your visit!
@joshuajohnson7848
@joshuajohnson7848 3 ай бұрын
Thank you for another amazing video! Good luck in Montana! I hope you find some cools stuff
@JoeCoup1
@JoeCoup1 3 ай бұрын
insanely cool stuff, inspirational to me. Makes me want to create something similar
@ThatGenericDude005
@ThatGenericDude005 3 ай бұрын
Yooo ultrakill, love it
@danolantern6030
@danolantern6030 3 ай бұрын
I watched this in grayscale. Nice video!
@maddymakesgames
@maddymakesgames 3 ай бұрын
I think something to improve your noise measure would be to measure changes in hue as more significant than changes saturation or luminosity. Copper ore seems very noisy because the orange has a lot more contrast against the gray. Whereas something like emerald blocks might be decently noisy by your current metric, but feel decently uniform color wise when used in a build.
@warriorsabe1792
@warriorsabe1792 3 ай бұрын
My thoughts on how to sort them: - First like a lot of people are saying, some kinda fourier transform or something might be good since frequency is what you're trying to quantify and that won't tie the axes together like you see - My gut reaction for quantifying how spread out they are is to instead use standard deviation, it's how you'd typically represent that and might give cleaner results - But another thought I had: what if you did a linear regression and then had the error on that be plotted? You have a third dimension to work with, and one thing I noticed is some things have a their colors all in a line, like stone variants, but other things have the colors all over the place, and quantifying whether the differences are scattered between many colors or just points on a continuum of colors seems like a useful thing
@quas4rx
@quas4rx 3 ай бұрын
The official minecraft website says "Dripstone, in the real world, is called limestone" and someone on reddit explained that "minecraft stone isnt an exact stone but could be Basalt/Basalt-Andesite/Trachybasalt/Basaltic-trachyandesite"
@Xazoq
@Xazoq 2 ай бұрын
The thumbnail kinda looks like the devil vortex saws mirrored
@Reda-Ou
@Reda-Ou 3 ай бұрын
Would be interesting to look at the autocorrelation function across the blocks, maybe even shifted by 50% grey downwards so that 0 is negative while 255 is positive.
@dragon_pi
@dragon_pi 3 ай бұрын
- since the x value is the overall noisiness and the v value is the local kernel noisiness there should be a maximum y for a given x. maybe one could try to "normalize" the y axis by multiplying it by 1/x² (eyeballing it, idk if thats correct) with x and y scaled to [0,1] since otherwise most of the graph would just be dead space. - another idea would be to display the graph by kernel size, where x is the kernel size and y is the resulting value for that kernel size. each block would of course be plotted once per x value and one could trace out the path of a single block
@PiercingSight
@PiercingSight 3 ай бұрын
Hue as the third axis would be quite useful, IMO.
@SisterRose
@SisterRose Ай бұрын
Not to overcomplicate things, but I feel that separating by Hue and Saturation is much more important than lightness in some cases, as this tool is for colour harmonies. Blocks with a lot of disparate colours like unseparated ore, glazed Terracotta etc. are going to be harder to work into "block as a pixel" type building vs something like a Note Block which is essentially 100% shades of brown but varies quite a bit in terms of local lightness. The Mushroom block should be lower for that reason, maybe, but if you're already taking this into account it could explain why the Diamond block was higher as it seems to shift between shades of aquamarine, turquoise etc.
@jdsonical
@jdsonical 3 ай бұрын
dang, bro went absurdist on us
@OfficialIvy2006
@OfficialIvy2006 3 ай бұрын
Not related, but I'm currently working on the entire 24-bit color palette pixel by pixel (contains 16,777,216 colors) in minecraft 16-color combinations, Delta E included with list of glass (pane)(/dye) color mixture (sequence of 6 in total). It's unknown when the project's conclusion is going to be revealed, but I'm feeling a bit courageous about this.
@TheaVanherst
@TheaVanherst 3 ай бұрын
I should add that noise PERCEPTION, vs actual rgb values are two different things. A yellow block with somehwat noise seems way more muddy than a red one, as the luminosity of yellow skews the actual percieved noise a lot. The issue being... I can't tell you have to adjust for that other than to use the relatively linear scaling used to judge the brightness difference of colour, which I still don't think is *wholly* accurate. Same thing with noise from hue shifting, is different to the darkness value.
1.21 Color World
21:12
Gneiss Name
Рет қаралды 70 М.
Geology of Minecraft: Caves!
27:20
Gneiss Name
Рет қаралды 262 М.
World‘s Strongest Man VS Apple
01:00
Browney
Рет қаралды 66 МЛН
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 81 МЛН
My Daughter's Dumplings Are Filled With Coins #funny #cute #comedy
00:18
Funny daughter's daily life
Рет қаралды 32 МЛН
小蚂蚁会选到什么呢!#火影忍者 #佐助 #家庭
00:47
火影忍者一家
Рет қаралды 115 МЛН
How To Improve Mob Control
12:12
Gneiss Name
Рет қаралды 34 М.
What is Stone, Alternative Theory
10:18
Gneiss Name
Рет қаралды 57 М.
Ruining Minecraft with too many Quality of Life mods
11:43
TheMightyNebby
Рет қаралды 757 М.
What's the difference between minerals and rocks?
23:46
Gneiss Name
Рет қаралды 74 М.
A perceptual color space in Minecraft (Oklab)
15:38
Gneiss Name
Рет қаралды 164 М.
How does Minecraft ore compare to Earth
26:01
Gneiss Name
Рет қаралды 316 М.
The Real Missing Colors of Minecraft (*1.20)
10:58
Gneiss Name
Рет қаралды 190 М.
I achieved 58 Advancements with ONE Arrow
19:19
laviOnFire
Рет қаралды 389 М.
Geologist answers: What is Stone
21:27
Gneiss Name
Рет қаралды 269 М.
World‘s Strongest Man VS Apple
01:00
Browney
Рет қаралды 66 МЛН