Camera In을 그대로 통과시키면서, Shake Trigger가 발생한 순간 내부의 trauma를 1로 만들어 흔들림을 일으킵니다. trauma는 매 프레임 Decay × 경과 시간으로 선형으로 감소하지만, 실제 흔들림 폭은 trauma의 제곱이므로 처음에 강하게 왔다가 스르륵 가라앉는 형태가 됩니다. 흔들림은 Perlin 노이즈로 만들어지며, 위치는 카메라의 로컬 축 방향으로 오프셋되고, 회전은 오일러 각으로 가산됩니다. 오디오의 온셋을 Shake Trigger에 연결하면 킥에 맞춰 흔들리는 카메라를 하나로 구성할 수 있습니다.
- Position Amount(기본값 1)
- Rotation Amount — 도(기본값 3)
- Frequency — 노이즈가 진행하는 속도(기본값 12, 하한 0.01)
- Decay — trauma의 감쇠 속도·초당(기본값 1.5, 하한 0.01)
흔들리지 않는 동안은 입력 카메라를 그대로 출력합니다(직교 투영 등의 설정도 유지됩니다).
Camera In이 연결되지 않았을 때는 기본 카메라(위치 0,0,-10 / FOV60)를 흔든 값이 나옵니다.
입력 포트
| Port ID | 타입 |
Camera In | CameraDataInput |
Shake Trigger | trigger |
Position Amount | float |
Rotation Amount | float |
Frequency | float |
Decay | float |
출력 포트
| Port ID | 타입 |
Camera | CameraDataOutput |
스크립트에서 설정할 수 있는 멤버
| 경로 | 타입 |
amountInput | float |
rotAmountInput | float |
frequencyInput | float |
decayInput | float |
Synapse Apps (스크립팅)
await synapse.modules.create({ type: "CameraShake" })