Karma Physical Sky [Mardini2024]

これはMardini2024のDay10 Karma Physical Skyの動画を視聴してまとめたものです。

[動画](https://www.youtube.com/watch?v=SJDD_v-ZPHk)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/932cbb24-3c46-fda7-1860-1a183aee7013.png)

[公式のサンプルファイル](https://media.sidefx.com/uploads/contests/mardini2024/moeen_videos/mardini_examples_day10_karmaphysicalsky.zip)

[Day9 Background Plate](https://qiita.com/jyouryuusui/items/b185bb623947cdfab873) | Day10 Karma Physical Sky | [Day11 VellumBrush](https://qiita.com/jyouryuusui/items/4c7928ada302e1acc98a)



# 要約
- Karma Physical SkyノードはLOPコンテキストで動作する
- 太陽光と空の色を、物理的に正確なシミュレートができる
- 太陽の位置は、高度(Altitude)と方位角(Azimuth)で制御する
- 太陽のサイズを調整すると、シャドウのソフトネスが変化する
- 大気の濁り(Turbidity)を変更すると、空の色と影の濃さが変わる
- 地上の色(Ground Albedo)と、地平線のぼかし(Horizontal Blur)を調整できる
- 位置、日付、時刻を指定して、特定の場所と時間の照明を再現可能
- 複雑な地形にも効果的で、自然な照明が得られる
- Karma Fog Boxと組み合わせると、大気光の効果を追加できる

# サンプルファイル

Karma Physical Sky LOPのデフォルトの機能確認用 XYZ軸のダーミオブジェクト

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/6bb41a51-8370-5920-f669-363e58c0290e.png)

プロシージャルに生成された地形
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/8019abe0-6c5d-6520-2e40-12f72d08af46.png)

### stage
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/373d03ad-f4b8-e162-2291-c4b1d9453b0b.png)

## 操作手順

### Karma Physical Sky LOPの基本



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/345b9af6-dece-2a35-6fc9-845d35ae97ec.png)

   - Karma Physical Sky LOPは、屋外ライティングをすばやく設定するのに便利なノード
   - Karma Dome LightとKarma Distant Lightを利用し、数学的モデルを用いて物理的に正確な空を生成します
   - このノードを使用するには、Solarisコンテキストのstageレベルで作業する必要があります

#### 明るさの調整
   - Karma Physical Skyの明るさを調整するには、IntensityとExposureの2つのオプションがあります
   - Intensityは明るさを線形に増加させ、Exposureは指数関数的に増加させます。Exposureは、Intensityの乗数として機能します
   - どちらの値を利用しても問題ありません
   - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/d34bf9d3-2383-01b1-5753-268b64df06c3.png)


#### 太陽の位置の調整
   - デフォルトでは影の方向はZ方向にそって投影されています（つまり太陽が負のZ方向に位置している）
       - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/ccf8e578-7efd-76b8-31b4-5bbca47a5a4d.png)
   - Solar AltitudeとSolar Azimuthを使用して、太陽の位置を調整できます
       - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/266c57eb-a2c3-b58b-7620-7136220e438e.png)

   - Solar Altitudeは、地平線から測定した垂直角度（x軸周りの回転）を表します。0°で地平線上に、90°で真上（真上からなので影がなくなります）に、180°で反対側の地平線上に太陽が位置します
       - 図は0°の地平線上
       - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/a36fa7a5-a987-908f-a4fc-27f5b23e3fa3.png)

   - Solar Azimuthは、水平角度（y軸周りの回転）を表します。デフォルトでは負のZ方向に太陽が位置し、0°で負のZ、90°で正のX、180°で正のZ、270°で負のXに太陽が位置します

#### 太陽のサイズと影の柔らかさ:
   - Angular Sizeは、太陽の見かけ上のサイズを表します。これを大きくすると、影が柔らかくなります
   - Solar Altitudeを下げ、Angular Sizeを大きくすると、夕日のような柔らかな影を作ることができます
       - 図はAngular Size: 7.5、Solar Altitude: 4
       - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/c958ff58-3831-49a3-af28-66fc4c1df775.png)


### 空の色とかすみ
   - 空の色は、Turbidity、Solar Altitude、Solar Azimuthの組み合わせに依存します
   - Turbidityは空気中の微粒子の量を表し、1で澄んだ青空、10で曇った日のようなかすみを表現できます(デフォルトは3です
       - Turbidity:1 
           - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/54f44e99-324e-4f3d-eb3c-ffaa62cb1dc3.png)
       - Turbidity:3 
           - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/80340cf9-6988-efe0-2d0e-324e5dcfe698.png)
       - Turbidity:10
           -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/fc9bcc26-f082-3609-ed9f-b53f85958983.png)


   - Turbidityを上げると、影のコントラストが弱くなります

### 地平線の色とぼかし
   - Horizontal Blur FalloffとGround Albedoを使用して、地平線の色とぼかしを調整できます
   - Ground Albedoは地平線の色を変更し、Horizontal Blur Falloffはぼかしの量を調整します
   - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/3c96d566-f2bb-25a0-d0f8-59aa5e0c7454.png)
   - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/b1e7bcdd-a95c-b222-f3d5-f8a5d21a0063.png)
   - 地平線の色はわずかに空の色にも影響します

### 場所、日付、時間の使用

- Azimuth/Altitudeの代わりに、Location、Date、Timeを使用して、特定の場所と時間の物理的に正確なライティングを設定できます
- 緯度、経度、日付、時刻を入力すると、その場所と時間に応じた太陽の位置が計算されます
- 日本時間を指定する場合
- 記事を書いている今は東京で3月23日の16時なので、その時間を入れます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/97f5d9cc-6d76-c275-4412-410012a9958f.png)

| 都市名 | 緯度（Latitude） | 経度（Longitude） |
|--------|------------------|-------------------|
| 東京   | 35.6895          | 139.6917          |
| 大阪   | 34.6937          | 135.5023          |
| 名古屋 | 35.1815          | 136.9066          |
| 札幌   | 43.0618          | 141.3545          |
| 福岡   | 33.5903          | 130.4017          |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/9bea0f4a-d3fe-214c-18e2-f5c4769b7310.png)

    
### 地形での使用例

- プロシージャルに生成された地形に対してKarma Physical Skyを適用すると、Distant LightやEnvironment Lightよりも良い結果が得られます
- Exposureを調整し、Solar AltitudeとSolar Azimuthを使って太陽の位置を設定することで、簡単に良いライティングを得ることができます
- Karma Fog Boxを有効にすると、山の端から太陽が覗く場所の周りに光が差し込むような効果を得ることができます
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151589/e64f8bc9-a2fb-d930-1b02-af96dd5a4faa.png)



# まとめ

Karma Physical Sky LOPは、屋外シーンに物理的に正確なライティングを簡単に設定できるツールです。太陽の位置、空の色、地平線の設定を調整し、フォグと組み合わせることで、印象的な結果を得ることができます。