Ocarina of Time의 타이틀 화면에서와 같이 '화염'효과를 만들려면 어떻게해야합니까?


102

N64 게임 '젤다의 전설 : 시간의 오카리나'의 타이틀 화면에있는 로고의 불꽃 효과와 같은 불꽃 효과를 재현하고 싶습니다.

여기에 이미지 설명을 입력하십시오

ROM에 사용 된 텍스처를 간략하게 살펴보면 효과와 비슷한 단일 32x32 텍스처가 제공되지만 그 이미지 (올바른 것으로 가정)가 로고에 표시되는 효과로 어떻게 변환되는지는 알 수 없습니다.

비슷한 것을 어떻게 구현할 수 있습니까?


2
다른 게임에서 특정 결과를 어떻게 구현했는지에 대한 질문은 고려하지 않기 때문에 비슷한 효과를 얻는 방법을 묻기 위해 질문을 약간 조정했습니다.
Josh

절차 기술이나 간단한 사전 제작 효과만으로도 충분합니까?
Bálint

나는 완전한 답변을 작성하는 시간과 지식을 가지고 있지 않지만, 아마도 그것을 통해 수행 할 수있는 컬러 사이클링 .
Alexandre Vaillancourt

@JoshPetrie 고마워, 그게 내가 진짜로
했던

1
내가 기억하는 기술에서 어려운 부분은 색상 자체가 아닌 적절한 팔레트를 사용하여 픽셀로 이미지를 만드는 데 있습니다. 사이클링은 색상의 하위 세트에 대해 코드로 수행됩니다.
Alexandre Vaillancourt

답변:


248

먼저 로고 / 텍스트의 흰색 마스크를 만들고 흐리게 처리하십시오.

로고의 흐릿한 모양

그런 다음 반복 가능한 (타일 형) 솔리드 노이즈 텍스처 (여기서는 김프 사용)를 만듭니다.

노이즈 텍스처

맵-> 타일 ... 필터를 사용하여 다음 단계에서 3x3 타일 패턴 (이 예에서는 128x128 x 3 = 384x384)을 생성하여 텍스처를 계속 반복 할 수 있도록합니다. 가운데 부분 만 유지합니다.

이전 이미지를 3 x 3으로 바둑판 식으로 배열

Blur-> Motion Blur ...를 사용하여 텍스처를 위쪽으로 흐리게하고 가운데 1/3 만 유지하십시오 (128x128로 돌아 가기)

노이즈 플러스 모션 블러

GPU에서 두 텍스처를 모두 곱하고 불투명도에 사용하십시오.

노이즈와 결합 된 마스크

그런 다음 패턴 질감을 마스크 질감 위로 위로 움직여 애니메이션을 만듭니다.

움직이는 소음과 결합 된 마스크

애니메이션 부분을 완료했습니다.

그런 다음 그라디언트 맵 (검정-> 빨강-> 노랑-> 흰색)을 적용하여 불의 색을 줄 수 있습니다.

불 색깔을 가진 로고 모양

다른 색상을 사용하면 짙은 푸른 불, 담황색 아우라 필드, 연기가 자욱한 효과 등을 만들 수 있습니다.

이제 이것을 로고와 3D 렌더에 첨가제 로 결합 하면 원하는 효과를 얻을 수 있습니다.

배경+ 심벌 마크+ 불=배경 위에 불타는 로고

마스크 및 / 또는 패턴 밝기, 정점 색상 및 / 또는 그라디언트 색상 맵을 설계된 수준으로 조정하면 효과가 어두워 질 수 있습니다.

다른 속도와 방향으로 두 개의 질감 패턴 (마스크 * 불 패턴 * 불 패턴)을 함께 사용하여 더 복잡한 불 효과를 만들 수도 있습니다.


기술적으로 N64에서는 텍스처에 대한 N64의 하드웨어 제한으로 인해 마스크 텍스처 대신 삼각형 메쉬와 정점 색상을 사용하여 마스크의 근사치를 만들었을 수 있지만 최종 결과는 ((vertex color * pattern texture) vs. 마스크 텍스처 * 패턴 텍스처)).

