Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 08:06:38 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Handling blind spots in isometric 3D
Pages: [1]
Print
Author Topic: Handling blind spots in isometric 3D  (Read 1033 times)
Orz
Level 1
*


"When nothing is done, nothing is left undone."


View Profile WWW
« on: July 12, 2019, 05:16:42 AM »

In isometric games, the scenery disappears or fades out when you walk behind it.  It looks like this is usually done by the level designer flagging certain tiles as "roof", "wall", or whatnot.  Anyone have more insight into how this is done in different games?  Is there perhaps an ugly but general solution that doesn't require manual annotation?
Logged
Thaumaturge
Level 10
*****



View Profile WWW
« Reply #1 on: July 13, 2019, 09:48:00 AM »

I might suggest having multiple layers of tiles. Then, when the player moves "beneath" a non-empty tile on the "ceiling" layer, one fades out that tile, and any connected to it. (How that connection is handled might depend on the game. If you have only small sections of "ceiling", separated from each other--imagine a village composed of huts--a simple flood-fill, perhaps pre-built, might suffice. If you have large regions of "ceiling"--imagine an expansive dungeon--you might want to have some means of placing tiles into "groups" that can be toggled all together.)
Logged

Orz
Level 1
*


"When nothing is done, nothing is left undone."


View Profile WWW
« Reply #2 on: July 20, 2019, 03:31:10 AM »

Yeah, on second thought, I won't be able to avoid manual annotation, because the tiles that need to be visible or invisible depend on the scenario.  Right now I just do what you said and organize tiles by hand into groups that fade in or out simultaneously.

Here's a couple references FWIW. 
http://justindjohnson.com/softdev/isometric-occlusion/
This guy uses collision areas to determine occlusion.  AFAIK his underlying data isn't 3D; it's just like a space shooter with funny-shaped buildings.

http://simianzombie.com/posts/2018/01/29/isometric-demo
This guy has a lot more rigorous approach and actually uses a Z-buffer to determine occlusion of moving objects pixel-by-pixel.  He even considers rendering the scene by raycasting into a voxel volume, which sounds rad.

I am keeping it slow & simple: breaking my objects into unit cubes and rendering back-to-front and bottom-to-top.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic