티스토리 뷰
안녕하세요 :) Zedd입니다.
그래요..CAEmitterLayer도...프로퍼티가 많았었네요.......
그래서 따로 정리해보려고 합니다 :)
CAEmitterLayer프로퍼티 정리
● birthRate : birthRate? Cell에도 이게 있었던 것 같은데....뭐지? 네 CAEmitterLayer의 birthRate는 각 cell의 birthRate에 이 Layer의 birthRate를 곱해서 초당 생성된 실제 입자수에요.
그럼 만약 cell의 birthRate가 3이고 layer의 birthRate가 3이었다면 초당 9개의 cell이 생성되는 거..겠죠?
● lifetime : particles이 있을 때, cell의 lifetime range에 이 값을 곱합니다. 기본값은 1.
자.. 궁금하신 분들이 있었을 겁니다.
얘는 어디서 내려오는걸까...위에서 아래로밖에 못내려오나..? 나는 왼쪽에서 오른쪽으로 가게하고싶은데...
CAEmitterLayer는 cell들을 렌더링해주어 화면에 뿌려준다고 했었죠? 역시나 당연하게도 "위치"프로퍼티가 존재합니다.
그 전에 밑에 방출 모양(emission shape)이라고 나올건데, 이거 먼저 보도록 할게요.
Emitter Shape은 방출된 cell의 출처(originate)를 정의하는 1, 2, 또는 3차원의 모양입니다. 모양은 모양은 emitterPosition, emitterZPosition, emitterSize 및 emitterDepth 특성의 서브 세트로 정의됩니다.
● emitterPosition : 방출 모양(emission shape)의 중심. 기본값은 (0, 0, 0)입니다.
● emitterZPosition : z축을 따라 cell의 emitter Shape중심을 지정합니다. 기본값은 0.0.
● emitterSize : cell emitter Shape의 크기를 결정. emitter크기가 적용되는 방법은 emitter Shape에 따라 다릅니다. emitter Shape의 값에 따라 이 값은 무시될 수 있습니다. 기본값은 0.0입니다.
● emitterDepth : emitter Shape의 깊이를 결정합니다. emitter 깊이가 적용되는 방법은 emitter Shape에 따라 다릅니다. emitter Shape값에 따라 이 값은 무시될 수 있습니다. 기본값은 0.0입니다.
● emitterShape : (위에서 그렇게 말하던 emitter Shape. 이 emitterShape이라는 프로퍼티에 지정해주면 됩니다.) emitter Shape를 지정합니다. emitterMode에 사용할 수 있는 값은 emitter Shape에 표시됩니다. 기본값은 kCAEmitterLayerPoint입니다.
● emitterMode : emitter Mode를 지정합니다. emitterMode에 가능한 값은 emitterMode에 표시됩니다. 기본값은 kCAEmitterLayerVolume.
● renderMode : 레이어가 레이어에 합성되는 방법을 정의하는 문자열(== 입자 Cell을 레이어에 렌더링하는 방법을 정의). 기본값은 kCAEmitterLayerUnordered.
● preservesDepth : 레이어가 입자를 평면에 평평하게 배치할지 여부를 정의. true인 경우, 레이어의 슈퍼 레이어의 3차원 좌표 직접 있는 것 처럼 입자를 렌더링 합니다. 활성화 하면 레이어의 필터, backgroundFilters 및 섀도우 관련 속성의 효과가 정의되지 않습니다. 기본값은 false입니다.
....? 왼쪽이 false고..오른쪽이 true입니다.............뭐지...3차원처럼..막 엄청...제가 상상한대로 될 줄 알았는데..크기만 작아짐ㅎ
● velocity : cel에 정의된 particle velocity에 적용되는 배율을 정의. 기본값은 1.0. 다들 생각하시는대로 크게주면 빨리 내려옵니다.
● scale : cell에 정의된 particle scale에 적용되는 배율을 정의. 기본값은 1.0
● spin : cell에 정의된 particle spin에 적용되는 배율을 정의. 기본값은 1.0
● seed : 난수 생성기를 초기화 하는데 사용되는 Seed를 지정. 각 레이어는 고유한 난수 생성기 상태를 갖습니다. Cell의 속도와 같은 평균 및 범위로 정의되는 emitter cell속성은, 속성값이 [M - R / 2, M + R / 2] 간격으로 균일하게 분포합니다.
(이게 무슨소리인지...잘 모르겠어요) 얘가 UInt를 받는데...이 받은 값으로 뭘하는거지? 랜덤값을 생성해서 뭘 하는거지..?
이 글을 금방 쓸 줄 알았는데..Shape니..Mode니...정의 된게 엄청 많은데 얘네의 차이를 알고싶어서 엄청 실험을 했어요. 결론은 잘 모르겠다...
emitterShape같은 경우는 String값을 할당해주지만, 안에는 수학적인 수식으로 이루어져있어요.
위 그림은 kCAEmitterLayerLine인데, 근데 여기서 ZPosition을 잘 모르겠어서, 여러가지를 넣어봐도 이게 왜!!! 왜 이 위치에 이렇게 렌더링 되는지 확실하게 이해가 되지 않더라구요.
ㅎ ㅏ.....아시는 분은 알려주시면 정말 감사드리겠습니다..ㅎㅎㅎ....
아무튼 이 글이 emitter를 공부하시는데 도움이 되었으면 좋겠어요 :)
'iOS' 카테고리의 다른 글
iOS ) Accessibility(접근성) - Accessibility Inspector (0) | 2018.03.01 |
---|---|
iOS ) Accessibility(접근성) - Accessibility Programming Guide for iOS (1) (0) | 2018.03.01 |
iOS ) FileManager를 이용해 파일/폴더 만드는 법 (9) | 2018.02.26 |
iOS ) FileManager 사용하면서 알아두면 좋을 것들 (3) | 2018.02.26 |
iOS ) 내 App의 데이터 보기 (0) | 2018.02.23 |
- np-complete
- Git
- 스위프트 문법
- 피아노
- swift3
- swift tutorial
- np-hard
- ios 13
- UIBezierPath
- swift 공부
- iOS delegate
- Xcode
- IOS
- FLUTTER
- 회고
- github
- WKWebView
- 제이슨 파싱
- swift delegate
- actor
- SwiftUI
- Combine
- Swift
- WWDC
- fastlane
- WidgetKit
- Accessibility
- swift sort
- swift array
- 스위프트
- Total
- Today
- Yesterday