「Unity/光」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→室内を明るく) |
(→画面遷移した先の画面が暗くなる問題) |
||
(同じ利用者による、間の12版が非表示) | |||
行13: | 行13: | ||
==物体を光らせる== | ==物体を光らせる== | ||
− | + | 物体に当てているMaterialで、Emissionをonにすれば良い。 | |
ただし重いのでスマホ(古いAndroid)では使わないほうがよい。 | ただし重いのでスマホ(古い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 | ||
==スポットライト== | ==スポットライト== | ||
行25: | 行43: | ||
==室内を明るく== | ==室内を明るく== | ||
#Unityメインメニュー/Window/Rendering/Lightingを選択 | #Unityメインメニュー/Window/Rendering/Lightingを選択 | ||
− | #"Environment Lighting" | + | #"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.ambientSkyColor = new Color(1f, 1f, f, 1f); // RGBA | ||
+ | |||
+ | intersityを0から1にした場合の値。(値は、シーンファイルのdiff差分で、確認できる) | ||
+ | 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で光をあてる方法
- プロジェクトに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);
画面遷移した先の画面が暗くなる問題
- (事前対応)一旦、MainCameraとDirectionalLightを、非アクティブにしておく。
- Unityメインメニュー/Window/Rendering/LightingからGenerateLightingボタンを押して、
- Light設定ファイルを作る