젤다와 같은 2D 게임은 자신의 일부만 보여지는 건물 뒤의 캐릭터를 어떻게 처리합니까?


28

간단한 젤다 스타일 게임을 개발하려고합니다. 나는이 매우 유용한 주제를 발견

LoZ : 과거에 대한 링크는 하위 타일 충돌을 어떻게 처리 했습니까?

충돌 감지 메커니즘을 개발하기 위해 참조로 사용하고 있습니다. 그러나 내가 이해하지 못한 것이 있습니다. 링크가 건물 뒤에 있으면 그 중 일부만 표시됩니다. 누구 든지이 효과를 얻는 방법을 이해하도록 도와 줄 수 있습니까? 건물이 배경의 일부가 아닙니까?


렌더링 스타일은지면 레이어 (잔디, 타일 바닥 등), 객체 레이어 (포트, 적, 셔브, 링크 등) 및 스카이 레이어 (지붕 상판, 리프트 포트, 나무 상판)를 갖는 것으로 생각합니다. 등). 층들 사이에서 물건을 옮기는 논리는 냄비의 예에서 조금 이상 할 수 있지만, 다른 문제입니다.
벤자민 위험 존슨

답변:


32

2D 타일 게임에는 일반적으로 다른 레이어에서 렌더링되는 더 많은 레이어가 있습니다. 일부는 백그라운드에서 플레이어 위의 다른 렌더링입니다.

지붕의 해당 부분이 플레이어 위에 렌더링되므로 플레이어가 해당 건물 뒤에 갈 수 있습니다.

다음은 게임에서 더 잘 설명하기위한 이미지 예입니다. 여기에 이미지 설명을 입력하십시오


건물 자체는 배경의 일부일 수 있지만 지붕은 스프라이트로 레이어 위에 그려진 다른 레이어의 일부입니까?
Tinadm

2
@Tinadm 그것은 반드시 전체 지붕 일 필요는 없으며, 다른 모든 것들 이후에 렌더링되는 플레이어 위에 그려 질 지붕 부분 일 수 있습니다.
Tetrad

7
멋진 그래픽을 위해 +1 시각적 학습자들에게 정말 도움이됩니다.
UnderscoreZero

1
나는 오래된 SNES JRPG가 같은 기술을 사용했다고 확신합니다. FF2, FF5 등.이 기술은 여전히 ​​유효합니다.
Hatoru Hansou

1
에뮬레이터 (예 : ZSNES)를 사용하면 개별 레이어를 수동으로 켜고 끌 수 있습니다.
Tobias Kienzler

5

Blodyavenger의 답변 이 가장 가능성이 높은 방법을 다루고 있지만 , 여기에는 쉬운 원근 전환이 가능한 또 다른 가능성이 있습니다 (예 : 4 개 또는 8 개의 다른 방향 또는 일부 카메라 높이 수준).

지도의 하향식보기를 고려하십시오 (예 :

  ABCDEFGHIJKL
1 +-----=----+
2 |  .    .  |
3 |    X   o |
4 | .        ||
5 |    .   . |
6 +--=-------+

어디 말, X마크 높은 기둥. 각 객체에 대해 가능한 모든 원근법의 이미지를 저장하거나 같은 것을 사용하십시오. 이제 그림을 그릴 때 현재 관점에서 뒤쪽에있는 열 또는 행으로 시작하십시오 (예 : 남쪽에서 볼 경우 행 1). 그런 다음 행 / 열을 두 번째로 뒤로 그립니다. 이런 식으로 무언가가 하나의 타일보다 높으면 (현재 관점으로 뻗어 있음) 단순히 뒤에있는 것을 무시합니다.

(멋진 그림이 없기 때문에 죄송 합니다. 적용된 그래픽이 너무 좋지 않습니다 ...)


물체의 질감을 늘려서 카메라 높이를 쉽게 변경할 수있는 방법에 주목하십시오
Tobias Kienzler

1

심도에 대한 변수가 있어야하고 가장 큰 심도를 가진 이미지가 먼저 그려지고 다른 심도가 가장 낮은 이미지가 있어야합니다. 각 객체의 깊이는 y 좌표의 음수와 같아야합니다.

Depth=-y

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.