gpt4 book ai didi

unity-game-engine - unity3d中如何让物体发光

转载 作者:行者123 更新时间:2023-12-02 21:40:34 29 4
gpt4 key购买 nike

嗨,我正在 3D 世界中生成大量球体来表示对象,当我使用黑色背景时,我希望球体周围有一点发光,我读到它可以使用着色器来完成,但是需要更多指导,例如如何制作着色器以及将其放置在哪里,任何帮助将不胜感激。

最佳答案

此链接中有一个视频:

https://www.youtube.com/watch?v=nZZ6MDY3JOk

它在对象周围创建一个边缘和发光效果。这是着色器,但您应该出于学习目的观看视频(并给予他们观看一次的积分):

Shader "Custom/GlowShader" 
{
Properties
{
_ColorTint("Color Tint", Color) = (1, 1, 1, 1)
_MainTex("Base (RGB)", 2D) = "white" {}
_BumpMap("Normal Map", 2D) = "bump" {}
_RimColor("Rim Color", Color) = (1, 1, 1, 1)
_RimPower("Rim Power", Range(1.0, 6.0)) = 3.0

}
SubShader {

Tags { "RenderType"="Opaque" }

CGPROGRAM
#pragma surface surf Lambert

struct Input {

float4 color : Color;
float2 uv_MainTex;
float2 uv_BumpMap;
float3 viewDir;

};

float4 _ColorTint;
sampler2D _MainTex;
sampler2D _BumpMap;
float4 _RimColor;
float _RimPower;

void surf (Input IN, inout SurfaceOutput o)
{


IN.color = _ColorTint;
o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb * IN.color;
o.Normal = UnpackNormal(tex2D(_BumpMap,IN.uv_BumpMap));

half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal));
o.Emission = _RimColor.rgb * pow(rim, _RimPower);


}
ENDCG
}
FallBack "Diffuse"
}

关于unity-game-engine - unity3d中如何让物体发光,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422692/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com