「Unity/光」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→室内を明るく動的に) |
(→室内を明るく動的に) |
||
行52: | 行52: | ||
intersityを0から1にした場合の値。(値は、シーンファイルのdiff差分で、確認できる) | intersityを0から1にした場合の値。(値は、シーンファイルのdiff差分で、確認できる) | ||
RenderSettings.ambientSkyColor = new Color(1.414f, 1.414f, 1.414f, 1f); | RenderSettings.ambientSkyColor = new Color(1.414f, 1.414f, 1.414f, 1f); | ||
+ | |||
+ | ==画面遷移した先の画面が暗くなる問題== | ||
+ | #Unityメインメニュー/Window/Rendering/LightingからGenerateLightingボタンを押して、 | ||
+ | #Light設定ファイルを作る | ||
+ | |||
+ | https://enia.hatenablog.com/entry/2021/03/28/085909 |
2024年7月12日 (金) 06:22時点における版
目次
2Dで光をあてる方法
- プロジェクトにmaterialを新規作成する
- materialのInspectorを開きshaderをSprites/Diffuseに変更する
- 光を当てたい画像オブジェクトのSpriteRendererのmaterialを作成したmaterialに変更する
- ヒエラルキーでPointLightを作成し、光を当てたいオブジェクトのx,y,zと同じ位置に移動する
画面遷移で画面が暗くなるのを修正
- Unityメニュー/Window/Readering/Ligthing
- Environmentタブを開き、GenerateLightingボタンを押す
物体を光らせる
物体に当てているMaterialで、Emissionをonにすれば良い。 ただし重いのでスマホ(古いAndroid)では使わないほうがよい。
Emissionで発光させる
- 床のPlaneや、発光させるオブジェクトのCubeを作成し、InspectorのStaticに、チェックを入れる
- Materialを作成し、InspectorのEmissionにチェック
- 発光させるオブジェクトのCubeのMaterialを上記のMaterialに変更する
- Unityメインメニュー/Window/Renderring/Lighting/"Generate Lighting"ボタンを押す(10分ぐらいかかるっぽい)
- Hierarchy/"Directional Light"のInspector内のLightのIntensityを、0.1にして、全体を、暗くする
参考:https://teratail.com/questions/264069
参考:http://corevale.com/unity/2694
PointLightで発光させる
- 床のPlaneや、発光させるオブジェクトのCubeを作成。
- Hierarchy/"Directional Light"のInspector内のLightのIntensityを、0.1にして、全体を、暗くする
- Cubeの中にPointLightを作成し、InspectorのLightのColorで、色を選択する。
参考:https://www.unityprogram.info/entry/Fors-Unity-Object
スポットライト
Light/SpotLightから追加。 ただし重いのでスマホ(古いAndroid)では使わないほうがよい。
太陽の照り返し
地面の反射色が変わる
GameObject.Find("Directional Light").GetComponent<Light>().intensity = 0f;// 0f~1f
室内を明るく
- Unityメインメニュー/Window/Rendering/Lightingを選択
- "Environment Lighting"のSourceがSkyboxとなってるので、Colorに変更して、ambientSkyColor (ambientLight)の色を白に
参考:https://ymgsapo.com/2022/02/10/unity-room-light/
室内を明るく動的に
RenderSettings.ambientSkyColor = new Color(1f, 1f, f, 1f); // RGBA
intersityを0から1にした場合の値。(値は、シーンファイルのdiff差分で、確認できる)
RenderSettings.ambientSkyColor = new Color(1.414f, 1.414f, 1.414f, 1f);
画面遷移した先の画面が暗くなる問題
- Unityメインメニュー/Window/Rendering/LightingからGenerateLightingボタンを押して、
- Light設定ファイルを作る