Starcraft 2는 어떤 기술을 사용하여지도를 렌더링합니까?


9

런타임에 절차 적으로 생성되는 맵이 있으며 현재이 맵을 렌더링하는 방법을 조사하고 있습니다. Starcraft 2의 외관에 관심이 있으며 그것을 달성하기 위해 어떤 방법을 사용하는지 조언하고 싶습니다. 둘째, 가능한 경우 튜토리얼, 기사 또는 소스 코드 예제를보고 싶습니다.

조언하고 싶은 몇 가지 주요 사항이 있지만 나에게 도움이 될만한 다른 제안을 자유롭게 제안하십시오.

  1. Snappable Tilesets-전형적인 스타 크래프트 맵은 절벽, 경사로 및 ​​기타 높은 지형을 만들기 위해 함께 스냅 할 수있는 모델의 타일셋으로 구성되어있는 것 같습니다. 자연스럽게 보이게하기 위해 어떤 방법을 사용합니까? 내 말은 반복을 발견하기가 매우 어렵다는 것입니다.

  2. 터 레인 텍스처-터 레인 텍스처는 매우 다양하고 역동적입니다 (저그 크리프). 이를 위해 어떤 방법을 사용합니까?

감사.


# 2에 관해서는, "텍스처 스플래 팅"연구.
George Duckett

답변:


23

블리자드에는 엄청난 수의 텍스쳐 아티스트가 있다고 생각합니다. 그러나 질문을 조금 바꿔 보자.

예산이 제한되어 있고 텍스처를 분명하게 타일링하지 않고 실시간 전략 게임을 만들고 싶습니다. 어떻게하면 되나요?

좋은 질문! 내가 사용할 몇 가지 큰 도구가 있습니다.

1) 합리적으로 큰 교환식 타일 세트 . 그리드에 64x64 텍스처 크기를 사용한다고 가정 해 봅시다. 64x64 텍스처를 여덟 개로 만들어서 다른 타일과 타일링 할 수 있습니다.

2) 데칼 또는 메가 텍스쳐링 . 반복 된 질감과 적은 수의 "얼룩"또는 "흙"또는 "스카프"오버레이 질감을 가져옵니다. 텍스처에 오버레이를 뿌립니다. 이들은 실시간으로 렌더링 될 수 있으며,이 경우 데칼이거나 거대한 텍스처로 구워집니다.이 경우이를 메가 텍스쳐링이라고합니다. 두 경우 모두 반-무작위로 수행 할 수 있으며, 몇 가지 적용되는 오버레이만으로도 많은 변형을 경험할 수 있습니다.

3) 매미 타일 . 이것이 작동하는 방법에 대한 자세한 내용은 이것을 확인하십시오 . 요약하면, 부분적으로 투명한 부분적으로 적은 배경을 가져 와서 훨씬 덜 분명한 배경을 생성하는 데 사용하는 방법입니다.

4) 질감이 튀는 . 단일 텍스처에서 타일링을 피하는 것이 아니라 여러 텍스처를 매끄럽게 결합하는 것이기 때문에 마지막으로 저장했습니다. 그러나 예산에서 몇 가지 추가 텍스처를 제거 할 수 있다면 이것이 중요한 도구가 될 수 있습니다. 실제로 이것을 사용 하지 않으면 뭔가 잘못했을 수 있습니다. 단일 텍스처 유형의 큰 타일 부분에는 도움이되지 않지만, 다양한 텍스처가 나란히 보이도록하는 데 사용됩니다.


Starcraft 1은이 목록에서 # 1을 사용하고 Starcraft 2는 # 4를 사용합니다. 두 경우 모두 기본 지형에 해당됩니다. SC1에서 '두 아빠'까지는 # 2 (메가 텍스쳐가 아닌 데칼)였으며 SC2에서는 모두 3D 모델입니다. -SC2 맵을 멋지게 보이게하는 이유는 대부분의 위치에 Cicada 타일처럼 보이는 두 가지 텍스처가 다양한 각도로 서로 다른 점으로 나타납니다. (지금까지 몰랐으며 사용할 계획입니다.)
몰랐고

@ DampeS8N : 실제로 SC1은 # 1을 수행하지 않습니다. 대신, 서로 바둑판 식으로 배열되는 작은 타일 팔레트와 특정 타일 만 사용하는 특정 타일이 있습니다. 다른 타일. 맵 편집기에는 어떤 타일이 무엇인지와 관련된 테이블이 있으므로 가까이있는 타일과 타일이없는 타일을 배치하면 해당 타일이 테이블을 통과하여 타일을 배치 한 타일로 바꿉니다. 재귀 적으로.
Nicol Bolas

@NicolBolas 기술적으로는 사실이지만 기본 철학은 서로 호환되는 타일입니다. 특히 친구와 저는 연쇄 반응으로 SC1 편집기에서 얼마나 많은 타일 뒤집기를 유발하는지 보았습니다.
DampeS8N
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.