2026-06-12 리듬게임 (진행중)

This commit is contained in:
2026-06-12 18:20:23 +09:00
parent 2787fd4871
commit b0aede20f2
2265 changed files with 250553 additions and 71 deletions

View File

@@ -1,20 +1,29 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Hovl;
using UnityEngine; using UnityEngine;
using UnityEngine.InputSystem;
public enum Result { Perfect, Good, Miss } public enum Result { Perfect, Good, Bad, Miss }
public class RhythmManager : MonoBehaviour public class RhythmManager : MonoBehaviour
{ {
[SerializeField] private AudioSource _audioSource; [SerializeField] private AudioSource _audioSource;
[SerializeField] private RhythmChart _currentChart; [SerializeField] private RhythmChart _currentChart;
[SerializeField] private RhythmNoteSpawner _spawner; [SerializeField] private RhythmNoteSpawner _spawner;
[SerializeField] private float _leadTime = 2f; // 노트가 생성돼 판정선까지 흐르는 시간(초) [SerializeField] private float _leadTime = 2f; // 노트가 생성돼 판정선까지 흐르는 시간(초)
[Header("판정 윈도우 (초, 절대 시간차 기준)")]
[SerializeField] private float _perfectWindow = 0.05f;
[SerializeField] private float _goodWindow = 0.10f;
[SerializeField] private float _badWindow = 0.15f; // 이 밖이면 입력 무시(헛침)
public float SongTime => _audioSource.time; // 모든 타이밍의 기준 public float SongTime => _audioSource.time; // 모든 타이밍의 기준
private List<Note> SongNoteList; private List<Note> SongNoteList;
private int _nextNoteIndex; // 다음에 소환할 노트 인덱스 private int _nextNoteIndex; // 다음에 소환할 노트 인덱스
private bool _isPlaying; //곡이 재생 중인지 (종료 감지용) private bool _isPlaying; //곡이 재생 중인지 (종료 감지용)
private Func<float> _songTimeProvider; // 노트에 넘길 시간 제공자 (매 스폰마다 람다 재생성 방지용 캐시) private Func<float> _songTimeProvider; // 노트에 넘길 시간 제공자 (매 스폰마다 람다 재생성 방지용 캐시)
private readonly List<RhythmNoteInstance> _activeNotes = new(); // 화면에 떠 있는(아직 처리 안 된) 노트들
private void Awake() private void Awake()
{ {
@@ -35,7 +44,13 @@ private void Update()
return; return;
} }
if (_isPlaying) SpawnDueNotes(); if (!_isPlaying) return;
SpawnDueNotes();
// 테스트용: 스페이스로 판정 (실제 VR에서는 컨트롤러/콜라이더 입력으로 교체)
if (Keyboard.current != null && Keyboard.current.spaceKey.wasPressedThisFrame)
OnPlayerInput();
} }
// SongTime 기준으로 소환할 때가 된 노트들을 순서대로 생성 // SongTime 기준으로 소환할 때가 된 노트들을 순서대로 생성
@@ -47,7 +62,8 @@ private void SpawnDueNotes()
{ {
Note note = SongNoteList[_nextNoteIndex]; Note note = SongNoteList[_nextNoteIndex];
// spawnTime은 실제 프레임 시각이 아니라 이론값(note.Time - _leadTime)으로 줘야 보간이 정확 // spawnTime은 실제 프레임 시각이 아니라 이론값(note.Time - _leadTime)으로 줘야 보간이 정확
_spawner.SpawnNote(note, note.Time - _leadTime, _songTimeProvider, OnNoteMissed); RhythmNoteInstance instance = _spawner.SpawnNote(note, note.Time - _leadTime, _songTimeProvider, OnNoteMissed);
_activeNotes.Add(instance);
_nextNoteIndex++; _nextNoteIndex++;
} }
} }
@@ -62,6 +78,7 @@ public void StartSong()
{ {
SongNoteList = _currentChart.GenerateNotes(); SongNoteList = _currentChart.GenerateNotes();
_nextNoteIndex = 0; _nextNoteIndex = 0;
_activeNotes.Clear();
_audioSource.Play(); _audioSource.Play();
_isPlaying = true; _isPlaying = true;
@@ -79,19 +96,54 @@ public void StopSong()
if (SoundManager.Instance != null) SoundManager.Instance.ExitMinigameMode(); if (SoundManager.Instance != null) SoundManager.Instance.ExitMinigameMode();
} }
// 노트가 판정선을 지나쳐 스스로 Miss 처리될 때 호출 // 노트가 판정선을 지나쳐 스스로 Miss 처리될 때 호출 (노트는 이미 자기 파괴됨)
private void OnNoteMissed(RhythmNoteInstance note) private void OnNoteMissed(RhythmNoteInstance note)
{ {
_activeNotes.Remove(note);
// TODO: 점수/콤보 시스템 연결 시 Miss 반영 // TODO: 점수/콤보 시스템 연결 시 Miss 반영
Debug.Log("[Rhythm] Miss (지나침)");
} }
public void OnPlayerInput() public void OnPlayerInput()
{ {
if (!_isPlaying || _activeNotes.Count == 0) return;
// 판정선에 가장 가까운(시간차 최소) 노트 탐색
RhythmNoteInstance target = null;
float bestDiff = float.MaxValue;
foreach (RhythmNoteInstance note in _activeNotes)
{
float diff = Mathf.Abs(SongTime - note.HitTime);
if (diff < bestDiff)
{
bestDiff = diff;
target = note;
}
}
Result result = Judge(bestDiff);
if (result == Result.Miss) return; // 히트 범위 밖이면 입력 무시 (노트 소비 안 함)
// 성공 판정 → 히트 이펙트 + 노트 소비
if (result == Result.Perfect || result == Result.Good)
{
// 이펙트는 노트에서 분리돼 따로 재생되므로 노트를 바로 파괴해도 됨
if (target.TryGetComponent(out RhythmProjectile projectile))
projectile.Detonate();
}
_activeNotes.Remove(target);
Destroy(target.gameObject);
// TODO: 점수/콤보 시스템 연결 시 result 반영
Debug.Log($"[Rhythm] {result} (diff {bestDiff:F3}s)");
} }
// diff = 절대 시간차(초). 윈도우 안이면 Perfect/Good/Bad, 밖이면 Miss(입력 무시)
public Result Judge(float diff) public Result Judge(float diff)
{ {
if (diff <= _perfectWindow) return Result.Perfect;
if (diff <= _goodWindow) return Result.Good;
if (diff <= _badWindow) return Result.Bad;
return Result.Miss; return Result.Miss;
} }
} }

