facebook twitter hatena line email

Unity/

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

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);