[功能]==========聊天称号特效显示修改

dev_chengFeng
wangzhenxing 2021-04-23 14:46:37 +08:00
parent 5421e451c7
commit 898edb53be
8 changed files with 286 additions and 15 deletions

View File

@ -164,7 +164,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1080, y: -0}
m_AnchoredPosition: {x: 1080, y: 0}
m_SizeDelta: {x: 1080, y: 215}
m_Pivot: {x: 1, y: 1}
--- !u!114 &783211510
@ -585,7 +585,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 224.9}
m_AnchoredPosition: {x: 0, y: 224.90002}
m_SizeDelta: {x: 0, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1152553275000364
@ -1446,6 +1446,7 @@ GameObject:
m_Component:
- component: {fileID: 224271114099894520}
- component: {fileID: 8449202748859087022}
- component: {fileID: 1812150397639951299}
m_Layer: 5
m_Name: scrollroot
m_TagString: Untagged
@ -1469,7 +1470,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 49.000004}
m_AnchoredPosition: {x: 0, y: 49}
m_SizeDelta: {x: 0, y: -448}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8449202748859087022
@ -1480,6 +1481,35 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1485275995992940}
m_CullTransparentMesh: 0
--- !u!114 &1812150397639951299
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1485275995992940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 42263669b8cc5c04a96720be44775913, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &1520403616029858
GameObject:
m_ObjectHideFlags: 0
@ -2415,7 +2445,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 128.6, y: 14.7}
m_AnchoredPosition: {x: 128.6, y: 14.699997}
m_SizeDelta: {x: 223.26, y: 39.6}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &222527929292292998
@ -2855,7 +2885,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 52.8, y: 47.4}
m_AnchoredPosition: {x: 52.799988, y: 47.4}
m_SizeDelta: {x: 484, y: 168}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1887129452481632
@ -3494,7 +3524,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 72.7, y: 67.3}
m_AnchoredPosition: {x: 72.70001, y: 67.3}
m_SizeDelta: {x: 160, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1632392085042332552
@ -4011,7 +4041,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -131.3, y: 46.8}
m_AnchoredPosition: {x: -131.3, y: 46.800003}
m_SizeDelta: {x: 140, y: 140}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1632214039416655466
@ -5168,7 +5198,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 76.3, y: 70.8}
m_AnchoredPosition: {x: 76.29999, y: 70.8}
m_SizeDelta: {x: 250, y: 55}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1631911785689605388
@ -5242,7 +5272,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 37, y: -173.70001}
m_AnchoredPosition: {x: 37, y: -173.7002}
m_SizeDelta: {x: 1080, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1632348028829577372

View File

@ -0,0 +1,133 @@
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "CGwell FX/Additive Lv1_1"
{
Properties
{
_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
_MainTex ("Particle Texture (A = Transparency)", 2D) = "white" {}
_InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
}
Category {
Tags
{
"Queue" = "Transparent+300"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
}
Blend SrcAlpha One
AlphaTest Greater .01
ColorMask RGB
Cull Off
Lighting Off
ZWrite Off
Fog { Color (0,0,0,0) }
BindChannels
{
Bind "Color", color
Bind "Vertex", vertex
Bind "TexCoord", texcoord
}
// ---- Fragment program cards
SubShader
{
Stencil{
Ref 1
Comp equal
}
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#pragma multi_compile_particles
#include "UnityCG.cginc"
sampler2D _MainTex;
fixed4 _TintColor;
struct appdata_t
{
float4 vertex : POSITION;
fixed4 color : COLOR;
float2 texcoord : TEXCOORD0;
};
struct v2f
{
float4 vertex : POSITION;
fixed4 color : COLOR;
float2 texcoord : TEXCOORD0;
#ifdef SOFTPARTICLES_ON
float4 projPos : TEXCOORD1;
#endif
};
float4 _MainTex_ST;
v2f vert (appdata_t v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
#ifdef SOFTPARTICLES_ON
o.projPos = ComputeScreenPos (o.vertex);
COMPUTE_EYEDEPTH(o.projPos.z);
#endif
o.color = v.color;
o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex);
return o;
}
sampler2D _CameraDepthTexture;
float _InvFade;
fixed4 frag (v2f i) : COLOR
{
#ifdef SOFTPARTICLES_ON
float sceneZ = LinearEyeDepth (UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos))));
float partZ = i.projPos.z;
float fade = saturate (_InvFade * (sceneZ - partZ));
i.color.a *= fade;
#endif
return 2.0f * i.color * _TintColor * tex2D(_MainTex, i.texcoord);
}
ENDCG
}
}
// ---- Dual texture cards
SubShader
{
Pass
{
SetTexture [_MainTex]
{
constantColor [_TintColor]
combine constant * primary
}
SetTexture [_MainTex]
{
combine texture * previous DOUBLE
}
}
}
// ---- Single texture cards (does not do color tint)
SubShader
{
Pass
{
SetTexture [_MainTex]
{
combine texture * primary
}
}
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 8b8b2e19260ad614e9bac0ab7bf1e43c
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,80 @@
// Shader created with Shader Forge v1.38
// Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
// Note: Manually altering this data may prevent you from opening it in Shader Forge
/*SF_DATA;ver:1.38;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,lico:1,lgpr:1,limd:0,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:False,rmgx:True,imps:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:2,bsrc:0,bdst:0,dpts:2,wrdp:False,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:False,aust:True,igpj:True,qofs:0,qpre:3,rntp:2,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.0627451,fgcg:0.1647059,fgcb:0.2352941,fgca:1,fgde:0.01,fgrn:0,fgrf:300,stcl:False,atwp:False,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:True,fnfb:True,fsmp:False;n:type:ShaderForge.SFN_Final,id:3138,x:33458,y:33077,varname:node_3138,prsc:2|emission-5616-OUT;n:type:ShaderForge.SFN_Tex2d,id:7761,x:32639,y:33073,ptovrint:False,ptlb:Tex,ptin:_Tex,varname:node_7761,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-5782-OUT;n:type:ShaderForge.SFN_TexCoord,id:8590,x:32080,y:33084,varname:node_8590,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_ValueProperty,id:6801,x:31898,y:32950,ptovrint:False,ptlb:U,ptin:_U,varname:node_6801,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.2;n:type:ShaderForge.SFN_Time,id:2158,x:31898,y:33063,varname:node_2158,prsc:2;n:type:ShaderForge.SFN_Add,id:631,x:32304,y:33000,varname:node_631,prsc:2|A-8339-OUT,B-8590-U;n:type:ShaderForge.SFN_Multiply,id:8339,x:32087,y:32950,varname:node_8339,prsc:2|A-6801-OUT,B-2158-T;n:type:ShaderForge.SFN_ValueProperty,id:833,x:31898,y:33250,ptovrint:False,ptlb:V,ptin:_V,varname:node_833,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.7;n:type:ShaderForge.SFN_Multiply,id:213,x:32080,y:33231,varname:node_213,prsc:2|A-2158-T,B-833-OUT;n:type:ShaderForge.SFN_Add,id:9854,x:32304,y:33165,varname:node_9854,prsc:2|A-8590-V,B-213-OUT;n:type:ShaderForge.SFN_Append,id:5782,x:32469,y:33073,varname:node_5782,prsc:2|A-631-OUT,B-9854-OUT;n:type:ShaderForge.SFN_Color,id:6164,x:32639,y:33280,ptovrint:False,ptlb:Color_wai,ptin:_Color_wai,varname:node_6164,prsc:2,glob:False,taghide:False,taghdr:True,tagprd:False,tagnsco:False,tagnrm:False,c1:1,c2:1,c3:1,c4:1;n:type:ShaderForge.SFN_Multiply,id:3566,x:32919,y:33194,varname:node_3566,prsc:2|A-7761-RGB,B-6164-RGB;n:type:ShaderForge.SFN_VertexColor,id:1235,x:32639,y:32908,varname:node_1235,prsc:2;n:type:ShaderForge.SFN_Multiply,id:5616,x:33191,y:33121,varname:node_5616,prsc:2|A-1235-RGB,B-3566-OUT,C-7111-OUT;n:type:ShaderForge.SFN_Multiply,id:9790,x:32919,y:33066,varname:node_9790,prsc:2|A-1235-A,B-7761-A;n:type:ShaderForge.SFN_Tex2d,id:7480,x:32919,y:33360,ptovrint:False,ptlb:Mask,ptin:_Mask,varname:node_7480,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Multiply,id:7111,x:33158,y:33338,varname:node_7111,prsc:2|A-9790-OUT,B-7480-A,C-7761-R;proporder:7761-6164-6801-833-7480;pass:END;sub:END;*/
Shader "Custom/S_03_UV_alpha_add_1" {
Properties {
_Tex ("Tex", 2D) = "white" {}
[HDR]_Color_wai ("Color_wai", Color) = (1,1,1,1)
_U ("U", Float ) = 0.2
_V ("V", Float ) = 0.7
_Mask ("Mask", 2D) = "white" {}
}
SubShader {
Stencil{
Ref 1
Comp equal
}
Tags {
"IgnoreProjector"="True"
"Queue"="Transparent"
"RenderType"="Transparent"
}
Pass {
Name "FORWARD"
Tags {
"LightMode"="ForwardBase"
}
Blend One One
Cull Off
ZWrite Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
//#define UNITY_PASS_FORWARDBASE
#include "UnityCG.cginc"
#pragma multi_compile_fwdbase
#pragma only_renderers d3d9 d3d11 glcore gles gles3 metal d3d11_9x
#pragma target 3.0
uniform sampler2D _Tex; uniform float4 _Tex_ST;
uniform float _U;
uniform float _V;
uniform float4 _Color_wai;
uniform sampler2D _Mask; uniform float4 _Mask_ST;
struct VertexInput {
float4 vertex : POSITION;
float2 texcoord0 : TEXCOORD0;
float4 vertexColor : COLOR;
};
struct VertexOutput {
float4 pos : SV_POSITION;
float2 uv0 : TEXCOORD0;
float4 vertexColor : COLOR;
};
VertexOutput vert (VertexInput v) {
VertexOutput o = (VertexOutput)0;
o.uv0 = v.texcoord0;
o.vertexColor = v.vertexColor;
o.pos = UnityObjectToClipPos( v.vertex );
return o;
}
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
float isFrontFace = ( facing >= 0 ? 1 : 0 );
float faceSign = ( facing >= 0 ? 1 : -1 );
////// Lighting:
////// Emissive:
float4 node_2158 = _Time;
float2 node_5782 = float2(((_U*node_2158.g)+i.uv0.r),(i.uv0.g+(node_2158.g*_V)));
float4 _Tex_var = tex2D(_Tex,TRANSFORM_TEX(node_5782, _Tex));
float4 _Mask_var = tex2D(_Mask,TRANSFORM_TEX(i.uv0, _Mask));
float3 emissive = (i.vertexColor.rgb*(_Tex_var.rgb*_Color_wai.rgb)*((i.vertexColor.a*_Tex_var.a)*_Mask_var.a*_Tex_var.r));
float3 finalColor = emissive;
return fixed4(finalColor,1);
}
ENDCG
}
}
CustomEditor "ShaderForgeMaterialInspector"
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 4bb8e7d80962b9547ad00d7ec8809496
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -245,6 +245,16 @@ function this.RefreshShow(isForceBottom)
else
this.ChatItemAdapter(go, data, isShowTime)
end
local particles=this.scrollRoot:GetComponentsInChildren(typeof(UnityEngine.ParticleSystem))
for key, value in pairs(particles:ToTable()) do
local mat=value:GetComponent(typeof(UnityEngine.Renderer))
mat.material.shader=Shader.Find("CGwell FX/Additive Lv1_1")
end
local meshs=this.scrollRoot:GetComponentsInChildren(typeof(UnityEngine.MeshRenderer))
for key, value in pairs(meshs:ToTable()) do
value.material.shader=Shader.Find("Custom/S_03_UV_alpha_add_1")
end
end, _GoToIndex)
-- 好友数据置顶
@ -335,7 +345,7 @@ function this.FriendItemAdapter(node, data)
titleLive.transform.localScale = Vector3.New(0.4,0.4,0.4)
local sortingorder=0
if this.sortingOrder then
-- Util.AddParticleSortLayer(titleLive,this.sortingOrder - sortingorder)
Util.SetParticleSortLayer(titleLive,this.sortingOrder)
-- sortingorder = this.sortingOrder
end
titleStrList[node]=titleLiveStr
@ -523,7 +533,7 @@ function this.ChatItemAdapter(node, data, isShowTime)
titleLive.transform.localScale = Vector3.New(0.4,0.4,0.4)
local sortingorder=0
if this.sortingOrder then
-- Util.AddParticleSortLayer(titleLive,this.sortingOrder - sortingorder)
Util.SetParticleSortLayer(titleLive,this.sortingOrder)
-- sortingorder = this.sortingOrder
end
titleStrList[node]=titleLiveStr