View File

@@ -3,7 +3,7 @@
public class RhythmNoteInstance : MonoBehaviour public class RhythmNoteInstance : MonoBehaviour
{ {
public float HitTime; // 이 노트의 도달 시각 [HideInInspector] public float HitTime; // 이 노트의 도달 시각
[SerializeField] private float _missWindow = 0.15f; // 판정선을 이만큼 지나면 자동 Miss [SerializeField] private float _missWindow = 0.15f; // 판정선을 이만큼 지나면 자동 Miss

View File

@@ -0,0 +1,37 @@
using Hovl;
using UnityEngine;
// Hovl의 HS_ProjectileMover(에셋)를 "수정하지 않고" 히트 이펙트를 코드로 터뜨리기 위한 서브클래스.
// 핵심: protected 멤버(hit/hitPS/projectilePS/collided)는 '파생 클래스'에서는 접근 가능하다.
// 그래서 에셋 원본은 그대로 두고, 충돌(Collision) 없이 판정 성공 시 Detonate()로 이펙트만 재생한다.
public class RhythmProjectile : HS_ProjectileMover
{
// 판정 성공 시 호출. 노트가 곧 Destroy되어도 이펙트가 보이도록 노트에서 분리 후 재생.
public void Detonate()
{
if (collided) return;
collided = true;
// 날아가는 동안의 트레일 파티클은 정지
if (projectilePS != null)
projectilePS.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
// 히트 이펙트 컨테이너(없으면 파티클 본체)를 노트에서 떼어내 현재 위치에서 재생
GameObject fx = hit != null ? hit : (hitPS != null ? hitPS.gameObject : null);
if (fx == null) return;
fx.transform.SetParent(null, true);
fx.transform.position = transform.position;
fx.SetActive(true);
if (hitPS != null)
{
hitPS.Clear(true);
hitPS.Play(true);
}
// 재생이 끝나면 분리한 이펙트도 정리
float life = hitPS != null ? hitPS.main.duration + hitPS.main.startLifetime.constantMax : 2f;
Destroy(fx, life);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9840334459414e240b44e1b0cfe4ebb2

Binary file not shown.

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 016b7abd765146448b6113c33897f846
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2f3e152888fa71247b0e4c40ea069d7d guid: f17aaa526f39cef4a854fe7ea551e938
PrefabImporter: PrefabImporter:
externalObjects: {} externalObjects: {}
userData: userData:

Binary file not shown.

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 754edce0f04b6f9439e9e265191c3194
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

8
Assets/Hovl Studio.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1d081f5f40e505846a88e3fb578e2401
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c262a4075a2ef114dad9068b20acf5fb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c91658c11d664e34790852bb0af3d3e2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 50ccb9ddb39784c4aad13fc3898fbdb9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
fileFormatVersion: 2
guid: 859e8a749e01ae7468b1b3ab458011ff
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/2DSceneGround.png
uploadId: 883376

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 50611382ffa50c54a944ab4b11b5f311
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 25800000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/LightingData.asset
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: e620f791dd3aad0468c5433f169817c6
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-0_comp_dir.png
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: bedbfe6fe9ff7914aad490bf2e9e3283
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 6
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-0_comp_light.exr
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: fa6be30dfbe92314c8d176a8eec4257b
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-1_comp_dir.png
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: 231f20cb5603bff409380ec0b03baf96
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 6
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-1_comp_light.exr
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: ef821dfa7c9bf544aa760c25c610cb6b
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-2_comp_dir.png
uploadId: 883376

View File

@@ -0,0 +1,91 @@
fileFormatVersion: 2
guid: 35c320ad9e9dc0d40bfa81b6cd7e2e8d
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 3
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 6
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/Lightmap-2_comp_light.exr
uploadId: 883376

View File

@@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: eea823e4f8384c043ac514026f3ac126
TextureImporter:
fileIDToRecycleName:
8900000: generatedCubemap
externalObjects: {}
serializedVersion: 5
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/ReflectionProbe-0.exr
uploadId: 883376

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 353e4ca07ddad704b8539591387bee38
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo files/SceneSmoke.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d6851c279dc96cc469706280632c676c
timeCreated: 1536001560
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo projectiles
2D.unity
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: fbaf00a0124cb34408e401d2c9e82d44
timeCreated: 1536001560
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo projectiles
simple spawning.unity
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d77992b5fd5ef82498c6286aa500bdd6
timeCreated: 1536001560
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Demo projectiles(Full
particles).unity
uploadId: 883376

View File

@@ -0,0 +1,145 @@
Asset Creator - Vladyslav Horobets (Hovl).
All that is in the folder "AAA Projectiles" can be used in commerce, even demo scene files.
-----------------------------------------------------
If you want to use post-effects like in the demo video:
https://youtu.be/hZSZ2Q8MF3k
Using:
1) Shaders
1.1)The "Use depth" on the material from the custom shaders is the Soft Particle Factor.
1.2)Use "Center glow"[MaterialToggle] only with particle system. This option is used to darken the main texture with a white texture (white is visible, black is invisible).
If you turn on this feature, you need to use "Custom vertex stream" (Uv0.Custom.xy) in tab "Render". And don't forget to use "Custom data" parameters in your PS.
1.3)The distortion shader only works with standard rendering. Delete (if exist) distortion particles from effects if you use LWRP or HDRP!
1.4)You can change the cutoff in all shaders (except Add_CenterGlow and Blend_CenterGlow ) using (Uv0.Custom.xy) in particle system.
2)Light.
2.1)You can disable light in the main effect component (delete light and disable light in PS).
Light strongly loads the game if you don't use light probes or something else.
3)Scripts
HS_ProjectileMover — Documentation
Description
HS_ProjectileMover controls the movement, collision behavior, and visual effects of projectile objects.
It handles projectile speed, hit effects, particle systems, detached VFX elements, and supports both destruction and pooling workflows.
The script is designed for VFX projectiles used in spells, bullets, energy blasts, or similar effects.
Main Features:
Moves projectile forward using Rigidbody velocity
Spawns hit effects on collision
Supports pooled projectiles (reuse instead of destroy)
Handles particle systems properly on impact
Allows detached particle effects to continue playing after collision
Automatically restores detached objects when projectile is reused
Key Parameters:
Speed -
Controls the forward velocity of the projectile.
Hit Offset -
Moves the hit effect slightly away from the surface normal to avoid clipping.
Use Fire Point Rotation -
If enabled, the hit effect rotation will match the fire point orientation.
Rotation Offset -
Optional rotation override applied to the hit effect.
Hit -
GameObject used as the hit effect container.
Hit PS -
Particle system played when the projectile collides.
Flash -
Optional muzzle flash object that detaches on spawn.
Projectile PS -
Main projectile particle system.
Detached -
Array of objects that contain particle systems (such as trails or smoke).
These objects detach on impact so their particles can finish playing naturally.
Components:
RB -
Rigidbody used for projectile movement.
Col -
Collider used for collision detection.
Light Source -
Optional light attached to the projectile.
Lifetime Settings
Not Destroy
If enabled, the projectile will be disabled instead of destroyed.
This allows it to be reused with an object pool.
Life Time
Maximum lifetime of the projectile if it does not hit anything.
Detached Life Time
How long detached particle objects remain alive after impact.
Collision Behavior
When the projectile collides:
Rigidbody movement is stopped
Light and collider are disabled
Projectile particle emission stops
Hit effect is positioned and played
Detached objects are unparented
Detached particle systems stop emitting but existing particles finish their lifetime
If Not Destroy is enabled:
The projectile will be disabled after the hit effect finishes
Detached objects will be restored when the projectile is reused
If Not Destroy is disabled:
The projectile will be destroyed after the hit effect duration
Detached objects will be destroyed after Detached Life Time
Detached Objects Logic:
Detached objects must be child objects of the projectile.
Each detached object can contain multiple particle systems.
On collision:
The object is unparented
Emission stops
Existing particles finish their lifetime
If pooling is enabled, the objects are restored to their original parent when the projectile is reactivated.
Typical Use Case:
Projectile Prefab Structure Example
Projectile
├── Mesh
├── Collider
├── Rigidbody
├── Projectile_PS
├── Flash
└── Detached_Trail
├── Smoke
└── Sparks
Pooling Support
When using an object pool:
Set:
Not Destroy = true
The projectile will be disabled instead of destroyed and can be reused safely.
Detached particle objects will automatically return to their original positions when the projectile is activated again.
Notes:
Detached objects should only contain particle systems.
Ensure Rigidbody and Collider references are assigned.
Projectile should face forward in the Z direction for correct movement.
4)Quality
4.1) For better sparks quality enable "Anisotropic textures: Forced On" in quality settings.
SUPPORT ASSET FOR BiRP, URP or HDRP is here --> Tools > RP changer for Hovl Studio Assets
Contact me if you have any questions.
My email: hovlstudio1@gmail.com

