Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Another game dev pop quiz! I want to move a block forward until it hits the closest surface in front of it without clipping. Blockcasting can be used. But on Roblox, the result gives you a single point of contact (yellow dot). How do you solve for the green...

12,669 görüntüleme • 1 yıl önce •via X (Twitter)

11 Yorum

Evelyn profil fotoğrafı
Evelyn1 yıl önce

I would say something like: OriginCFrame * CFrame\.new(0, 0, -(ray.Distance - plane.Size.Z)); Through a Blockcast that replicates the size of the block itself!

RedDeer.Games profil fotoğrafı
RedDeer.Games4 yıl önce

Customise the colours yourself or simply connect the Joy-Cons ! Head to ➡️ for more details about #AAAClock ! #indiedev #indiegame #IndieGameDev #nintendo #OLED #switchOLED

Kohl profil fotoğrafı
Kohl1 yıl önce

finalposition = startpos + direction * result.Distance can't test this but this would work right?

sleitnick profil fotoğrafı
sleitnick1 yıl önce

The result is the yellow dot, so that would end up clipping the cube through the part ahead of it by a little bit

Peter McNeill profil fotoğrafı
Peter McNeill1 yıl önce

What's the green dot? If the block was at the yellow dot would it be the center of the face of the cube? In which case it should be: origin + ray.Unit * hitResults.Distance

sleitnick profil fotoğrafı
sleitnick1 yıl önce

Maybe better worded: Solve for the black plane so that it doesn't clip into the surface in front of it. The yellow dot is the result from the blockcast; green is the "solved" reprojection that the black plane is on

Rory “Computer wizard” profil fotoğrafı
Rory “Computer wizard”1 yıl önce

I'm surprised that the engine returns only the point of contact from the block cast and not also the length of the vector that causes contact. You're basically asking to map the yellow point to a point on the surface of the cube. Min cos distance a grid of cube's surface points?

sleitnick profil fotoğrafı
sleitnick1 yıl önce

Here's the fun part that @ColRealPro showed: The Distance property of RaycastResult will give you the proper distance to the green dot. But the Position property will give you the yellow dot. This is nice b/c you get both the contact point & the correct distance to project it.

Jimeyy profil fotoğrafı
Jimeyy1 yıl önce

Make the greendot’s CFrame the lookvector of the cube * the block cast distance?

Simbuilder profil fotoğrafı
Simbuilder1 yıl önce

Use the surface normal for orientation, for the distance use ray casting.

EverDaleTop profil fotoğrafı
EverDaleTop1 yıl önce

This is the kind of stuff i suck at, i am only good at the logic part of coding, not the math part

Benzer Videolar