리니지2등처럼 맵이동시 지역명 표시.....

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

리니지2등처럼 맵이동시 지역명 표시.....

Post by 비회원 »

안녕하세요..

지금 3D 게임에서 약간 넓은 지형을 표현하고 있는데

리니지2등처럼 지역을 이동했을경우에 현재 지역의 이름을 화면중앙에 표시해주고

서서히 없어지는 형태를 추가하였으면 합니다...

2D이미지로 간단히 띠울수 있을것같았는데 서서히 없어지는 부분을 잘 모르겠네요..

아니면 FONT로도 해결 방법이 있을까요??

답변 기다리겠습니다 ㅜㅜ
비회원

Post by 비회원 »

알파값을 이용해서 점점 투명해지도록 조절해보세요^^
비회원

.. 질문자인데요 ㅠㅠ

Post by 비회원 »

제가 지금 알파값을 이용해서 투명하게하는건

맵소스 자체적으로 알파값을 먹여서 투명하게 했거든요..

이렇게 하면 점점 투명하게는 못하고있고요..

2D출력을 플랜에 텍스쳐를 입혀서 하고있거든요.. rhw정점을 이용해서 ㅠㅠ

좀더 자세하게 설명해주심안댈까요..
비회원

Post by 비회원 »

방법은 두가지 입니다.

1. 버텍스컬러
버텍스에 컬러를 추가하고 알파값을 조정해서 점점 사라지는 것을 구현
물론 출력시 알파값은 버텍스컬러(diffuse) * texture 가 되야겠죠..

2. TextureFactor를 이용한다.
TexturFactor의 알파값을 조정해서 넣고 이것을 texture알파와 곱해서 사용...

정도 입니다..
비회원

감사합니다

Post by 비회원 »

DEVICE->SetRenderState( D3DRS_TEXTUREFACTOR, D3DCOLOR_ARGB( 알파값, 255, 255, 255 ) );

DEVICE->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);

DEVICE->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);

DEVICE->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_TFACTOR);

TEXTUREFACTOR를 검색해보니 관련글이 있더군요 ㅠㅠ

위처럼 그려주기전에 셋팅하고 그리니 텍스쳐가 점점사라집니다...

그런데 또 2가지문제가 ㅡㅡ;;

첫번째로 알파값을 -1씩 감소시켜 출력하였는데 중간쯤에 갑자기 사라지더군요...

알파값이 150이하로 떨어지면 출력안되고 바로 사라지는데 이거 해결할 수 없나요 ㅠㅠ

그리고 위처럼 셋팅하니 다른 텍스쳐들도 같이 사라지네요 ....


두번째로 TEXTUREFACTOR 옵션을 꺼주는 명령어를 찾아보려 했는데 아직 못찾앗네요

TEXTUREFACTOR 끄는 옵션 혹시 아시는분좀 ㅠ
비회원

Post by 비회원 »

알파테스트 값을 확인해보세요. 아마 150이 아닐까 싶습니다...0으로 맞추세요..~

그리고 그걸 그려준다음에는 다시 원래대로 세팅을 돌려합니다..~

Code: Select all

DEVICE->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE); 
가 아마 디폴트 세팅일겁니다..

그리고 음...
SetRenderState와 SetTextureStageState 세팅에 대한..기본적인 부분을 알려줄 책이 하나 필요한듯합니다.
비회원

감사합니다..

Post by 비회원 »

모두 해결했습니다 감사합니다 (__)

그동안 문제가 생기면 여기저기 알아봐서 가져다 쓰기 급급했던 모양이네요..

랜더스테이트와 텍스쳐에대해서 제대로 공부하지 못했다는 점이 마구 와닸네요..

블랜딩하나만으로도 텍스쳐에 대해 공부할게 너무나 많다고 생각이 드네요 ㅠ

그동안은 텍스쳐 입혔으니 텍스쳐는 공부끝이야~ 라고생각했던듯
Locked