devmae
개발자 향기
devmae
전체 방문자
오늘
어제
  • 전부 감상 (280)
    • Unity (52)
      • memo (37)
      • R&D (15)
    • 모바일 (32)
      • iOS (6)
      • Android (25)
    • 개발자 모드 (41)
      • 개발자처럼 파고들기 (28)
      • 한가해서 책읽는거 아님 (10)
      • 영상 요약 (3)
    • Languages (40)
      • C++ (23)
      • MFC (8)
      • Java (4)
      • javascript (5)
    • Flash (108)
      • tip (29)
      • tech (4)
      • as2.0 (1)
      • as3isolib (3)
      • flartoolkit (2)
      • 이미지 편집기 (2)
      • papervision3d (12)
      • scale form (2)
      • Flash Builder (12)
      • air (5)
      • as3.0 (20)
      • flash player (9)
      • 개념잡기 (6)
      • source (1)
    • +,-,×,÷ (3)
      • 수학 뽀개기 (3)

블로그 메뉴

  • 홈
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
devmae

개발자 향기

Flash/papervision3d

LensFlare 클래스

2009. 12. 11. 02:33
Lens Flares 는 실제 장면이나 드라마와 같은 게임, 동영상에서 자주 사용된다.
이제 이 효과를 pv3d에서 사용할 수 있다.
개발자가 do3d(movies/sprites/bitmaps) 와 LightObject3D 를 사용하여 Lens Flares 효과를 사용할 수 있도록 Class 로 생성 되었다.

동작원리

LF 은 실제 3D 포인트에서 2D 효과로 생성되어 진다. 스크린의 가운데와 빛의 투영 각을 알아야 하는데,

각도를 알게 되면, 단지 2D 벡터위에 LF 을 위치시켜주면 된다.
각 Flare 에서 원점으로 부터 빛 사이의 거리에 대해 비율적으로 정의하면된다.
기본적으로 LF Class 에서는 8개의 Flare 를 제공하며 각 순서는 배열의 위치에 대응된다.

Class 사용방법

주 재료는 LensFlare(ViewportLayer) 이며, LightObject3D, 와 Flare 로 사용할 Do3d 배열이다.
그리고 나머지는 viewport 의 넓이와 높이 이며, 이로 인해 스크린영역밖으로는 확장되지 않는다.

lightLayer 는 LF 가 렌더링될 곳이다. 이는 자동적으로 빛의 투영 좌표와 Flare들의 위치를 얻게 된다. flareArray 는 무비클립 배열을 담고 있다. LF Class 는 자동적으로 이런 오브젝트들을 렌더레이어에 추가한다.Flare들의 배열은 아무 Display Object나 사용할 수 있다(MovieClip, Sprite, Shape, or Bitmap)

LF 를 렌더링 하기 위해서는 updateFlare 를 onEnterFrame handler에 써야한다.

updateFlare 의 첫번째 불린 showFlare 는 LF를 보일지 말지를 선택한다.
두번째 testHit Flare 가 DisplayObject 와 만날때 보일지 말지를 선택한다.

몇몇 다른 이야기

LF Class 의 position 배열에서 Flare들의 위치를 변경할 수 있다.
이 는 선택적인 6번째 파라미터로 setFlareArray() 함수로 객체 생성후에 배열을 변경할 수 있다. positions 배열은 flareArray 와 같은 길이를 가지며 Flare DisplayObject 에 연관되어 위치한다. 각각의 설명은 아래와 같다.

  • distance : Number - 필수 - Flare를 위치 시키고자 할때 원점으로 부터 빛의 거리 비율이다.
  • scale : Number - 필수 - Flare DisplayObject 의 스케일양
  • dScale : Number - 중앙으로 부터 떨어진 거리 만큼의 스케일의 양?(the amount of scale to add to the object as it gets further from the center.)
  • rotate : Boolean  - Flare 의 좌측면이 항상 원점을 향하도록 DisplayObject를 회전할지 말지(whether or not to rotate the DisplayObject to always keep its left side pointing towards the origin.)
  • alpha : Number - 외곽에서 서서히 사라지게 할 투명값 0 = 사라지지않음 -> 1=없앰
<출처 : http://www.vaca.co.kr/tigerwind/index.php/5>
    'Flash/papervision3d' 카테고리의 다른 글
    • ColladaMax_FREE_3.05C
    • DisplayObject3D에 alpha값 주기
    • lookAt()의 "lookAt error" 런타임 오류 해결
    • papervision3D tutorial
    devmae
    devmae
    enjoy with me?

    티스토리툴바