facebook twitter hatena line email

「Unity/光」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(室内を明るく)
(画面遷移した先の画面が暗くなる問題)
 
(同じ利用者による、間の5版が非表示)
行43: 行43:
 
==室内を明るく==
 
==室内を明るく==
 
#Unityメインメニュー/Window/Rendering/Lightingを選択
 
#Unityメインメニュー/Window/Rendering/Lightingを選択
#"Environment Lighting"のSourceがSkyboxとなってるので、Colorに変更して、ambientSkyColorの色を白に
+
#"Environment Lighting"のSourceがSkyboxとなってるので、Colorに変更して、ambientSkyColor (ambientLight)の色を白に
  
 
参考:https://ymgsapo.com/2022/02/10/unity-room-light/
 
参考:https://ymgsapo.com/2022/02/10/unity-room-light/
  
 
==室内を明るく動的に==
 
==室内を明るく動的に==
  RenderSettings.ambientLight = new Color(1f, 1f, f, 1f); // RGBA
+
  RenderSettings.ambientSkyColor = new Color(1f, 1f, f, 1f); // RGBA
  
intersityを0から1にした場合の値。(値は、シーンファイルのgit差分で、確認できる)
+
intersityを0から1にした場合の値。(値は、シーンファイルのdiff差分で、確認できる)
  RenderSettings.ambientLight = new Color(1.414f, 1.414f, 1.414f, 1f);
+
  RenderSettings.ambientSkyColor = new Color(1.414f, 1.414f, 1.414f, 1f);
 +
 
 +
==画面遷移した先の画面が暗くなる問題==
 +
#(事前対応)一旦、MainCameraとDirectionalLightを、非アクティブにしておく。
 +
#Unityメインメニュー/Window/Rendering/LightingからGenerateLightingボタンを押して、
 +
#Light設定ファイルを作る
 +
 
 +
参考:https://enia.hatenablog.com/entry/2021/03/28/085909
 +
 
 +
参考:https://mono-pro.net/archives/8921

2024年7月14日 (日) 07:29時点における最新版

2Dで光をあてる方法

  1. プロジェクトにmaterialを新規作成する
  2. materialのInspectorを開きshaderをSprites/Diffuseに変更する
  3. 光を当てたい画像オブジェクトのSpriteRendererのmaterialを作成したmaterialに変更する
  4. ヒエラルキーでPointLightを作成し、光を当てたいオブジェクトのx,y,zと同じ位置に移動する

画面遷移で画面が暗くなるのを修正

  1. Unityメニュー/Window/Readering/Ligthing
  2. Environmentタブを開き、GenerateLightingボタンを押す

参考: https://enia.hatenablog.com/entry/2021/03/28/085909#:~:text=%E9%96%8B%E3%81%84%E3%81%9F%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%A7%E3%80%81%E3%80%8CScene,%E7%94%BB%E9%9D%A2%E3%81%8C%E6%98%8E%E3%82%8B%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

物体を光らせる

物体に当てているMaterialで、Emissionをonにすれば良い。 ただし重いのでスマホ(古いAndroid)では使わないほうがよい。

Emissionで発光させる

  1. 床のPlaneや、発光させるオブジェクトのCubeを作成し、InspectorのStaticに、チェックを入れる
  2. Materialを作成し、InspectorのEmissionにチェック
  3. 発光させるオブジェクトのCubeのMaterialを上記のMaterialに変更する
  4. Unityメインメニュー/Window/Renderring/Lighting/"Generate Lighting"ボタンを押す(10分ぐらいかかるっぽい)
  5. Hierarchy/"Directional Light"のInspector内のLightのIntensityを、0.1にして、全体を、暗くする

参考:https://teratail.com/questions/264069

参考:http://corevale.com/unity/2694

PointLightで発光させる

  1. 床のPlaneや、発光させるオブジェクトのCubeを作成。
  2. Hierarchy/"Directional Light"のInspector内のLightのIntensityを、0.1にして、全体を、暗くする
  3. 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

室内を明るく

  1. Unityメインメニュー/Window/Rendering/Lightingを選択
  2. "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);

画面遷移した先の画面が暗くなる問題

  1. (事前対応)一旦、MainCameraとDirectionalLightを、非アクティブにしておく。
  2. Unityメインメニュー/Window/Rendering/LightingからGenerateLightingボタンを押して、
  3. Light設定ファイルを作る

参考:https://enia.hatenablog.com/entry/2021/03/28/085909

参考:https://mono-pro.net/archives/8921