Unity/Shader/skybox/色指定
提供: 初心者エンジニアの簡易メモ
- Shaderを"Custom_SkyboxSolidColor"のファイル名で作る。
- ファイル全体を、以下コードで、置き換える
- Materialを作り、ShaderをCustom/SkyboxSolidColorにする
- Materialを、Unityメインメニュー/Window/Rendering/Lighting/Enviroment/SkyboxMaterialに割り当てる。
Shader "Custom/SkyboxSolidColor" { Properties { _Color ("Color", Color) = (1, 1, 1, 0) } SubShader { Tags { "RenderType"="Background" "Queue"="Background" "PreviewType"="SkyBox" } LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; float3 _Color; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = v.uv; return o; } fixed4 frag (v2f i) : SV_Target { return float4(_Color, 1); } ENDCG } } }
参考:https://notargs.hateblo.jp/entry/solid_skybox
cs側から色を変更したい場合
SkyboxSolidColorScene.cs
using UnityEngine; public class SkyboxSolidColorScene : MonoBehaviour { [SerializeField] Material skyboxMaterial; void Start() { skyboxMaterial.SetColor("_Color", Color.blue); RenderSettings.skybox = skyboxMaterial; } }