Add NegrBagrJaromirJagr minigame

This commit is contained in:
gravitrax-bublina
2026-04-26 14:35:54 +02:00
parent 5606c2474e
commit 3ac90ed7b6
62 changed files with 6102 additions and 454 deletions

Binary file not shown.

Binary file not shown.

BIN
Assets/202604261352.mp4 Normal file

Binary file not shown.

View File

@@ -0,0 +1,316 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 2
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b592865877cb54284a5d1d88aec9cfbb, type: 3}
m_Name: Simulator Provider Settings
m_EditorClassIdentifier:
m_Logging: 1
m_AutomaticPerformanceModeEnabled: 1
m_AutomaticGameModeEnabled: 0
m_EnableBoostOnStartup: 1
m_StatsLoggingFrequencyInFrames: 50
m_IndexerSettings:
m_Active: 1
m_ThermalActionDelay: 10
m_PerformanceActionDelay: 4
m_ScalerSettings:
m_AdaptiveFramerate:
m_Name: Adaptive Framerate
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 7
m_MaxLevel: 45
m_MinBound: 15
m_MaxBound: 60
m_AdaptiveResolution:
m_Name: Adaptive Resolution
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 6
m_MaxLevel: 9
m_MinBound: 0.5
m_MaxBound: 1
m_AdaptiveBatching:
m_Name: Adaptive Batching
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveLOD:
m_Name: Adaptive LOD
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.4
m_MaxBound: 1
m_AdaptiveLut:
m_Name: Adaptive Lut
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 3
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveMSAA:
m_Name: Adaptive MSAA
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 6
m_MaxLevel: 2
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveShadowCascade:
m_Name: Adaptive Shadow Cascade
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 3
m_MaxLevel: 2
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveShadowDistance:
m_Name: Adaptive Shadow Distance
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.15
m_MaxBound: 1
m_AdaptiveShadowmapResolution:
m_Name: Adaptive Shadowmap Resolution
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.15
m_MaxBound: 1
m_AdaptiveShadowQuality:
m_Name: Adaptive Shadow Quality
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 3
m_MaxLevel: 3
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveSorting:
m_Name: Adaptive Sorting
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveTransparency:
m_Name: Adaptive Transparency
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveViewDistance:
m_Name: Adaptive View Distance
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 40
m_MinBound: 50
m_MaxBound: 1000
m_AdaptivePhysics:
m_Name: Adaptive Physics
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 1
m_MaxLevel: 5
m_MinBound: 0.5
m_MaxBound: 1
m_AdaptiveDecals:
m_Name: Adaptive Decals
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 2
m_MaxLevel: 20
m_MinBound: 0.01
m_MaxBound: 1
m_AdaptiveLayerCulling:
m_Name: Adaptive Layer Culling
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 40
m_MinBound: 0.01
m_MaxBound: 1
m_scalerProfileList:
- m_AdaptiveFramerate:
m_Name: Adaptive Framerate
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 7
m_MaxLevel: 45
m_MinBound: 15
m_MaxBound: 60
m_AdaptiveResolution:
m_Name: Adaptive Resolution
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 6
m_MaxLevel: 9
m_MinBound: 0.5
m_MaxBound: 1
m_AdaptiveBatching:
m_Name: Adaptive Batching
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveLOD:
m_Name: Adaptive LOD
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.4
m_MaxBound: 1
m_AdaptiveLut:
m_Name: Adaptive Lut
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 3
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveMSAA:
m_Name: Adaptive MSAA
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 6
m_MaxLevel: 2
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveShadowCascade:
m_Name: Adaptive Shadow Cascade
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 3
m_MaxLevel: 2
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveShadowDistance:
m_Name: Adaptive Shadow Distance
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.15
m_MaxBound: 1
m_AdaptiveShadowmapResolution:
m_Name: Adaptive Shadowmap Resolution
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 2
m_MaxLevel: 3
m_MinBound: 0.15
m_MaxBound: 1
m_AdaptiveShadowQuality:
m_Name: Adaptive Shadow Quality
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 3
m_MaxLevel: 3
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveSorting:
m_Name: Adaptive Sorting
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveTransparency:
m_Name: Adaptive Transparency
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 1
m_MinBound: 0
m_MaxBound: 1
m_AdaptiveViewDistance:
m_Name: Adaptive View Distance
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 2
m_Target: 2
m_MaxLevel: 40
m_MinBound: 50
m_MaxBound: 1000
m_AdaptivePhysics:
m_Name: Adaptive Physics
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 0
m_Target: 1
m_MaxLevel: 5
m_MinBound: 0.5
m_MaxBound: 1
m_AdaptiveDecals:
m_Name: Adaptive Decals
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 2
m_MaxLevel: 20
m_MinBound: 0.01
m_MaxBound: 1
m_AdaptiveLayerCulling:
m_Name: Adaptive Layer Culling
m_Enabled: 0
m_Scale: 1
m_VisualImpact: 1
m_Target: 1
m_MaxLevel: 40
m_MinBound: 0.01
m_MaxBound: 1
m_Name: Default Scaler Profile
m_DefaultScalerProfilerIndex: 0
k_AssetVersion: 2