정점 색상 모형

우리는 여전히 정점 색상을 사용할 수 있지만 20 년 후에는 생활을 더 편하게하고 2 개의 텍스처 이상을 사용할 수 있습니다. 심지어 오늘날의 모바일 GPU에서도 256x128의 회색 텍스처를 추가로 처리 할 수 ​​있습니다.


3
@StephaneHockenhull에게 감사의 말을 전합니다. 이것은 제가 찾던 기술과 정확히 같습니다
nathanburns

7
이런 암소 좋은 대답입니다!
John Gordon

1
"거대한"또는 "유령"?
CJ Dennis

1
또한 "모양의 외관"이라는 의미를 갖습니다. "그 넥타이를 착용하지 마라." 나는 당신의 문장을 "다른 색은 정말 나쁜 연기 효과를 줄 수 있습니다"라고 해석했습니다. "고스트 리 (Ghostly)"는 원하는만큼 강하지 않더라도 모호하지 않습니다.
CJ Dennis

1
나는 당신에게 가장 진지한 말 그림에 대한 두 번째 공감대를 줄 수 있기를 바랍니다.
인정 자

2

당신이 할 수있는 몇 가지 방법이 있지만 내 머리 꼭대기에서

1) 화염 + 로고를 모두 하나의 이미지로 만들고 기본적으로 스프라이트 시트에 애니메이션을 적용하십시오.

2) UI 레이어에 로고를 렌더링하고 그 주위에 UI 레이어 입자 효과를 배치합니다.

그 이미지의 모습에서 방패와 칼, 불꽃, 텍스트 (뒤에서 순서로) 3ish 레이어가있는 것처럼 보입니다.

비슷한 효과를 얻는 방법에는 여러 가지가 있습니다. 선택한 엔진은 구현중인 엔진과 구현 가능한 엔진에 따라 다릅니다.


0

ROM에 작은 불꽃 텍스처가 포함되어 있으면 이것이 일종의 입자 효과로 수행되는 것 같습니다.

타이틀과 로고의 화면에 먼저 스프라이트를 놓으면됩니다. 그런 다음 타이틀 스프라이트 뒤에 불꽃 효과를 생성하는 여러 개의 입자 이미 터를 배치하십시오. 즉, Z / 화면 깊이는 타이틀 뒤에 렌더링되는 정도입니다.

다음은 GameMaker 입자 효과를 사용하여 불꽃을 생성하여이 방법의 가능성에 대한 몇 가지 생각을 제공하는 예입니다.

http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/


제안에 감사드립니다-텍스처가 연결된 튜토리얼의 텍스처와 같지 않고 대신 투명도없이 32x32 공간을 채웠다 고 가정하면 파티클로 이것을 할 수있는 확실한 방법이 있습니까?
nathanburns

원본에 투명도가 없으면 입자에 대해 내 불꽃 텍스처를 만듭니다. 여기서는 원래 타이틀이 불꽃 애니메이션이 포함 된 완전한 애니메이션 스프라이트로 수행되지 않는 한 아마도 입자 효과 일 것입니다.
Tim Holt

@TimHolt Nintendo 64의 하드웨어 기능을 과대 평가하고있을 수 있습니다. 이러한 방식으로 "단단한"모양의 불꽃 효과를 생성하려면 하드웨어가 렌더링 할 수있는 것보다 훨씬 더 많은 입자가 필요했을 것입니다.
duskwuff

1
@duskwuff-사실이지만 사용자가 오래된 하드웨어에서 이것을 구현하고 있다고 생각하지 않습니다. 정답은 현대의 모든 시스템에 여전히 유효합니다.
Tim Holt

@ duskwuff 문제는 지금 그것을 구현하는 방법입니다. 다른 게임에서 어떤 일을했는지에 대한 질문과 답변은 여기서 다루지 않습니다. 여기서 N64의 하드웨어 기능은 관련이 없습니다. (질문에 Josh Petries 의견을보십시오)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.