「Unity/Shader/skybox/色指定」の版間の差分
提供: 初心者エンジニアの簡易メモ
(同じ利用者による、間の3版が非表示) | |||
行55: | 行55: | ||
} | } | ||
</pre> | </pre> | ||
− | === | + | 参考:https://notargs.hateblo.jp/entry/solid_skybox |
− | + | ===cs側から色を変更したい場合=== | |
SkyboxSolidColorScene.cs | SkyboxSolidColorScene.cs | ||
<pre> | <pre> | ||
行66: | 行66: | ||
void Start() | void Start() | ||
{ | { | ||
− | skyboxMaterial.SetColor("_Color", Color. | + | skyboxMaterial.SetColor("_Color", Color.blue); |
RenderSettings.skybox = skyboxMaterial; | RenderSettings.skybox = skyboxMaterial; | ||
} | } | ||
} | } | ||
</pre> | </pre> | ||
− | |||
− |
2022年12月7日 (水) 02:23時点における最新版
- 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; } }