View File

@@ -0,0 +1,18 @@
using UnityEngine;
public class CenterButtonTarget : MonoBehaviour
{
public TimingWheelShooter owner;
private void Awake()
{
if (owner == null)
owner = FindFirstObjectByType<TimingWheelShooter>();
}
public void NotifyHit(ProjectileBehaviour projectile)
{
if (owner != null)
owner.NotifyButtonHit(projectile);
}
}

View File

@@ -0,0 +1,42 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0863bf92b4fcc45b0b9267325249bf0f, type: 3}
m_Name: NotificationSettings
m_EditorClassIdentifier:
toolbarInt: 0
iOSNotificationEditorSettingsValues:
keys:
- UnityNotificationRequestAuthorizationOnAppLaunch
- UnityNotificationDefaultAuthorizationOptions
- UnityAddRemoteNotificationCapability
- UnityNotificationRequestAuthorizationForRemoteNotificationsOnAppLaunch
- UnityRemoteNotificationForegroundPresentationOptions
- UnityUseAPSReleaseEnvironment
- UnityUseLocationNotificationTrigger
values:
- True
- 7
- False
- False
- -1
- False
- False
AndroidNotificationEditorSettingsValues:
keys:
- UnityNotificationAndroidRescheduleOnDeviceRestart
- UnityNotificationAndroidUseCustomActivity
- UnityNotificationAndroidCustomActivityString
values:
- False
- False
- com.unity3d.player.UnityPlayerActivity
TrackedResourceAssets: []

113
Assets/GlassPiece.cs Normal file
View File

@@ -0,0 +1,113 @@
using UnityEngine;
public class GlassPiece : MonoBehaviour
{
public int PieceIndex { get; private set; }
public bool IsBroken { get; private set; }
[SerializeField] private float maxHealth = 1000f;
[Header("Damage Visuals")]
[SerializeField] private float damagedAlpha = 0.85f;
private float currentHealth;
private Rigidbody rb;
private Renderer rend;
private Vector3 originalScale;
private Color intactColor = Color.white;
private void Awake()
{
rb = GetComponent<Rigidbody>();
rend = GetComponent<Renderer>();
if (rend == null)
rend = GetComponentInChildren<Renderer>();
originalScale = transform.localScale;
if (rend != null)
{
if (rend.material.HasProperty("_BaseColor"))
intactColor = rend.material.GetColor("_BaseColor");
else if (rend.material.HasProperty("_Color"))
intactColor = rend.material.color;
}
}
public void Initialize(int index, float startHealth)
{
PieceIndex = index;
maxHealth = startHealth;
currentHealth = startHealth;
IsBroken = false;
if (rb != null)
{
rb.isKinematic = true;
rb.useGravity = false;
rb.linearVelocity = Vector3.zero;
rb.angularVelocity = Vector3.zero;
}
transform.localScale = originalScale;
UpdateVisual();
}
public bool ApplyDamage(float damage, Vector3 hitPoint, Vector3 impulseDirection, float impulseStrength)
{
if (IsBroken) return false;
currentHealth = Mathf.Max(0f, currentHealth - damage);
UpdateVisual();
if (currentHealth <= 0f)
{
Break(hitPoint, impulseDirection, impulseStrength);
return true;
}
return false;
}
private void UpdateVisual()
{
if (rend == null) return;
float damage01 = 1f - (currentHealth / maxHealth);
float visualT = Mathf.Pow(damage01, 0.8f);
Color targetColor = new Color(1f, 1f, 1f, damagedAlpha);
Color finalColor = Color.Lerp(intactColor, targetColor, visualT);
if (rend.material.HasProperty("_BaseColor"))
rend.material.SetColor("_BaseColor", finalColor);
else if (rend.material.HasProperty("_Color"))
rend.material.color = finalColor;
float shrink = Mathf.Lerp(1f, 0.92f, visualT * 0.25f);
transform.localScale = originalScale * shrink;
}
private void Break(Vector3 hitPoint, Vector3 impulseDirection, float impulseStrength)
{
if (IsBroken) return;
IsBroken = true;
transform.SetParent(null, true);
if (rb != null)
{
rb.isKinematic = false;
rb.useGravity = true;
rb.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
if (impulseDirection.sqrMagnitude < 0.0001f)
impulseDirection = transform.forward;
rb.AddForceAtPosition(impulseDirection.normalized * impulseStrength, hitPoint, ForceMode.Impulse);
}
}
}

View File

