아 몰라 오늘도 후덜덜이여~
후덜덜..
아 몰라 오늘도 후덜덜이여~
 
전체
오늘도 달려
음악 스크랩
개발이야기
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 6506, yesterday 41, today 4
powered by Tatter tools, designed by kokoro studio.
  1. 2008/06/24 Papervision3d 의 index-sort 이용하기.
  2. 2008/06/23 papervision3d Alpha effect 2탄
  3. 2008/06/16 papervision3d 에서 DisplayObject3D에 alpha effect 먹이기
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
[로그인][오픈아이디란?]
GreateWhite 버전에서 alpha를 먹이는 방법은 의외로 초초초초초초 심플하였으니..
사용방법은 interaction 주는 방식과 동일하다.
DisplayObject3D 객체를 만들고 해당 객체에 useOwnContainer = true 를 주면된다.


끗~
useOwnContainer 메소드의 간단한 설명조차 없고 소스에도 주석이 없어서.. 설명하긴 좀 난해하나..
This property gives you the ability to tell Papervision to dynamically create a layer for your DisplayObject3D when it is rendered in the viewport. By setting DisplayObject3D.useOwnContainer to true, your object will be rendered with its own ViewportLayer. Moreover, you can assign properties to your DisplayObject3D that will be passed along to your generated Layer.
위 구문을 인용해보자면 useOwnContainer 가 true일때 DisplayObject3D 자신을 viewport layer로 동적렌더링을 한다는 것 같다..
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/06/23 21:34 2008/06/23 21:34
   http://www.heyon.com/trackback/9
  1. mxybkaeu
     x mxybkaeu
  2. pvqeiruh
     x pvqeiruh
  3. scfazcfu
     x scfazcfu
  4. iqbxlgep
     x iqbxlgep
[로그인][오픈아이디란?]


샘플보기 : http://www.heyon.com/attach/1/1147443654.swf

papervision3d 에서 Object3D에 알파를 먹일수 있는 방법을 강구하던중 드디어 GreateWhite 버전에서
답을 찾았다.
Viewport3D 클래스의 getChildLayer 메소드를 이용하여 viewport 안에 있는 DisplayObject3D 객체의
레이어를 반환한뒤 해당 레이어에 alpha를 먹이면 된다.
자꾸 먹인다니까 이상하네 ㅋㅋ
getChildLayer에 관한 정보는 아래 URL에서 확인
http://lostboys.epologee.net/papervision/greatwhite.doc/html/
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/06/16 14:51 2008/06/16 14:51
   http://www.heyon.com/trackback/8
  1. sscunyyh
     x sscunyyh
  2. jooijetw
     x jooijetw
[로그인][오픈아이디란?]
*1