아 몰라 오늘도 후덜덜이여~
후덜덜..
아 몰라 오늘도 후덜덜이여~
 
전체
오늘도 달려
음악 스크랩
개발이야기
Flash as3
북마크
     
«   2008/09   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
 
   
nmfjwitg
nmfjwitg
vahnlrsh
vahnlrsh
jimratqg
jimratqg
jooijetw
jooijetw
iqbxlgep
iqbxlgep
 
2008/06 - 6
2008/04 - 4
  

Total 6507, yesterday 41, today 5
powered by Tatter tools, designed by kokoro studio.
papervision3d 를 사용하다보면 분명히 z depth 를 뒤로 뺐음에도 불구하고 마우스를 x좌표 + 방향으로 이동시키다보면 DisplayObject3D끼리 겹치거나 뒤에 있어야할 object가 위로 온다던지 겹쳐서 깜빡거린다던지 하는 문제가 있다.
나도 해당 object의 z값을 뒤로 빼주기만 하면 알아서 index가 형성될줄 알았는데 이리저리 살펴보니 해당 sorting부분은 따로 있었다.

잘못된 예제1 : http://www.heyon.com/@works/papervision3d_test/2008_06_24/01_LayerSort.html
잘못된 예제 2 : http://www.heyon.com/@works/papervision3d_test/2008_06_24/02_LayerSort.html
정상적인 예제 : http://www.heyon.com/@works/papervision3d_test/2008_06_24/03_LayerSort.html
소스 다운로드 : http://www.heyon.com/attach/1/1219839324.zip

퇴근전에 잊어먹지 않기위해 블로깅하는거라 소스첨부와 간단한 설명만 남기는게 조금 아쉽다.
급하게 짜느라 상세한 주석은 못달았지만 대략적인 구조와 이용방법은 소스를 참고하면 된다.

AlphaPlane.as 파일은 무시해도 되고 LayerSort.as 파일에 중요한 index에 관련한 루틴이 들어있다.
클래스는 org.papervision3d.view.layer.util 안에 있는 ViewportLayerSortMode.as 파일이 필요하다.
대략적인 프로세스는 아래와 같다.

1. viewport 생성
2. 해당 viewport 에 viewport parent layer 생성
3. viewport 의 container sprite에 생성한 parent layer add (addChild와 같은 개념)
4. parent layer의 sortMode를 INDEX_SORT나 Z_SORT로 선언
5. parentLayer.getChildLayer(plane 객체).layerIndex = 작은수로 갈수록 뒤로 빠짐


DisplayObject3D객체를 생성할때 layer 영역도 같이 생성이 되는데 해당 객체의 layer를
useOwnContainer = true 값으로 세팅하여야 sorting 을 할 수 있다.
해당 메소드사용법은 AlphaPlane.as 파일에 있다.

내가 대략 이해하기로는 useOwnContainer = true 로 하여 자신의 Object3D객체를 viewport parent layer 로 렌더링을 하고 이렇게 렌더링된 layer를 layer.util 의 layerSortMode 에서 정렬을 해주는게 아닌가 싶다.
금방 소스만 올리고 갈랬는데 벌써 시간이 3시가 되어버렸다..OTL
오늘은 이만 줄이고 정확한 동작법과 프로세스를 알게되면 다시 피드백을 남겨야 겠다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/06/24 03:22 2008/06/24 03:22
   http://www.heyon.com/trackback/10
  1. hqzdarct
     x hqzdarct
  2. efxvfnhc
     x efxvfnhc
  3. mwayohut
     x mwayohut
  4. gmhahhjd
     x gmhahhjd
  5. rutynyna
     x rutynyna
  6. jbdrbsna
     x jbdrbsna
[로그인][오픈아이디란?]
*1  *2  *3  *4  *5  *6  *7  ... *12