@@ -0,0 +1,194 @@
using System.Collections.Generic;
using UnityEngine;
public class GlassRingController : MonoBehaviour
{
[Header("Auto Setup")]
public bool autoCollectOnAwake = true;
public bool includeInactive = true;
public float pieceMaxHealth = 100f;
[Header("Rotation")]
public float rotationSpeedDegrees = 45f;
[Header("Audio")]
public AudioSource audioSource;
public AudioClip damageClip;
public AudioClip breakClip;
[Range(0f, 1f)] public float damageVolume = 0.7f;
[Range(0f, 1f)] public float breakVolume = 1f;
private GlassPiece[] pieces;
public GlassPiece[] Pieces => pieces;
private void Awake()
{
if (audioSource == null)
audioSource = GetComponent<AudioSource>();
if (audioSource == null)
audioSource = gameObject.AddComponent<AudioSource>();
if (Application.isPlaying && autoCollectOnAwake)
{
CollectPiecesFromChildren();
}
}
private void Update()
{
if (!Application.isPlaying || Mathf.Abs(rotationSpeedDegrees) < 0.001f)
return;
transform.Rotate(Vector3.right, rotationSpeedDegrees * Time.deltaTime, Space.World);
}
[ContextMenu("Collect Pieces From Children")]
public void CollectPiecesFromChildren()
{
List<GlassPiece> foundPieces = new List<GlassPiece>();
Transform[] allChildren = GetComponentsInChildren<Transform>(includeInactive);
foreach (Transform t in allChildren)
{
if (t == transform) continue;
Renderer rend = t.GetComponent<Renderer>();
if (rend == null)
rend = t.GetComponentInChildren<Renderer>();
if (rend == null)
continue;
Collider col = t.GetComponent<Collider>();
bool invalidMeshCollider = false;
MeshCollider existingMeshCollider = col as MeshCollider;
if (existingMeshCollider != null && existingMeshCollider.sharedMesh == null)
{
invalidMeshCollider = true;
}
if (col == null || invalidMeshCollider)
{
if (invalidMeshCollider)
Destroy(existingMeshCollider);
BoxCollider box = t.GetComponent<BoxCollider>();
if (box == null)
box = t.gameObject.AddComponent<BoxCollider>();
Bounds worldBounds = rend.bounds;
Vector3 localCenter = t.InverseTransformPoint(worldBounds.center);
box.center = localCenter;
Vector3 lossy = t.lossyScale;
box.size = new Vector3(
worldBounds.size.x / Mathf.Max(lossy.x, 0.0001f),
worldBounds.size.y / Mathf.Max(lossy.y, 0.0001f),
worldBounds.size.z / Mathf.Max(lossy.z, 0.0001f)
);
col = box;
}
GlassPiece piece = t.GetComponent<GlassPiece>();
if (piece == null)
piece = t.gameObject.AddComponent<GlassPiece>();
Rigidbody rb = t.GetComponent<Rigidbody>();
if (rb == null)
rb = t.gameObject.AddComponent<Rigidbody>();
rb.isKinematic = true;
rb.useGravity = false;
foundPieces.Add(piece);
}
foundPieces.Sort((a, b) =>
{
float angleA = Mathf.Atan2(a.transform.localPosition.z, a.transform.localPosition.x);
float angleB = Mathf.Atan2(b.transform.localPosition.z, b.transform.localPosition.x);
return angleA.CompareTo(angleB);
});
pieces = foundPieces.ToArray();
for (int i = 0; i < pieces.Length; i++)
{
pieces[i].Initialize(i, pieceMaxHealth);
}
Debug.Log($"GlassRingController: collected {pieces.Length} pieces.");
}
public void ApplyProjectileImpact(int hitIndex, ProjectileBehaviour projectile, float charge01, Vector3 hitPoint)
{
if (pieces == null || pieces.Length == 0) return;
float sigma = Mathf.Max(0.01f, projectile.sigma);
float chargeMultiplier = 0.55f + 1.45f * Mathf.Pow(charge01, 1.4f);
bool anyHealthChanged = false;
bool anyNewBreak = false;
for (int i = 0; i < pieces.Length; i++)
{
GlassPiece piece = pieces[i];
if (piece == null || piece.IsBroken) continue;
int d = CircularDistance(i, hitIndex, pieces.Length);
float gaussian = Mathf.Exp(-(d * d) / (2f * sigma * sigma));
if (gaussian < 0.005f) continue;
float damage = projectile.baseDamage * chargeMultiplier * gaussian;
if (i == hitIndex)
damage *= projectile.directHitMultiplier;
Vector3 impulseDir = piece.transform.position - hitPoint;
if (impulseDir.sqrMagnitude < 0.0001f)
impulseDir = piece.transform.position - transform.position;
float impulse = projectile.breakImpulse * chargeMultiplier * gaussian;
if (i == hitIndex)
impulse *= projectile.directHitMultiplier;
bool brokeNow = piece.ApplyDamage(damage, hitPoint, impulseDir, impulse);
anyHealthChanged = true;
if (brokeNow)
anyNewBreak = true;
}
if (anyNewBreak)
{
PlayBreakSound();
}
else if (anyHealthChanged)
{
PlayDamageSound();
}
}
private void PlayDamageSound()
{
if (audioSource != null && damageClip != null)
audioSource.PlayOneShot(damageClip, damageVolume);
}
private void PlayBreakSound()
{
if (audioSource != null && breakClip != null)
audioSource.PlayOneShot(breakClip, breakVolume);
}
private int CircularDistance(int a, int b, int count)
{
int raw = Mathf.Abs(a - b);
return Mathf.Min(raw, count - raw);
}
}

136
Assets/Materials/image.mat Normal file
View File

