bian instance
parent
7041ad47a3
commit
c054a60cb4
|
|
@ -0,0 +1,93 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Gfx_obj_074_CC_Instance
|
||||
m_Shader: {fileID: 4800000, guid: 37cbd3ea696507a49adcc6ac78a96e42, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 1e6edb01d14d116408153df9ed97b514, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BaseMap2:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DissolveMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DistortionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 1e6edb01d14d116408153df9ed97b514, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MaskMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaClip: 0
|
||||
- _BaseColorScale: 1
|
||||
- _BlendDst: 10
|
||||
- _BlendProgress: 0.5
|
||||
- _BlendSrc: 5
|
||||
- _CullMode: 0
|
||||
- _CycleInterval: 1
|
||||
- _DissolveLength: 0.1
|
||||
- _DissolveProgress: 0
|
||||
- _DistortionMaxStrength: 0.1
|
||||
- _DistortionMoveX: 1
|
||||
- _DistortionMoveY: 1
|
||||
- _DistortionStrength: 0
|
||||
- _Duration: 1
|
||||
- _FadeInTime: 0.5
|
||||
- _FadeOutTime: 0.55
|
||||
- _InvFade: 1
|
||||
- _MaskMoveX: 1
|
||||
- _MaskMoveY: 1
|
||||
- _MaskStrength: 0.1
|
||||
- _PolarScale: 0
|
||||
- _StartTime: 0
|
||||
- _TimeOffsetRange: 0
|
||||
- _TimeScale: 1
|
||||
- _Toggle1: 0
|
||||
- _Toggle2: 0
|
||||
- _Toggle3: 0
|
||||
- _Toggle4: 0
|
||||
- _Toggle5: 0
|
||||
- _Toggle6: 0
|
||||
- _UVMove2X: 0
|
||||
- _UVMove2Y: 0
|
||||
- _UVMoveX: 0
|
||||
- _UVMoveY: 0
|
||||
- _ZTestMode: 4
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 2, g: 2, b: 2, a: 1}
|
||||
- _BaseColor2: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 0.6, g: 0.8039216, b: 0.9254902, a: 1}
|
||||
- _TintColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a7d7ac6c373cd8241863d0e3dec490d2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -15,7 +15,7 @@ Shader "FlashEffect"
|
|||
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Opaque" }
|
||||
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" }
|
||||
|
||||
Pass
|
||||
{
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Shader "Flipbook"
|
|||
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Opaque" }
|
||||
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Opaque" "Queue"="Geometry" }
|
||||
|
||||
Pass
|
||||
{
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ GameObject:
|
|||
- component: {fileID: 7836820455966116632}
|
||||
- component: {fileID: 8017106059653889432}
|
||||
m_Layer: 0
|
||||
m_Name: Quad
|
||||
m_Name: Gun_glow
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
|
@ -50,7 +50,7 @@ MeshRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 259840295999112379}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
|
|
@ -97,7 +97,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
autoSetOnEnable: 1
|
||||
useMaterialInstance: 0
|
||||
usePropertyBlock: 1
|
||||
includeChildren: 0
|
||||
--- !u!1 &475169996762385239
|
||||
GameObject:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!4 &6636192011913510588
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -4920,6 +4920,7 @@ Transform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6636192011913510588}
|
||||
- {fileID: 343780441075837655}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!198 &2866125410947838970
|
||||
|
|
@ -9719,3 +9720,102 @@ ParticleSystemRenderer:
|
|||
m_MeshWeighting2: 1
|
||||
m_MeshWeighting3: 1
|
||||
m_MaskInteraction: 0
|
||||
--- !u!1 &6182495793321323306
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 343780441075837655}
|
||||
- component: {fileID: 8063774226779057091}
|
||||
- component: {fileID: 3361126846636397534}
|
||||
- component: {fileID: 970371312842410621}
|
||||
m_Layer: 0
|
||||
m_Name: bian
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &343780441075837655
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6182495793321323306}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0.18646735, y: -0.68207765, z: 0.68207765, w: -0.18646735}
|
||||
m_LocalPosition: {x: 0.744, y: 0, z: -1.29}
|
||||
m_LocalScale: {x: 1.7677249, y: 0.39, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4228499984140644560}
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 210.58}
|
||||
--- !u!33 &8063774226779057091
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6182495793321323306}
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &3361126846636397534
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6182495793321323306}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a7d7ac6c373cd8241863d0e3dec490d2, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &970371312842410621
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6182495793321323306}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d9aca55876490b6449de8f38a029b7b1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
autoSetOnEnable: 1
|
||||
usePropertyBlock: 1
|
||||
includeChildren: 0
|
||||
|
|
|
|||
|
|
@ -1,14 +1,5 @@
|
|||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// Flipbook动画启动器
|
||||
/// 用于非循环的Flipbook动画,在对象激活时自动设置_StartTime,使动画从当前时间开始播放
|
||||
///
|
||||
/// 使用说明:
|
||||
/// 1. 推荐使用 MaterialPropertyBlock(默认)- 支持 GPU Instancing
|
||||
/// 2. 如果需要手动控制每个实例的开始时间,使用此脚本
|
||||
/// 3. 如果只需要循环播放,不需要此脚本,shader 会自动处理
|
||||
/// </summary>
|
||||
public class FlipbookAnimationStarter : MonoBehaviour
|
||||
{
|
||||
[Header("设置")]
|
||||
|
|
@ -27,13 +18,11 @@ public class FlipbookAnimationStarter : MonoBehaviour
|
|||
|
||||
private void Awake()
|
||||
{
|
||||
// 初始化 MaterialPropertyBlock(支持 GPU Instancing)
|
||||
if (usePropertyBlock)
|
||||
{
|
||||
_propertyBlock = new MaterialPropertyBlock();
|
||||
}
|
||||
|
||||
// 获取所有Renderer
|
||||
if (includeChildren)
|
||||
{
|
||||
_renderers = GetComponentsInChildren<Renderer>(true);
|
||||
|
|
@ -53,17 +42,11 @@ public class FlipbookAnimationStarter : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 手动设置动画开始时间
|
||||
/// </summary>
|
||||
public void SetStartTime()
|
||||
{
|
||||
SetStartTime(Time.time);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置指定的开始时间
|
||||
/// </summary>
|
||||
public void SetStartTime(float startTime)
|
||||
{
|
||||
foreach (var renderer in _renderers)
|
||||
|
|
@ -72,33 +55,22 @@ public class FlipbookAnimationStarter : MonoBehaviour
|
|||
|
||||
if (usePropertyBlock)
|
||||
{
|
||||
// 方式1: 使用MaterialPropertyBlock(推荐)
|
||||
// 优点:支持 GPU Instancing,不创建材质实例,性能最优
|
||||
renderer.GetPropertyBlock(_propertyBlock);
|
||||
_propertyBlock.SetFloat(StartTimePropertyID, startTime);
|
||||
renderer.SetPropertyBlock(_propertyBlock);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 方式2: 使用Material实例(会创建材质副本,破坏批处理)
|
||||
// 注意:renderer.material 会自动创建材质实例
|
||||
// 仅在需要永久修改材质时使用
|
||||
renderer.material.SetFloat(StartTimePropertyID, startTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重置动画到第一帧
|
||||
/// </summary>
|
||||
public void ResetAnimation()
|
||||
{
|
||||
SetStartTime(0f);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从当前时间重新播放动画
|
||||
/// </summary>
|
||||
public void RestartAnimation()
|
||||
{
|
||||
SetStartTime(Time.time);
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 06f547544e6c927abf39bc3ecdc5933f41c17f5d
|
||||
Subproject commit c1018435b0850b1ab9201e567986a9758eb6dd8c
|
||||
Loading…
Reference in New Issue