View File

@@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 9037c8e5bfd08444291e6100663e92b8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Demo scenes/Readme.txt
uploadId: 883376

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 101b1b40990f0e2488f0ed1b0c84d92e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1a3f2842eceda1d4db93e93468d2e1ec
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: ccc22a316744f104eb233bd6122a3ec3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Dragon
punch flash.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: a311f5de96916bf44bcb1dae61840939
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
1 nature arrow.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 4f2f9845677ab3f49be1179d6bd15b78
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
10 blue laser.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d2bf40a98ef3560439f0badec6115db3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
11 orange arrow.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 55b36a9461ee12b4b9ed1546b95e8ba4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
12 slime.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 284aa8115675f03488377d544e50cbf5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
13 red laser.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 058c6c6f7bee2fc45a91fbdb528a9035
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
14 blue rapid.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: dfb11343e1f738848a39590c5e36c883
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
15 pink crystal.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: f326479f7cef0794d95f29731f4bbdb3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
16 fire.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 6c45d61ea68f82b4eb2c7f1ff7fdcb81
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
17 nova violet.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: df8bef245b1373047a1e1320f5ed6ac2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
18 nova orange.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 2ad5c1a0f3dfb2a479c897ce5c0c6d82
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
19 circle bomb.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 5b0ac738fb141244d96b28bbd07be221
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
2 electro.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 0254f8e683e300c4eb1b598011e9b7c8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
22 cute star.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d629efdae70f475409893aa79aeafd1e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
23 cube.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 918bed4b1a6905d4aaa25af94c2caa31
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
24 green explosion.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d6042f989cc140942a980eadd962e2db
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
25 orange explosion.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 25f0a817a944f794d8af1e1ea326f16c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
26 blue crystal.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 28538e5931854494fbe4d98d2d4cd548
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
27 heart.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: f82a1a892a042c1438f8f4704a37e11b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
3 black fire.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 1be2572052efd584296895036cceb277
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
4 yellow arrow.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 7f11cfb7c95c8df45beb2209791430c4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
5 red.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: adca1c5f787b050449984aedac0cbdc5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
6 blue fire.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: d9a16b144bb6373498d4374fb5d0d3b2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
7 pink.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 40f5e004d2504a04db181f5453658776
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Flash
9 water.prefab
uploadId: 883376

View File

@@ -0,0 +1,16 @@
fileFormatVersion: 2
guid: 21710859533a00746ad2bdd323061a2d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 315729
packageName: BIG Projectiles bundle
packageVersion: 3.1
assetPath: Assets/Hovl Studio/AAA Projectiles Vol 1/Prefabs/Flash and hits/Hit
1 nature arrow.prefab
uploadId: 883376

Some files were not shown because too many files have changed in this diff Show More