Loading video...

Video Failed to Load

Go Home

๐ŸŽ“ Learn how to create a powerful Dynamic Snow gradient Map in a matter of seconds in my latest video series (AAA) Pro Tips! This special Map can be used to adjust the amount of snow coverage on any 3D asset straight inside a game engine or during in-game...

28,955 views โ€ข 2 years ago โ€ขvia X (Twitter)

4 Comments

MANOR LORDS's profile picture
MANOR LORDS2 years ago

I see you tagged unreal and I wonder why not just height lerp from the Z component of the pixel normal instead? You can also remove inverse AO to subtract the crevices. This way you can save a lot of time and VRAM making custom masks for each and every asset.

OPEN's profile picture
OPEN1 year ago

Cinematic pedigree of the highest order meets innovative AAA gameplay in OP3N. Dive into the action by wishlisting on Epic Games TODAY!

Buschenrieder Alain's profile picture
Buschenrieder Alain2 years ago

Oh this would be useful someday, thanks. Followed.

Cohen Brawley's profile picture
Cohen Brawley2 years ago

Great to hear! Thanks for the support! :)

Related Videos

CSS Tip! ๐Ÿค™ You can use mask-composite and some JavaScript to create this pointer proximity following glow border โœจ .glow { mask-composite: intersect; mask-clip: padding-box, border-box; mask: linear-gradient(#0000, #0000), conic-gradient(#0000 0deg, #โ€‹fff, #0000 45deg); } The trick is to mask a background-image with a combination of mask layers. mask-composite: intersect; means the mask used will be the intersection of the layers ๐Ÿ”ฅ use source-in, xor; in browsers that don't support intersect; In this demo, you can use pseudoelements and rely on scoped custom properties to do a lot of the heavy lifting for you ๐Ÿ™Œ Once you've masked the background, you need to update the starting angle of the conic-gradient on pointermove ๐Ÿ‘† You can work that out by getting the center point of each card and then calculating the angle between that and the pointer with Math.atan2 ๐Ÿค“ let ANGLE = Math.atan2( event?.y - CARD_CENTER[1], event?.x - CARD_CENTER[0] ) * 180 / Math.PI ANGLE = ANGLE < 0 ? ANGLE + 360 : ANGLE; CARD.โ€‹style.setProperty('--start', ANGLE + 90) You plug that into your conic-gradient mask as a custom property accounting for --spread โšก๏ธ conic-gradient(from calc((var(--angle) - (var(--spread) * 0.5)) * 1deg), #000 0deg, #โ€‹fff, #0000 calc(var(--spread) * 1deg)); To get the blur, you apply a blur to the glow container on each card ๐Ÿค™ .glows { filter: blur(calc(var(--blur) * 1px); } That's it! Layers of masks that are clipped and composited before being blurred ๐Ÿ˜Ž The added trick is to fade each one in when the pointer is in the defined proximity of the card. For example, don't show unless within 100px of a card. You can see that in the video. Check out the JavaScript code for that ๐Ÿซถ Couldn't resist making this one ๐Ÿ˜ CodePen.IO link below! ๐Ÿ‘‡

jhey ส•โ€ขแดฅโ€ขส”

1,179,724 views โ€ข 2 years ago

CSS Trick! ๐Ÿค™ You can create gradient borders on translucent elements using mask-clip and mask-composite with a pseudo-element ๐Ÿ”ฅ .gradient-border::after { mask-clip: padding-box, border-box; mask-composite: intersect; mask: linear-gradient(transparent, transparent), linear-gradient(white, white); } It's the same "Transparent border trick" from before. But, now you apply it to a pseudo-element ๐Ÿ˜Ž The trick is to create a pseudo-element with a gradient background and then mask it so we only see the part we want, the border โœจ mask-clip defines the area affected by a mask. Similar to how you can define background-size. Using padding-box and border-box constrains the two masks. mask-composite is the magic part โœจ It defines a compositing operation for stacked mask layers. Using intersect means that the parts that overlap get replaced. And this seems to work in all browsers ๐Ÿ™Œ As for the rest of the styles... โ€“ Make sure you set pointer-events: none on the pseudo-element โ€“ Make sure it fills the parent element. You can use position: absolute and inset: 0 โ€“ Make sure the background fills the space including the border-width. You can use calc to achieve that: --bg-size: calc(100% + (2px * var(--border))); background: var(--gradient) center center / var(--bg-size) var(--bg-size); That's it! ๐Ÿš€ Gradient borders on translucent elements. You can set all the backdrop-filter: blur() you like! ๐Ÿ˜… CodePen.IO link below! ๐Ÿ‘‡

jhey ส•โ€ขแดฅโ€ขส”

269,739 views โ€ข 2 years ago

When I saw the mask "Tribes of the Calf" from Kanbas I knew I had to make it into reality. The jewelry and gold really made it stand out for me. Since Sam Spratt's The Masquerade was revealed, I have been spending time sculpting and dissecting the mask to recreate it in 3D as faithfully as possible. I delved into the creation of this mask for many reasons. I love a good challenge and this mask surely was one for me. Creating something in 3D from a 2D image is not easy, and especially when the source has generative nature, some stuff is hard to interpret, but I tried my best to make sure the visual integrity of the mask is as close to the original as possible. Splitting the whole mask into parts, filling the missing pieces so I can build the textures was quite a lot of work. I tried to present the mask in my own style with a slightly different colorway to adapt to the mask itself. Please enjoy this short animation, and turn on sound๐Ÿ”Š This piece is my statement that I am here to stay. That I have a voice that often feels being lost in the void. That I have been creating and posting digital art for over 20 years now and will continue until I'm gone. I have a story to tell and I want to be heard. The space we have here is small, and is shrinking day by day. It doesn't have to be like that. We need to support each other and push ourselves and people here, otherwise we are all doomed. As Kanbas has put in their observation of the mask: "Inspirational. Emotional. Natural." This is what our space can be, and this is me making a statement with this homage. I will share a 4k still below as well as a short video showing the 3D GLB interactive model together with a yt link to the 4k video since compression here is pretty bad.

shoneec

17,531 views โ€ข 1 year ago