NkFireDance Shader by 김윤정

기존의 불 쉐이더는 연속된 dds 파일을 이용한 ifl 방식과, 파티클을 이용한 방식이 있었습니다.


ifl 파일은 퀄리티가 좋지 못하고,
파티클은 너무 느립니다.

그래서 불 같은 효과를 넣고 싶어도 최대한 절제해 넣어야만 하는 단점이 있었지유.
그래서 만들었습니다. 불용 쉐이더. NkFireDance 입니다.



사용방법은 다음과 같습니다.

첨부된 NkFireDance를 다운받아 ,

NkFireDance.NSF는 쉐이더의 Data 폴더에 넣고,
NkFireDance.hlsl 은 쉐이더/ Data의 DX9 폴더에 넣습니다.




NkFireDance 쉐이더를 선택 적용합니다. (그림은 그냥 FireDance지만 신경쓰지 마시길. 테스트 버전이라서 그렇슴.)

아래에 Custom attribute 가 생기고 FireMask 와 FirePattern 이 생깁니다.





FireMask는 이것입니다. 불 모양의 알파가 들어가 있어야 합니다. 오른쪽이 알파입니다.





FirePattern 은 이것입니다. 실제의 불 모양과 알파가 들어 있습니다. 이 패턴은 위와 아래가 이어져 있어야 합니다.
FirePattern 소스는 위로 스크롤됩니다. (속도는 하드코딩 되어 있습니다.왜? 귀찮 ...)
 그러므로 패턴을 제작할 때에는 위와 아래가 타일링 되어야 합니다.
그리고 춤추는 모양을 만들기 위해 알파가 약간 S자로 휘어 있는 것을 볼 수 있습니다.


두 패턴은 각각 곱셈으로 더해지게 됩니다. 그렇게 되면 이런 이미지가 되는거지요.



이것을 이용하면, 불 말고도 연기나 전기 흐름 등등의 이펙트를 표현할 수 있습니다.

퀄리티도 좋은 편이며, 무엇보다 많이 찍어도 느려지지 않습니다.

이미 유명하고 만들기도 쉬운 쉐이더인데 이제야 적용하게 되었네요
빨랑 여유가 생기면 얼음 쉐이더도 만들어야겠습니다.

핑백

덧글

  • 앤써니 2009/08/19 04:44 #

    흐음,저는 불 등은 파티클외엔 충분한 효과를 만들어내는줄 알았는데 이런것도 있었군요;;
  • 김윤정 2009/08/19 07:55 #

    파티클은 하나하나의 입자가 오브젝트이기 때문에 일반적으로 무척 느립니다;
    되도록이면 파티클은 쓰지 않는 쪽으로 하지요.
  • 꿀통이 2011/02/28 21:29 #

    혹시 위에 이미지랑 파일들 얻을수 있을까욥 ㅠ? 안되면 이미지라동 저도 한번 해보고 싶네요... 혹시 프로그래머 이신건가욥?

    그래픽 디자이너신건가... 블로그를 열심히 봤는데 잘 모르겠따능 ㅠ
  • 꿀통이 2011/02/28 22:53 #

    그런데 계속 일렁 일렁 거리는건 어떻게 한거죠???
  • 꿀통이 2011/02/28 22:54 #

    소스 있으면 공유좀 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
  • 김윤정 2011/03/01 10:46 #

    아... http://chulin28ho.egloos.com/5346453 에서 보시면 맥스용을 다운받으실 수 있으십니다. 소스도 물론 들어 있구요. 위의 것은 겜브리오용으로 짠 거라 엔진에서밖에 돌아가지 않아요 :)
    그리고 전 그래픽 디자이너 .... 일 겁니다. ㅎㅎ
※ 로그인 사용자만 덧글을 남길 수 있습니다.


MyADD

<script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>