@@ -0,0 +1,136 @@
%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: image
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 0, b: 0, a: 1}
- _Color: {r: 1, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &5990837927860787962
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

136
Assets/New Material 1.mat Normal file
View File

@@ -0,0 +1,136 @@
%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: New Material 1
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.6132076, g: 0.5434391, b: 0.09545213, a: 1}
- _Color: {r: 0.6132076, g: 0.5434391, b: 0.09545211, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &2401208113566989924
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

136
Assets/New Material 2.mat Normal file
View File

@@ -0,0 +1,136 @@
%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: New Material 2
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.735849, g: 0.38103268, b: 0.024296915, a: 1}
- _Color: {r: 0.735849, g: 0.38103265, b: 0.024296915, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &6922828213143962760
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9

140
Assets/New Material.mat Normal file
View File

@@ -0,0 +1,140 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6007574088895929503
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Material
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- MOTIONVECTORS
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 1
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 1
- _WorkflowMode: 1
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 0, g: 0.47450677, b: 0.9245283, a: 1}
- _Color: {r: 0, g: 0.47450668, b: 0.9245283, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -12,23 +12,29 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fcf7219bab7fe46a1ad266029b2fee19, type: 3}
m_Name: Readme
m_EditorClassIdentifier:
icon: {fileID: 2800000, guid: 727a75301c3d24613a3ebcec4a24c2c8, type: 3}
title: URP Empty Template
icon: {fileID: 2800000, guid: cbea0258d69fdef4ba73fa582f0e2004, type: 3}
title: Universal Mobile 3D Template
sections:
- heading: Welcome to the Universal Render Pipeline
text: This template includes the settings and assets you need to start creating with the Universal Render Pipeline.
- heading: Welcome to the Universal Mobile 3D Template
text: This template sets up the right Project settings for developing a 3D game
on mobile. Also it includes some of the recommended packages for developing
on mobile.
linkText:
url:
- heading: URP Documentation
text:
linkText: Read more about URP
url: https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@latest
- heading: Forums
text:
url:
- heading: Forums iOS
text:
linkText: Get answers and support
url: https://forum.unity.com/forums/universal-render-pipeline.383/
- heading: Report bugs
text:
linkText: Submit a report
url: https://discussions.unity.com/tag/iOS
- heading: Forums Android
text:
linkText: Get answers and support
url: https://discussions.unity.com/tag/Android
- heading: Bugs
text:
linkText: Report any bugs
url: https://unity3d.com/unity/qa/bug-reporting
- heading: Template feedback
text:
linkText: Share your feedback on this template with us
url: https://unitysoftware.co1.qualtrics.com/jfe/form/SV_b8GWOIYxi4l6PDE?templatename=mobile3d
loadedLayout: 1

View File

@@ -0,0 +1,7 @@
using UnityEngine;
// Old placeholder file kept only so the project compiles cleanly.
// Actual gameplay now lives in TimingWheelShooter.
public class RingShooterMinigameController : MonoBehaviour
{
}

11
Assets/RotateDiamond.cs Normal file
View File

