프로그래밍/Flex/AIR2008. 6. 24. 23:52
[오늘 목표]
- 기본 프리미티브들과 매트리얼을 숙지한다.
- 카메라의 다른 종류가 있는지 살펴본다.

1. 프리미티브
plane, cube, sphere, cylinder, cone, paticle field 등이 있다.

plane - 하나의 판대기라고 생각하면 된다. 텍스쳐를 입히면 공간에 있는 사진이 되는 것이다.
cube - 정육각형, 6면에 텍스쳐를 입힐 수 있다. MaterialsList를 사용한다.
sphere - 구
cylinder - 원통
cone - 깔대기
paticle field - 우주를 구현할 때 가상의 별 공간으로 만들 수 있을 것 같다.
아니면, 다른 곳에 쓸 곳이 있으려나?
파티클 하나하나 제어할 수 있는지는 더 살펴봐야 겠다.

2. 카메라
Camera3D, FreeCamera3D, FrustumCamera3D 3종류가 있는 것을 확인했다.

기본 Camera3D 를 생성할 때 type이 0, 1에 따라
hover에 영향을 미치는데 정확히 무슨 차인지는 비교해봐야 겠다.
기본 적으로 볼 대상을 지정할 수 있다.
또는 포커스 거리를 맞출 수 있다.
x,y 등 변수를 저장해서 움직일 수도 있다.

FreeCamera3D는 제 맘대로 제어할 수 있는 것이고.

FrustumCamera3D 는 GreatWhite에서 추가된 카메라로
그냥 예전 OpenGL의 그 Frustum이 되는 카메라다.

        public static const NEAR:uint     = 0;
        public static const LEFT:uint     = 1;
        public static const RIGHT:uint     = 2;
        public static const TOP:uint     = 3;
        public static const BOTTOM:uint = 4;       
        public static const FAR:uint     = 5;

변수가 있어서 가까운 거리, 먼 거리 등을 지정하면
조금 더 효율적으로 오브젝트들을 표현할 수가 있을 것이다.

[기타 슥듭]
1. org.papervision3d.view.BasicView
래퍼 클래스가 이미 있었다.
Flex에서 그냥 UIComponent 를 컨테이너로 사용하고 거기에 뿌려줄 때 편히 쓸 수 있다.

2. 기본 매트리얼 숙지
- 와이어프레임 : 그냥 기본 와이어 프레임 (점과 선으로 표현됨) 이다.
- 칼러: 그냥 색 있는 면을 만들 때 쓰는 것이고
- BitmapFileMaterial: 기본 텍스쳐라고 생각하면 된다. 가장 많이 쓸 듯.
- MovieAssetMaterial: 플래시 쪽 작업하는 사람은 쉽게 알 것 같은데..
플렉스에선 어떻게 사용하는지 모르겠다. assets에 등록하고 쓰면 되려나.. -_-; (숙제)
기타: doubleSided 라는 매트리얼 속성은 기본적으로 한 면만 볼 수 있는 속성 값을 바꿔서
카메라 벡터에 상관없이 볼 수 있게 하는 것이다. CCW, CW 에 상관없이.

3. Tweener 맛보기
- Tweener.addTween(cube, {x:Math.random()*2000 - 1000, y:Math.random()*2000 - 1000, z:Math.random()*2000, time:.5, transition:"easeInOutQuint"});
이런 식으로 사용한다는..
Flex의 Move 이펙트랑 비슷하다고 보면 된다.
cube라는 객체의 x, y,z를 주어진 값으로 변화시킨다.
time: 0.5 sec 안에
easeInOutQuint 스럽게

4. Multi Viewport 가능 확인
여러개의 뷰포트를 등록해서 사용할 수 있는 것을 확인했다.


[남은 목표]
- 좌표공간, scene과 children과의 관계 완벽 이해, scene에 scene을 추가할 수 있는지?
- PNG 파일을 Height Map으로 사용하여 지형을 생성해본다. (와이어프레임)
- 3번 과정을 텍스쳐를 입혀 완벽한 지형으로 작성한다. (Terain)
- 이미지를 동적으로 로드하여 여러개의 오브젝트의 텍스쳐로 사용해본다.
=> http://www.nabble.com/Dynamic-image-loading-td17989140.html
- MovieAssetMaterial을 Flex에서 사용하는 방법 알아보기
=> http://www.nabble.com/MovieClip-image-loaders...-td17924994.html
- swf 재생하기
=> http://www.nabble.com/problem-loading-a-swf-file-into-a-plane-papervision-2.0-td14927921.html
- Light 이해
- Blur Effect 사용해보기



Posted by 시난

댓글을 달아 주세요

  1. Bitmap Asset Materials are used to map a bitmap in your Flash library to an object. Just add any bitmap to your library, right-click -> properties

    BitmapAssetMaterial( linkageID:String, precise:Boolean = false )

    2008.06.25 00:35 신고 [ ADDR : EDIT/ DEL : REPLY ]