겜브리오 이펙트 쉐이더 by 김윤정

언리얼에서 자주 사용되는 효과를 따라 만들어 봤습니다.
응용하기에 따라서 매우 많은 곳에 사용가능한 기술.

일단 에너지 보호막이나 방패스킬이나, 기타 몬스터 죽을 때, 불타오르는 재 부터시작해서
나중에는 마법진이 붓글씨 써지듯 경로에 따라 나타나게 할 수도 있습니다. Linear 공식때문에 머리좀 아팠지만 스승님이 만들어 주셔서 간단히 해결. 역시 수학의 정석을 공부해야 하는 걸까나 ...

이것이 Linear interpolation 공식.

어쨌거나 완성한 효과, 가장 처음과 마지막에 살짝 버그가 있지만 고치기는 어렵지 않을듯 싶고, 효과도 꽤 마음에 드네요 :)


덧글

  • 왕풍뎅이 2010/11/19 20:13 #

    우왕 수학이다 수학
  • 이펙트맨 2011/01/06 06:57 #

    님 대단하십니다.
    이런분이 우리나라에 계신다니.... 놀랍습니다.
    코딩잘보고갑니다.
    근데 질문이 있는데요 게임브리오 매쉬스크린 좌표에서관한 질문인데요
    상황은 맥스에서 어싸인시킨쉐이더가아니고 비쥬얼스튜됴 안에서 코드로 쉐이더를 생성시키고 스크린매쉬에 연결되있는상태입니다.
    당연히 fx코드안에 라이트 시맨틱해놔도 라이트가 어싸인된상태가아니라 시맨틱넣어도 안받어지는 상태구요
    1.fx코드안에전역에 월드라이트를 받을 변수를 GLOBAL로하나 해놨구요(비주얼스튜됴 안에업데이트로 받을준비되있는상태 자료타입정확히 일치되있는상태)
    2.fx코드의 tex는 스크린좌표계를 받어들입다. (버텍스쉐이더 float2 tex0)
    3.이상태에서 라이트의 월드방향을 사용하려고하는데요..ㅠㅠㅠ 아정말 어떻게해야하나요??
    이상태에서 월드의 방향을 읽어오는 법좀 알려주시면 대단히 감사하겠습니다.ㅠㅠ 복많이받으세요^^^
    비쥬얼스튜도안에서 라이트동적할당하고 월드방향받어 읽어오는함수로 쉐이더글로벌에 업데이트해도 도통 먹히질 않네요.ㅠㅠ
  • 김윤정 2011/01/06 14:32 #

    아아 무슨 그런 말도 안되는과찬을.. OTL 어깨넘어로 배운 hlsl 이나 깨작대는 정도죠..
    일단 이것만 가지고는 어떤 문제가 있는지 알 수 없어서 스승님께 문의해본 결과 스승님 말씀도 이것만으로는 정확한 원인을 알 수 없다고 하시네요 OTL
    일단 추천드리는 방법은 fx로 짜지 마시고 nsf 를 이용하여 라이트를 0번으로 받아오면 소스 연결 필요없이 겜브리오에서 자동으로 받아와 지니까 그걸 이용해 보심이 어떨까 합니다. 그렇게 하면 라이트 생성만 하면 된다고 스승님이 말씀하시네요 :)
  • 2011/01/07 03:49 # 비공개

    비공개 덧글입니다.
  • 김윤정 2011/01/07 09:04 #

    아이쿠. 제가 더 초보입니다. 저야말로 스승님한테 물어봐서 겨우 답변드리는 레벨인데요. (근데 비밀글로 적으셔도 답변은 다 보인다능 ㅎㅎ ) fx 로 거의 안되는게 없다고 하던데... 실제 해보니까 안되는게 꽤 많던데요 ;; 로스트 디바이스 처리도 잘 못하고 은근히 많이 꼬이더라고요. 이 질문도 스승님한테 다시 한번 물어보고 답변드릴께요. 저도 잘 몰라요.저는 보시면 알겠지만 hlsl만 다루고 있어서 소스 레벨에서의 연결은 전혀 모르는 왕초보입니다 ㅎㅎ
  • 2011/01/07 11:17 # 비공개

    비공개 덧글입니다.
  • 김윤정 2011/01/08 08:29 #

    네 저도 볼륨텍스쳐는 너무 무거워서 그 방식으로 했습니다. 사실 요즘에는 겜브리오 공부나 작업을 안하고 있어요. 비밀 프로젝트쪽이 생겨서, 다른걸 만지고 있답니다 ㅎㅎ 덕분에 겜브리오 인스톨도 안되어 있게 된지 오래... 좋은 말씀 감사합니다. 앞으로도 많이 조언 부탁 드릴께요. 질문하신건 스승님한테 월요일에 물어보겠습니다. 요새 회사가 많이 바빠서 .ㅎ
※ 로그인 사용자만 덧글을 남길 수 있습니다.


MyADD

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