Загрузка видео...

Не удалось загрузить видео

На главную

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,689 просмотров • 1 год назад •via X (Twitter)

Комментарии: 11

Фото профиля Evelyn
Evelyn1 год назад

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
RedDeer.Games4 лет назад

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

Фото профиля Kohl
Kohl1 год назад

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

Фото профиля sleitnick
sleitnick1 год назад

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
Peter McNeill1 год назад

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
sleitnick1 год назад

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”
Rory “Computer wizard”1 год назад

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
sleitnick1 год назад

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
Jimeyy1 год назад

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

Фото профиля Simbuilder
Simbuilder1 год назад

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

Фото профиля EverDaleTop
EverDaleTop1 год назад

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

Похожие видео