View File

@ -137,7 +137,7 @@ function this.SingleRideClickShowInfo(data,go)
curItemConfig = ConfigManager.GetConfigData(ConfigName.ItemConfig,curPlayerHeadIconConfig.ItemId)
local rideData = PlayerManager.userMountList[curPlayerHeadIconConfig.Id]
this.name.text = GetLanguageStrById(curItemConfig.Name)
this.getInfo.text = GetLanguageStrById(curItemConfig.ItemDescribe)
this.getInfo.text = GetLanguageStrById(curPlayerHeadIconConfig.ItemDescribe)
this.scrollViewPro:SetData(curPlayerHeadIconConfig.UnlockProperty,function(index,root)
local propertyConfig = ConfigManager.GetConfigData(ConfigName.PropertyConfig, curPlayerHeadIconConfig.UnlockProperty[index][1])
Util.GetGameObject(root, "proValue"):GetComponent("Text").text = GetLanguageStrById(propertyConfig.Info).." ".. GetPropertyFormatStr(propertyConfig.Style, curPlayerHeadIconConfig.UnlockProperty[index][2])
@ -175,7 +175,7 @@ function this.SingleRideClickShowInfo(data,go)
Util.AddOnceClick(this.goToBtn, function()
if not isGet and not isUser then
PopupTipPanel.ShowTip( curItemConfig.ItemDescribe)
PopupTipPanel.ShowTip(curPlayerHeadIconConfig.ItemDescribe)
elseif isGet and not isUser then
NetManager.RequestChangeModifyDecoration(3,curPlayerHeadIconConfig.Id,function(msg)
PlayerManager.SetPlayerRide(curPlayerHeadIconConfig.Id)

View File

@ -173,7 +173,7 @@ function this.SingleRideClickShowInfo(data,go)
local isGet,isUser = PlayerManager.userTitleList[curPlayerHeadIconConfig.Id],curUserRideId == curPlayerHeadIconConfig.Id
curItemConfig = ConfigManager.GetConfigData(ConfigName.ItemConfig,curPlayerHeadIconConfig.ItemId)
local rideData = PlayerManager.userTitleList[curPlayerHeadIconConfig.Id]
this.getInfo.text = curItemConfig.ItemDescribe
this.getInfo.text = curPlayerHeadIconConfig.ItemDescribe
this.scrollViewPro:SetData(curPlayerHeadIconConfig.UnlockProperty,function(index,root)
local propertyConfig = ConfigManager.GetConfigData(ConfigName.PropertyConfig, curPlayerHeadIconConfig.UnlockProperty[index][1])
Util.GetGameObject(root, "proValue"):GetComponent("Text").text = GetLanguageStrById(propertyConfig.Info).." ".. GetPropertyFormatStr(propertyConfig.Style, curPlayerHeadIconConfig.UnlockProperty[index][2])
@ -237,7 +237,7 @@ function this.SingleRideClickShowInfo(data,go)
Util.AddOnceClick(this.goToBtn, function()
if not isGet and not isUser then
PopupTipPanel.ShowTip( curItemConfig.ItemDescribe)
PopupTipPanel.ShowTip( curPlayerHeadIconConfig.ItemDescribe)
elseif isGet and not isUser then
NetManager.RequestChangeModifyDecoration(2,curPlayerHeadIconConfig.Id,function(msg)
PlayerManager.SetPlayerDesignation(curPlayerHeadIconConfig.Id)