@@ -0,0 +1,11 @@
using UnityEngine;
public class RotateDiamond : MonoBehaviour
{
public float rotationSpeed = 90f;
void Update()
{
transform.Rotate(Vector3.forward, rotationSpeed * Time.deltaTime, Space.Self);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -342,6 +342,9 @@ MonoBehaviour:
skyOcclusionIntensityMultiplier:
m_OverrideState: 1
m_Value: 1
worldOffset:
m_OverrideState: 1
m_Value: {x: 0, y: 0, z: 0}
--- !u!114 &-1216621516061285780
MonoBehaviour:
m_ObjectHideFlags: 3
@@ -462,8 +465,6 @@ MonoBehaviour:
- {fileID: -6288072647309666549}
- {fileID: 7518938298396184218}
- {fileID: -1410297666881709256}
- {fileID: -7750755424749557576}
- {fileID: -5139089513906902183}
--- !u!114 &853819529557874667
MonoBehaviour:
m_ObjectHideFlags: 3

View File

@@ -27,7 +27,7 @@ MonoBehaviour:
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 0.8
m_UpscalingFilter: 0
m_UpscalingFilter: 3
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
@@ -78,11 +78,11 @@ MonoBehaviour:
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 1
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_UseLegacyLightmaps: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
@@ -100,23 +100,24 @@ MonoBehaviour:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLight: 0
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeForwardPlus: 2
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthMedium: 1
m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOInterleaved: 1
m_PrefilterSSAOBlueNoise: 1
m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountMedium: 1
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1

View File

@@ -45,8 +45,22 @@ MonoBehaviour:
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 0
m_RenderingMode: 0
m_RenderingMode: 2
m_DepthPrimingMode: 0
m_CopyDepthMode: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 0
--- !u!114 &1002035807535710140
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0ec52cecc795714f93f274c2e71e87b, type: 3}
m_Name: GlobalVolumeFeature
m_EditorClassIdentifier:
m_Active: 1
_baseProfile: {fileID: 11400000, guid: f2d4d916a6612574cad220d125febbf2, type: 2}

View File

@@ -53,15 +53,8 @@ MonoBehaviour:
- rid: 6852985685364965393
- rid: 6852985685364965394
- rid: 8712630790384254976
- rid: 5796307958419947520
- rid: 5796307958419947521
- rid: 5796307958419947522
- rid: 5796307958419947523
- rid: 5796307958419947524
- rid: 5796307958419947525
- rid: 5796307958419947526
- rid: 5796307958419947527
- rid: 5796307958419947528
- rid: 3958521235517472768
- rid: 4718407462159908864
m_RuntimeSettings:
m_List: []
m_AssetVersion: 8
@@ -94,139 +87,16 @@ MonoBehaviour:
references:
version: 2
RefIds:
- rid: 5796307958419947520
type: {class: PostProcessData/ShaderResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
stopNanPS: {fileID: 4800000, guid: 1121bb4e615ca3c48b214e79e841e823, type: 3}
subpixelMorphologicalAntialiasingPS: {fileID: 4800000, guid: 63eaba0ebfb82cc43bde059b4a8c65f6, type: 3}
gaussianDepthOfFieldPS: {fileID: 4800000, guid: 5e7134d6e63e0bc47a1dd2669cedb379, type: 3}
bokehDepthOfFieldPS: {fileID: 4800000, guid: 2aed67ad60045d54ba3a00c91e2d2631, type: 3}
cameraMotionBlurPS: {fileID: 4800000, guid: 1edcd131364091c46a17cbff0b1de97a, type: 3}
paniniProjectionPS: {fileID: 4800000, guid: a15b78cf8ca26ca4fb2090293153c62c, type: 3}
lutBuilderLdrPS: {fileID: 4800000, guid: 65df88701913c224d95fc554db28381a, type: 3}
lutBuilderHdrPS: {fileID: 4800000, guid: ec9fec698a3456d4fb18cf8bacb7a2bc, type: 3}
bloomPS: {fileID: 4800000, guid: 5f1864addb451f54bae8c86d230f736e, type: 3}
temporalAntialiasingPS: {fileID: 4800000, guid: 9c70c1a35ff15f340b38ea84842358bf, type: 3}
LensFlareDataDrivenPS: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3}
LensFlareScreenSpacePS: {fileID: 4800000, guid: 701880fecb344ea4c9cd0db3407ab287, type: 3}
scalingSetupPS: {fileID: 4800000, guid: e8ee25143a34b8c4388709ea947055d1, type: 3}
easuPS: {fileID: 4800000, guid: 562b7ae4f629f144aa97780546fce7c6, type: 3}
uberPostPS: {fileID: 4800000, guid: e7857e9d0c934dc4f83f270f8447b006, type: 3}
finalPostPassPS: {fileID: 4800000, guid: c49e63ed1bbcb334780a3bd19dfed403, type: 3}
m_ShaderResourcesVersion: 0
- rid: 5796307958419947521
type: {class: ScreenSpaceAmbientOcclusionPersistentResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
m_Version: 0
- rid: 5796307958419947522
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
- rid: 5796307958419947523
type: {class: ScreenSpaceAmbientOcclusionDynamicResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_BlueNoise256Textures:
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
m_Version: 0
- rid: 5796307958419947524
- rid: 3958521235517472768
type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
- rid: 5796307958419947525
type: {class: PostProcessData/TextureResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
- rid: 4718407462159908864
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
blueNoise16LTex:
- {fileID: 2800000, guid: 81200413a40918d4d8702e94db29911c, type: 3}
- {fileID: 2800000, guid: d50c5e07c9911a74982bddf7f3075e7b, type: 3}
- {fileID: 2800000, guid: 1134690bf9216164dbc75050e35b7900, type: 3}
- {fileID: 2800000, guid: 7ce2118f74614a94aa8a0cdf2e6062c3, type: 3}
- {fileID: 2800000, guid: 2ca97df9d1801e84a8a8f2c53cb744f0, type: 3}
- {fileID: 2800000, guid: e63eef8f54aa9dc4da9a5ac094b503b5, type: 3}
- {fileID: 2800000, guid: 39451254daebd6d40b52899c1f1c0c1b, type: 3}
- {fileID: 2800000, guid: c94ad916058dff743b0f1c969ddbe660, type: 3}
- {fileID: 2800000, guid: ed5ea7ce59ca8ec4f9f14bf470a30f35, type: 3}
- {fileID: 2800000, guid: 071e954febf155243a6c81e48f452644, type: 3}
- {fileID: 2800000, guid: 96aaab9cc247d0b4c98132159688c1af, type: 3}
- {fileID: 2800000, guid: fc3fa8f108657e14486697c9a84ccfc5, type: 3}
- {fileID: 2800000, guid: bfed3e498947fcb4890b7f40f54d85b9, type: 3}
- {fileID: 2800000, guid: d512512f4af60a442ab3458489412954, type: 3}
- {fileID: 2800000, guid: 47a45908f6db0cb44a0d5e961143afec, type: 3}
- {fileID: 2800000, guid: 4dcc0502f8586f941b5c4a66717205e8, type: 3}
- {fileID: 2800000, guid: 9d92991794bb5864c8085468b97aa067, type: 3}
- {fileID: 2800000, guid: 14381521ff11cb74abe3fe65401c23be, type: 3}
- {fileID: 2800000, guid: d36f0fe53425e08499a2333cf423634c, type: 3}
- {fileID: 2800000, guid: d4044ea2490d63b43aa1765f8efbf8a9, type: 3}
- {fileID: 2800000, guid: c9bd74624d8070f429e3f46d161f9204, type: 3}
- {fileID: 2800000, guid: d5c9b274310e5524ebe32a4e4da3df1f, type: 3}
- {fileID: 2800000, guid: f69770e54f2823f43badf77916acad83, type: 3}
- {fileID: 2800000, guid: 10b6c6d22e73dea46a8ab36b6eebd629, type: 3}
- {fileID: 2800000, guid: a2ec5cbf5a9b64345ad3fab0912ddf7b, type: 3}
- {fileID: 2800000, guid: 1c3c6d69a645b804fa232004b96b7ad3, type: 3}
- {fileID: 2800000, guid: d18a24d7b4ed50f4387993566d9d3ae2, type: 3}
- {fileID: 2800000, guid: c989e1ed85cf7154caa922fec53e6af6, type: 3}
- {fileID: 2800000, guid: ff47e5a0f105eb34883b973e51f4db62, type: 3}
- {fileID: 2800000, guid: fa042edbfc40fbd4bad0ab9d505b1223, type: 3}
- {fileID: 2800000, guid: 896d9004736809c4fb5973b7c12eb8b9, type: 3}
- {fileID: 2800000, guid: 179f794063d2a66478e6e726f84a65bc, type: 3}
filmGrainTex:
- {fileID: 2800000, guid: 654c582f7f8a5a14dbd7d119cbde215d, type: 3}
- {fileID: 2800000, guid: dd77ffd079630404e879388999033049, type: 3}
- {fileID: 2800000, guid: 1097e90e1306e26439701489f391a6c0, type: 3}
- {fileID: 2800000, guid: f0b67500f7fad3b4c9f2b13e8f41ba6e, type: 3}
- {fileID: 2800000, guid: 9930fb4528622b34687b00bbe6883de7, type: 3}
- {fileID: 2800000, guid: bd9e8c758250ef449a4b4bfaad7a2133, type: 3}
- {fileID: 2800000, guid: 510a2f57334933e4a8dbabe4c30204e4, type: 3}
- {fileID: 2800000, guid: b4db8180660810945bf8d55ab44352ad, type: 3}
- {fileID: 2800000, guid: fd2fd78b392986e42a12df2177d3b89c, type: 3}
- {fileID: 2800000, guid: 5cdee82a77d13994f83b8fdabed7c301, type: 3}
smaaAreaTex: {fileID: 2800000, guid: d1f1048909d55cd4fa1126ab998f617e, type: 3}
smaaSearchTex: {fileID: 2800000, guid: 51eee22c2a633ef4aada830eed57c3fd, type: 3}
m_TexturesResourcesVersion: 0
- rid: 5796307958419947526
type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_UseBicubicLightmapSampling: 0
- rid: 5796307958419947527
type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
- rid: 5796307958419947528
type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3}
m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3}
m_VisualizationLookupTable:
m_Data:
- {r: 1, g: 0, b: 0, a: 1}
- {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
- {r: 1, g: 1, b: 1, a: 1}
- {r: 0, g: 1, b: 0, a: 1}
- {r: 0.75, g: 0.75, b: 0, a: 1}
- {r: 0, g: 0.75, b: 0.55, a: 1}
- {r: 0.5, g: 0, b: 0.5, a: 1}
- {r: 0.5, g: 0.5, b: 0.5, a: 1}
- {r: 0, g: 0, b: 1, a: 1}
m_ConversionLookupTable:
m_Data:
- {r: 1, g: 0, b: 0, a: 1}
- {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
- {r: 1, g: 1, b: 1, a: 1}
- {r: 0, g: 1, b: 0, a: 1}
- {r: 0.75, g: 0.75, b: 0, a: 1}
- {r: 0, g: 0.75, b: 0.55, a: 1}
- {r: 0.5, g: 0, b: 0.5, a: 1}
- {r: 0.5, g: 0.5, b: 0.5, a: 1}
- {r: 0, g: 0, b: 1, a: 1}
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
- rid: 6852985685364965376
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
@@ -240,6 +110,9 @@ MonoBehaviour:
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
@@ -250,8 +123,6 @@ MonoBehaviour:
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3}
m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3}
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
- rid: 6852985685364965379
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}

Binary file not shown.

View File

@@ -0,0 +1,315 @@
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Video;
public class TimingWheelShooter : MonoBehaviour, ITask
{
[Header("Task Info")]
[SerializeField] private string taskID = "RING_SHOOTER_01";
[SerializeField] private string taskName = "Break the Ring";
[SerializeField] private TaskType taskType = TaskType.Task;
[SerializeField] private Vector2 taskLocation = Vector2.zero;
public string TaskID => taskID;
public TaskType TaskType => taskType;
public string TaskName => taskName;
public (double, double) TaskLocation => (taskLocation.x, taskLocation.y);
public bool IsCompleted { get; private set; }
[Header("Wheel")]
public Transform rotatingWheel;
public float defaultAngle = 90f;
public float sweepAngle = 90f;
public float wheelSpeed = 120f;
[Header("Projectile")]
public ProjectileBehaviour potatoPrefab;
public Transform projectileSpawn;
public Transform aimPoint;
public GlassRingController ring;
public float baseLaunchSpeed = 12f;
[Header("Audio")]
public AudioSource audioSource;
public AudioClip startClip;
[Range(0f, 1f)] public float startVolume = 1f;
public AudioClip winClip;
[Range(0f, 1f)] public float winVolume = 1f;
[Header("Finish Video")]
public VideoPlayer videoPlayer;
public VideoClip finishVideo;
public AudioClip finishVideoAudio;
[Range(0f, 1f)] public float finishVideoAudioVolume = 1f;
public Camera targetCamera;
[Header("State")]
public bool autoRestartAfterShot = true;
public float restartDelay = 0.75f;
private bool isRunning = true;
private bool finishSequenceStarted = false;
private float currentAngle;
private float direction = 1f;
private Action<ITask> onCompletedCallback;
private void Awake()
{
if (audioSource == null)
audioSource = GetComponent<AudioSource>();
if (audioSource == null)
audioSource = gameObject.AddComponent<AudioSource>();
if (videoPlayer == null)
videoPlayer = GetComponent<VideoPlayer>();
if (videoPlayer == null)
videoPlayer = gameObject.AddComponent<VideoPlayer>();
if (targetCamera == null)
targetCamera = Camera.main;
// Video setup
videoPlayer.playOnAwake = false;
videoPlayer.waitForFirstFrame = true;
videoPlayer.skipOnDrop = true;
videoPlayer.isLooping = false;
videoPlayer.audioOutputMode = VideoAudioOutputMode.None;
videoPlayer.renderMode = VideoRenderMode.CameraNearPlane;
if (targetCamera != null)
videoPlayer.targetCamera = targetCamera;
}
private void Start()
{
currentAngle = defaultAngle;
SetWheelAngle(currentAngle);
PlayStartSound();
}
private void Update()
{
if (IsCompleted || finishSequenceStarted) return;
if (isRunning)
UpdateWheelMotion();
if (Input.GetMouseButtonDown(0))
StopAndShoot();
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
StopAndShoot();
}
private void UpdateWheelMotion()
{
float halfRange = sweepAngle * 0.5f;
float minAngle = defaultAngle - halfRange;
float maxAngle = defaultAngle + halfRange;
currentAngle += direction * wheelSpeed * Time.deltaTime;
if (currentAngle >= maxAngle)
{
currentAngle = maxAngle;
direction = -1f;
}
else if (currentAngle <= minAngle)
{
currentAngle = minAngle;
direction = 1f;
}
SetWheelAngle(currentAngle);
}
private void SetWheelAngle(float angle)
{
if (rotatingWheel == null) return;
Vector3 e = rotatingWheel.localEulerAngles;
e.y = angle; // your current setup uses Y
rotatingWheel.localEulerAngles = e;
}
private float EvaluateMultiplier(float angle)
{
float halfRange = sweepAngle * 0.5f;
float offset = Mathf.Abs(angle - defaultAngle);
float zone5 = halfRange / 2.5f;
float zone2 = halfRange / 1.5f;
if (offset <= zone5) return 5f;
if (offset <= zone2) return 2f;
return 1f;
}
public void StopAndShoot()
{
if (!isRunning || IsCompleted || finishSequenceStarted) return;
isRunning = false;
float multiplier = EvaluateMultiplier(currentAngle);
Shoot(multiplier);
Debug.Log($"Wheel stopped at {currentAngle:F1}°, multiplier = {multiplier}x");
if (autoRestartAfterShot)
Invoke(nameof(RestartWheel), restartDelay);
}
private void Shoot(float multiplier)
{
if (potatoPrefab == null || projectileSpawn == null || aimPoint == null)
return;
Vector3 dir = (aimPoint.position - projectileSpawn.position).normalized;
float speed = baseLaunchSpeed * multiplier;
ProjectileBehaviour p = Instantiate(
potatoPrefab,
projectileSpawn.position,
Quaternion.LookRotation(dir, Vector3.up)
);
p.baseDamage *= multiplier;
p.breakImpulse *= multiplier;
p.Launch(ring, dir * speed, 1f);
}
private void RestartWheel()
{
if (!IsCompleted && !finishSequenceStarted)
isRunning = true;
}
public void NotifyButtonHit(ProjectileBehaviour projectile)
{
if (IsCompleted || finishSequenceStarted) return;
Debug.Log("Diamond hit. Starting finish sequence.");
StartCoroutine(PlayFinishSequenceThenComplete());
}
private IEnumerator PlayFinishSequenceThenComplete()
{
finishSequenceStarted = true;
isRunning = false;
CancelInvoke();
if (ring != null)
ring.enabled = false;
if (finishVideo == null)
{
if (audioSource != null && winClip != null)
audioSource.PlayOneShot(winClip, winVolume);
Complete();
yield break;
}
videoPlayer.Stop();
videoPlayer.clip = finishVideo;
videoPlayer.renderMode = VideoRenderMode.CameraNearPlane;
if (targetCamera == null)
targetCamera = Camera.main;
if (targetCamera != null)
videoPlayer.targetCamera = targetCamera;
bool finished = false;
void OnVideoFinished(VideoPlayer vp) => finished = true;
videoPlayer.loopPointReached += OnVideoFinished;
videoPlayer.Prepare();
while (!videoPlayer.isPrepared)
yield return null;
videoPlayer.Play();
if (audioSource != null && finishVideoAudio != null)
{
audioSource.clip = finishVideoAudio;
audioSource.volume = finishVideoAudioVolume;
audioSource.Play();
}
else if (audioSource != null && winClip != null)
{
audioSource.PlayOneShot(winClip, winVolume);
}
while (!finished)
yield return null;
videoPlayer.loopPointReached -= OnVideoFinished;
videoPlayer.Stop();
Complete();
}
public void Initialize(Action<ITask> onCompleted)
{
onCompletedCallback = onCompleted;
IsCompleted = false;
finishSequenceStarted = false;
isRunning = true;
direction = 1f;
currentAngle = defaultAngle;
SetWheelAngle(currentAngle);
CancelInvoke();
if (ring != null)
ring.enabled = true;
if (audioSource != null)
audioSource.Stop();
if (videoPlayer != null)
videoPlayer.Stop();
PlayStartSound();
}
public void ExitTask(Action<ITask> onExit)
{
isRunning = false;
finishSequenceStarted = false;
CancelInvoke();
if (audioSource != null)
audioSource.Stop();
if (videoPlayer != null)
videoPlayer.Stop();
onExit?.Invoke(this);
}
public void Complete()
{
if (IsCompleted) return;
IsCompleted = true;
isRunning = false;
finishSequenceStarted = false;
CancelInvoke();
onCompletedCallback?.Invoke(this);
}
private void PlayStartSound()
{
if (audioSource != null && startClip != null)
audioSource.PlayOneShot(startClip, startVolume);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
Assets/Untitled.blend Normal file

Binary file not shown.

BIN
Assets/Untitled.blend1 Normal file

Binary file not shown.

BIN
Assets/Untitled.fbx Normal file

Binary file not shown.

BIN
Assets/brambora.fbx Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,62 @@
# Blender MTL File: 'diamonds1.blend'
# Material Count: 6
newmtl Material.003
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl blue
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl green
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl pink
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl red
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl white
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

BIN
Assets/dvrst close eyes.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Assets/gambler.fbx Normal file

Binary file not shown.

140
Assets/glasss.mat Normal file
View File

@@ -0,0 +1,140 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-2816339254811307213
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: glasss
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- MOTIONVECTORS
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 1
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.744
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 1
- _WorkflowMode: 1
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 0.915269, g: 0.6462264, b: 1, a: 1}
- _Color: {r: 0.915269, g: 0.6462264, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

BIN
Assets/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

20
Assets/itask.cs Normal file
View File

@@ -0,0 +1,20 @@
using System;
using UnityEngine;
public enum TaskType
{
Task
}
public interface ITask
{
string TaskID { get; }
TaskType TaskType { get; }
string TaskName { get; }
(double, double) TaskLocation { get; }
bool IsCompleted { get; }
void Initialize(Action<ITask> onCompleted);
void ExitTask(Action<ITask> onExit);
void Complete();
}

View File

@@ -0,0 +1,71 @@
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(Collider))]
public class ProjectileBehaviour : MonoBehaviour
{
public enum ProjectileKind
{
Potato,
Knife
}
[Header("Projectile Data")]
public ProjectileKind kind;
public float baseDamage = 35f;
public float sigma = 2f;
public float directHitMultiplier = 1.15f;
public float breakImpulse = 1.8f;
public float lifeTime = 8f;
private Rigidbody rb;
private GlassRingController ring;
private float charge01;
private bool armed;
private void Awake()
{
rb = GetComponent<Rigidbody>();
}
public void Launch(GlassRingController ringController, Vector3 launchVelocity, float normalizedCharge)
{
ring = ringController;
charge01 = Mathf.Clamp01(normalizedCharge);
rb.linearVelocity = launchVelocity;
rb.angularVelocity = Vector3.zero;
armed = true;
Destroy(gameObject, lifeTime);
}
private void OnCollisionEnter(Collision collision)
{
if (!armed) return;
armed = false;
Vector3 hitPoint = collision.contactCount > 0
? collision.GetContact(0).point
: transform.position;
GlassPiece piece = collision.collider.GetComponentInParent<GlassPiece>();
if (piece != null && ring != null && !piece.IsBroken)
{
ring.ApplyProjectileImpact(piece.PieceIndex, this, charge01, hitPoint);
Destroy(gameObject);
return;
}
CenterButtonTarget button = collision.collider.GetComponentInParent<CenterButtonTarget>();
if (button != null)
{
button.NotifyHit(this);
Destroy(gameObject);
return;
}
Destroy(gameObject);
}
}

136
Assets/smple.mat Normal file
View File

@@ -0,0 +1,136 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-842270145676763993
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: smple
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 1
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1