바스트 모핑, 앨범, 가챠 등

This commit is contained in:
Ino 2025-12-16 09:30:29 +09:00
parent 2b6589eaf9
commit bff8abbb69
108 changed files with 16594 additions and 12 deletions

View File

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

View File

@ -0,0 +1,290 @@
using UnityEngine;
using UnityEditor;
/**
* Free body ,
* Radius는 , , , . .
* , . Kinematic , .
*
*/
[ExecuteInEditMode]
[RequireComponent(typeof(JellySprite))]
public class BreastJigglePhysics : MonoBehaviour
{
[Header("=== JellySprite 물리 설정 ===")]
[Tooltip("JellySprite 물리 속성을 이 스크립트 값으로 자동 적용. (기본: True)")]
public bool autoConfigureJellySprite = true;
[Header("JellySprite 강성/감쇠 설정")]
[Tooltip("스프링 강성. 높을수록 단단하고 빠르게 진동. 낮을수록 물렁하고 느림.")]
//높게 (3.0 이상): 단단하고 탄력 있는(Firm) 느낌. 진동 주기가 빠르고 출렁임이 작음.
//낮게(1.5 이하) : 물렁하고 부드러운(Soft/Jelly) 느낌.출렁임이 느리고 크게 늘어남.
[Range(0.5f, 5f)] public float stiffness = 2.2f;
[Tooltip("감쇠 계수. 높을수록 흔들림이 빨리 멈춤. 낮을수록 오래 지속.")]
//높게 (0.5 이상): 흔들림이 빨리 멈추고 잔진동이 적어 깔끔함.
//낮게 (0.3 이하): 흔들림이 오래 지속되고 잔진동이 많아 물컹거리는 느낌이 강함.
[Range(0f, 1f)] public float dampingRatio = 0.4f;
[Header("JellySprite 질량/중력/드래그")]
[Tooltip("전체 질량. 높을수록 둔하고, 낮을수록 민감하게 반응.(높을스록 흔들림 주기가 길어짐)")]
//높게 (1.0 이상): 관성이 커져 외부 힘에 둔하게 반응하며, 흔들림 주기가 길어짐.
//낮게 (0.5 이하): 외부 힘에 민감하게 반응하고, 가벼워 보임.
[Range(0.1f, 2f)] public float mass = 0.8f;
[Tooltip("중력 배율. 높을수록 아래로 처지는(Sag) 느낌이 강해짐.")]
//높게 (0.5 이상): 아래로 처지는(Sag) 효과가 강해져 더 육중한 느낌을 줌.
//0에 가깝게: 처짐 효과가 거의 없어 매우 가볍게 출렁거림.
[Range(0f, 2f)] public float gravityScale = 0f; //0.25f;
[Tooltip("이동 시 공기 저항(선형 드래그). 움직임 전반을 둔화시킴.")]
//높게: 움직임이 전반적으로 둔화되고 속도가 느려짐. 물리 폭주를 막는 보조 수단으로도 활용.
[Range(0f, 2f)] public float drag = 0f; //0.35f;
[Tooltip("회전 저항(Angular Drag). 회전 움직임을 둔화시킴.")]
//높게: 움직임이 전반적으로 둔화되고 속도가 느려짐. 물리 폭주를 막는 보조 수단으로도 활용.
[Range(0f, 2f)] public float angularDrag = 0.6f;
[Header("=== Player(Blade) 흔들림 설정 ===")]
[Tooltip("Player(터치) 충돌 시 가슴에 가해지는 힘의 강도. 높을수록 크게 출렁임.")]
//높게: 외부 터치에 가슴이 더 크게 밀려나고 출렁이게 한다. (강한 상호작용)
[Range(1f, 30f)] public float playerJiggleStrength = 26f;
[Tooltip("Player 흔들림 힘에 적용되는 랜덤 변동 비율. (0.3 이상 권장)")]
//높게 (0.3 이상): 충돌마다 가해지는 힘의 크기가 불규칙해져 매번 다른 흔들림을 연출하여 자연스러움을 높인다.
[Range(0f, 1f)] public float randomVariation = 0.5f;
[Header("흔들림 방향 설정")]
[Tooltip("흔들림 발생 시 좌우로 퍼지는 범위. 0이면 수직으로만 흔들림. (0.2~0.5 권장)")]
//적절한 양수 (0.2~0.5): 힘이 좌우로도 퍼져서 흔들림이 수직을 넘어 옆으로도 퍼지게 하여 더 풍부한 움직임을 만든다.
[Range(-1f, 1f)] public float horizontalSpread = 0.5f;
[Tooltip("위아래 편향. 높을수록 아래로 힘이 쏠려 처짐/출렁임을 강조. (1.0 이상 권장)")]
//높게 (1.0 이상): 힘의 방향이 아래쪽으로 강하게 쏠려 중력에 의한 처짐과 아래 방향 출렁임을 강조한다. (자연스러운 처짐 연출)
[Range(0f, 3f)] public float verticalBias = 0.8f;
[Header("=== Ball 흔들림 설정 (물리엔진 사용) ===")]
[Tooltip("Ball 충돌 시 기본 물리 반응에 더해지는 추가 힘.")]
//0 이상: Ball 충돌 시 기본 물리 반응에 이 추가 힘을 더해 더욱 강력한 충격 반응을 줄 수 있다.
[Range(0f, 30f)] public float ballJiggleStrength = 26f;
[Tooltip("충돌 지점 반발력이 전체 힘에 미치는 영향도. 높을수록 밀리는 느낌이 강해짐.")]
//높게 (1.5 이상): 충돌한 지점의 반발력이 전체 힘 방향에 강하게 반영되도록 하여, verticalBias보다 국소적인 반응을 강조한다.
[Range(0f, 5f)] public float contactPointInfluence = 3f;
[Header("=== 힘 제한 ===")]
[Tooltip("JellySprite에 가할 수 있는 최대 힘 제한. 물리 폭주 방지용. (10.0~20.0 권장)")]
//양수 (10.0~20.0): 값이 너무 크면 물리 폭주로 가슴 메쉬가 과도하게 늘어나거나 튕겨 나갈 수 있으므로, 안정적인 값으로 제한한다.
public float maxJellyForce = 26f;
[Header("=== 충돌 위치 기반 반응 ===")]
[Tooltip("충돌 지점 기반의 반발력 방향 사용 여부. (가장 현실적인 반응, 권장: True)")]
public bool useContactPointPhysics = true;
[Header("=== 디버그 옵션 ===")]
[Tooltip("충돌/힘 적용 방향을 Scene 뷰에 시각화")]
public bool showDebugGizmos = false;
[Tooltip("충돌 및 힘 적용 로그를 콘솔에 표시")]
public bool showDebugLog = false;
// 연속 충돌 무시 시간
private float minCollisionInterval = 0.18f;// 0.08f;//0.2f;
private float lastCollisionTime = -999f;
private JellySprite jelly;
private Vector2 lastContactPoint;
private void Awake()
{
jelly = GetComponent<JellySprite>();
if (jelly == null)
{
Debug.LogError("JellySprite 컴포넌트를 찾을 수 없습니다!");
return;
}
if (autoConfigureJellySprite)
ApplyJellySpriteSettings();
}
/// <summary>JellySprite 물리 속성 적용</summary>
private void ApplyJellySpriteSettings()
{
jelly.m_Stiffness = stiffness;
jelly.m_DampingRatio = dampingRatio;
jelly.m_Mass = mass;
jelly.m_GravityScale = gravityScale;
jelly.m_Drag = drag;
jelly.m_AngularDrag = angularDrag;
if (Application.isPlaying)
{
jelly.InitMass();
jelly.UpdateJoints();
jelly.WakeUp();
}
jelly.m_UseGravity = true;
/*
#if UNITY_EDITOR
SerializedObject so = new SerializedObject(jelly);
so.Update();
so.ApplyModifiedProperties();
#endif
*/
if (showDebugLog)
Debug.Log($"[BreastJiggle] JellySprite 설정 적용 - Stiffness: {stiffness}, Damping: {dampingRatio}");
}
private void OnValidate()
{
if (jelly != null && autoConfigureJellySprite && Application.isPlaying)
ApplyJellySpriteSettings();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
if (Time.time - lastCollisionTime < minCollisionInterval)
{
if (showDebugLog)
Debug.Log("[BreastJiggle] 충돌 간격이 너무 짧아서 무시됨");
return;
}
lastCollisionTime = Time.time;
//jelly.m_Stiffness = 2.6f;
ApplyJellyForceForPlayer(DSUtil.RandomVector(0.01f, 0.1f), playerJiggleStrength);
}
// 멈추기 실패
//if (Time.time - lastCollisionTime > 1f)
//{
// lastCollisionTime = Time.time;
// jelly.m_Stiffness = 0f;
//}
}
private void HandleCollision(Collider2D other)
{
//if (!other.CompareTag("Player") && !other.CompareTag("Ball")) return;
if (!other.CompareTag("Player")) return;
if (Time.time - lastCollisionTime < minCollisionInterval)
{
if (showDebugLog)
Debug.Log("[BreastJiggle] 충돌 간격이 너무 짧아서 무시됨");
return;
}
lastCollisionTime = Time.time;
Vector2 contactPoint = other.ClosestPoint(transform.position);
lastContactPoint = contactPoint;
if (showDebugLog)
Debug.Log($"[BreastJiggle] 충돌 감지: {other.name} (Tag: {other.tag})");
// Player 터치일 경우 AddForce로 흔들림 적용
if (other.CompareTag("Player"))
{
ApplyJellyForceForPlayer(contactPoint, playerJiggleStrength);
//GameManager.Instance.StartRandomReaction();
}
/*
// Ball일 경우 물리엔진 적용 + Ball용 힘 추가
if (other.CompareTag("Ball"))
{
ApplyJellyForceForBall(contactPoint, ballJiggleStrength);
}
*/
}
/// <summary>Player/Blade 전용 힘 적용</summary>
private void ApplyJellyForceForPlayer(Vector2 contactPoint, float strength)
{
Vector2 direction = CalculateJiggleDirection(contactPoint);
float force = strength;
if (maxJellyForce > 0) force = Mathf.Min(force, maxJellyForce);
jelly.AddForce(direction * force);
if (showDebugLog)
Debug.Log($"[BreastJiggle] Player 힘 적용: {force:F2} (방향: {direction})");
if (showDebugGizmos)
Debug.DrawRay(transform.position, direction * force * 0.5f, Color.yellow, 1f);
}
/// <summary>
/// Ball이 닿았을 때 AddForce로 가슴에 가해지는 힘, 기본 물리엔진에+Add
/// </summary>
/// <param name="contactPoint"></param>
/// <param name="strength"></param>
private void ApplyJellyForceForBall(Vector2 contactPoint, float strength)
{
if (strength <= 0.0f) return;
Vector2 direction = CalculateJiggleDirection(contactPoint);
float force = strength; // Ball은 랜덤 variation 없이 일정 힘
if (maxJellyForce > 0) force = Mathf.Min(force, maxJellyForce);
jelly.AddForce(direction * force);
if (showDebugLog)
Debug.Log($"[BreastJiggle] Ball 힘 적용: {force:F2} (방향: {direction})");
if (showDebugGizmos)
Debug.DrawRay(transform.position, direction * force * 0.5f, Color.green, 1f);
}
/// <summary>충돌 지점 기반 힘 방향 계산</summary>
private Vector2 CalculateJiggleDirection(Vector2 contactPoint)
{
if (useContactPointPhysics)
{
Vector2 offset = contactPoint - (Vector2)transform.position;
Vector2 pushDir = -offset.normalized;
Vector2 gravityBiasVec = Vector2.down * verticalBias;
float horizWave = Random.Range(-horizontalSpread, horizontalSpread);
Vector2 lateralMove = Vector2.right * horizWave;
return (pushDir * contactPointInfluence + gravityBiasVec + lateralMove).normalized;
}
else
{
return new Vector2(Random.Range(-horizontalSpread, horizontalSpread),
-verticalBias + Random.Range(-0.3f, 0.2f)).normalized;
}
}
/// <summary>
/// Player(Blade)와 충돌시 이벤트 발생
/// </summary>
/// <param name="trigger"></param>
void OnJellyTriggerEnter2D(JellySprite.JellyCollider2D trigger) => HandleCollision(trigger.Collider2D);
/// <summary>
/// Ball과 충돌시 이벤트 발생
/// </summary>
/// <param name="collision"></param>
void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D collision) => HandleCollision(collision.Collision2D.collider);
private void OnDrawGizmos()
{
if (!showDebugGizmos || !Application.isPlaying) return;
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(lastContactPoint, 0.15f);
Gizmos.color = Color.blue;
Gizmos.DrawWireSphere(transform.position, 0.1f);
Gizmos.color = Color.cyan;
Gizmos.DrawLine(transform.position, lastContactPoint);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f56d5d40f20d68640a98b91f9b8dd88f

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 KiB

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 6ad179b7cd6faa54da6c26a8f7027bd6
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 0
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 8b44fc46f4ba4004dba5c9b6db77d727
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 0
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: b3c8eaf1d9755174bb903dd3e40aca6c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 0
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: e8f0ced2a590e9548a05b46247d45deb
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 0
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: 393475737ca7fa0448eb2e8cd4eed02a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 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: 0
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
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,521 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3574105332676644573
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3350574782794326732}
- component: {fileID: 3935848134669709998}
- component: {fileID: 6333177682449739710}
m_Layer: 0
m_Name: Girl1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &3350574782794326732
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3574105332676644573}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.8333333, y: 0.8333333, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6426129326276498135}
- {fileID: 2687445817536164929}
m_Father: {fileID: 2923904872549073819}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3935848134669709998
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3574105332676644573}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 2
m_Sprite: {fileID: 21300000, guid: 6ad179b7cd6faa54da6c26a8f7027bd6, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 8, y: 12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &6333177682449739710
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3574105332676644573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 03994709fdcb0024daf0094fc2640046, type: 3}
m_Name:
m_EditorClassIdentifier:
SetFit: 0
--- !u!1 &5075662245161426955
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2923904872549073819}
m_Layer: 0
m_Name: GameBG_Girls
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2923904872549073819
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5075662245161426955}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3350574782794326732}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6490517267236978573
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2687445817536164929}
- component: {fileID: 3935515269710912896}
- component: {fileID: 2540154696796119336}
- component: {fileID: 5856269175289868540}
- component: {fileID: 6796406411234791068}
m_Layer: 0
m_Name: right
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2687445817536164929
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490517267236978573}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.188, y: -0.096, z: 90}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 3350574782794326732}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3935515269710912896
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490517267236978573}
m_Mesh: {fileID: 0}
--- !u!23 &2540154696796119336
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490517267236978573}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 4
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &5856269175289868540
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490517267236978573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f56d5d40f20d68640a98b91f9b8dd88f, type: 3}
m_Name:
m_EditorClassIdentifier:
autoConfigureJellySprite: 1
stiffness: 2.6
dampingRatio: 0.4
mass: 0.6
gravityScale: 0
drag: 0
angularDrag: 0.6
playerJiggleStrength: 26
randomVariation: 0.5
horizontalSpread: 0.5
verticalBias: 2.5
ballJiggleStrength: 26
contactPointInfluence: 3
maxJellyForce: 26
useContactPointPhysics: 1
showDebugGizmos: 0
showDebugLog: 0
--- !u!114 &6796406411234791068
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6490517267236978573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Style: 4
m_FreeModeBodyPositions:
- {x: 0.6082516, y: 0.36182773, z: 0}
- {x: 0.39577544, y: -0.38162583, z: 0}
- {x: -0.11267599, y: -0.029338935, z: 0}
- {x: -0.45166928, y: 0.38054734, z: 0}
- {x: -0.049742743, y: 1.1079566, z: 0}
- {x: -1.0923802, y: -0.022991307, z: 0}
- {x: -0.6404312, y: -0.7940869, z: 0}
- {x: 0.20554411, y: -1.0841298, z: 0}
- {x: 0.7366493, y: -0.8923086, z: 0}
- {x: 0.7687665, y: 0.8506411, z: 0}
m_FreeModeBodyRadii:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
m_FreeModeBodyKinematic: 00000000010101010101
m_MassStyle: 1
m_PhysicsMaterial: {fileID: 0}
m_PhysicsMaterial2D: {fileID: 0}
m_Interpolation: 0
m_Interpolation2D: 0
m_CollisionDetectionMode: 0
m_CollisionDetectionMode2D: 0
m_ManualPositioning: 0
m_VertexDensity: 10
m_SphereRadius: 0.25
m_DistanceExponent: 2
m_Stiffness: 2.6
m_Mass: 0.6
m_LockRotation: 1
m_GravityScale: 0
m_UseGravity: 1
m_CollideConnected: 0
m_CentralBodyKinematic: 0
m_Drag: 0
m_AngularDrag: 0.6
m_RadiusPoints: 8
m_GridColumns: 4
m_GridRows: 4
m_DampingRatio: 0.4
m_SoftBodyScale: {x: 1, y: 1}
m_SoftBodyRotation: 0
m_SoftBodyOffset: {x: -0, y: -0}
m_CentralBodyOffset: {x: -0, y: -0}
m_SpriteScale: {x: 1, y: 1}
m_2DMode: 1
m_AttachNeighbors: 0
m_FlipX: 0
m_FlipY: 0
m_SpriteRotation: 0
m_NumAttachPoints: 0
m_AttachPoints: []
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_ReferencePointParent: {fileID: 0}
m_Sprite: {fileID: 21300000, guid: b3c8eaf1d9755174bb903dd3e40aca6c, type: 3}
--- !u!1 &7822468612752013503
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6426129326276498135}
- component: {fileID: 2744337411708788776}
- component: {fileID: 5811243339312445230}
- component: {fileID: 1679020131063060424}
- component: {fileID: 3395158930714754565}
m_Layer: 0
m_Name: left
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6426129326276498135
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7822468612752013503}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.114, y: -0.423, z: 90}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 3350574782794326732}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &2744337411708788776
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7822468612752013503}
m_Mesh: {fileID: 0}
--- !u!23 &5811243339312445230
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7822468612752013503}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 3
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &1679020131063060424
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7822468612752013503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f56d5d40f20d68640a98b91f9b8dd88f, type: 3}
m_Name:
m_EditorClassIdentifier:
autoConfigureJellySprite: 1
stiffness: 2.6
dampingRatio: 0.4
mass: 0.6
gravityScale: 0
drag: 0
angularDrag: 0.6
playerJiggleStrength: 26
randomVariation: 0.5
horizontalSpread: 0.5
verticalBias: 2.5
ballJiggleStrength: 26
contactPointInfluence: 3
maxJellyForce: 26
useContactPointPhysics: 1
showDebugGizmos: 0
showDebugLog: 0
--- !u!114 &3395158930714754565
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7822468612752013503}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Style: 4
m_FreeModeBodyPositions:
- {x: -1.1498797, y: -0.11766222, z: 0}
- {x: -0.30570126, y: -0.5325765, z: 0}
- {x: -0.11267599, y: -0.029338935, z: 0}
- {x: 0.2942046, y: 0.62917155, z: 0}
- {x: -0.049742743, y: 1.1079566, z: 0}
- {x: -0.45305955, y: 0.9537485, z: 0}
- {x: -0.3118915, y: -1.1581447, z: 0}
- {x: 0.2588205, y: -0.93317896, z: 0}
- {x: 0.71889013, y: -0.5726484, z: 0}
- {x: 1.1417036, y: 0.5753781, z: 0}
m_FreeModeBodyRadii:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
m_FreeModeBodyKinematic: 00000000010101010101
m_MassStyle: 1
m_PhysicsMaterial: {fileID: 0}
m_PhysicsMaterial2D: {fileID: 0}
m_Interpolation: 0
m_Interpolation2D: 0
m_CollisionDetectionMode: 0
m_CollisionDetectionMode2D: 0
m_ManualPositioning: 0
m_VertexDensity: 10
m_SphereRadius: 0.25
m_DistanceExponent: 2
m_Stiffness: 2.6
m_Mass: 0.6
m_LockRotation: 1
m_GravityScale: 0
m_UseGravity: 1
m_CollideConnected: 0
m_CentralBodyKinematic: 0
m_Drag: 0
m_AngularDrag: 0.6
m_RadiusPoints: 8
m_GridColumns: 4
m_GridRows: 4
m_DampingRatio: 0.4
m_SoftBodyScale: {x: 1, y: 1}
m_SoftBodyRotation: 0
m_SoftBodyOffset: {x: 0, y: 0}
m_CentralBodyOffset: {x: -0, y: -0}
m_SpriteScale: {x: 1, y: 1}
m_2DMode: 1
m_AttachNeighbors: 0
m_FlipX: 0
m_FlipY: 0
m_SpriteRotation: 0
m_NumAttachPoints: 0
m_AttachPoints: []
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_ReferencePointParent: {fileID: 0}
m_Sprite: {fileID: 21300000, guid: 8b44fc46f4ba4004dba5c9b6db77d727, type: 3}

View File

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

View File

@ -450,7 +450,7 @@ RectTransform:
m_Father: {fileID: 2476409592344570910}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -956,7 +956,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &2200321813798097808
RectTransform:
m_ObjectHideFlags: 0
@ -1000,7 +1000,7 @@ Canvas:
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 1
m_SortingOrder: 5
m_TargetDisplay: 0
--- !u!114 &3437201159627408459
MonoBehaviour:
@ -1155,7 +1155,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6102112568647830540
RectTransform:
m_ObjectHideFlags: 0
@ -1173,7 +1173,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_SizeDelta: {x: 228.15002, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2442863391819959307
CanvasRenderer:
@ -1203,7 +1203,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: c748f1c8f924e5c4dae0733d40e67e7a, type: 3}
m_Sprite: {fileID: 21300000, guid: 6ad179b7cd6faa54da6c26a8f7027bd6, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@ -1534,7 +1534,7 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 2301f648c303bc74fb21db50b2e45e36, type: 3}
m_Font: {fileID: 12800000, guid: 5e7134ef1ebec614fbc21034ba0cf412, type: 3}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
@ -1704,7 +1704,7 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: f7e2995baf2f4134cbf9a1602954a5e4, type: 3}
m_Font: {fileID: 12800000, guid: 5e7134ef1ebec614fbc21034ba0cf412, type: 3}
m_FontSize: 42
m_FontStyle: 0
m_BestFit: 0
@ -1960,7 +1960,7 @@ RectTransform:
m_Father: {fileID: 8705162283690120965}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -52, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -2013,6 +2013,7 @@ GameObject:
- component: {fileID: 8855047054072020524}
- component: {fileID: 3041709992109600824}
- component: {fileID: 2658234893234789795}
- component: {fileID: 8682701599452038149}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
@ -2067,7 +2068,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Sprite: {fileID: 21300000, guid: b0a7567624709ee45872c0e655845f2d, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@ -2077,6 +2078,29 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!223 &8682701599452038149
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9124151103754399212}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 1
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 1
m_TargetDisplay: 0
--- !u!1001 &402621140322731400
PrefabInstance:
m_ObjectHideFlags: 0
@ -2892,6 +2916,10 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 7960964080001818892}
m_Modifications:
- target: {fileID: 2984764560377151519, guid: 645aa0b8fb925124b9cda6e3790acd3a, type: 3}
propertyPath: m_AnchoredPosition.y
value: -59.99997
objectReference: {fileID: 0}
- target: {fileID: 3521403756299021640, guid: 645aa0b8fb925124b9cda6e3790acd3a, type: 3}
propertyPath: m_Pivot.x
value: 0.5

View File

@ -0,0 +1,56 @@
using UnityEngine;
[RequireComponent(typeof(SpriteRenderer))]
[ExecuteInEditMode]
public class BackgroundFitter : MonoBehaviour
{
#if UNITY_EDITOR
public bool SetFit = false;
private void Update()
{
if (SetFit)
{
SetFit = false;
Set();
}
}
#endif
public void Set()
{
//SpriteRenderer sr = GetComponent<SpriteRenderer>();
//if (sr.sprite == null) return;
//// 스프라이트의 원래 크기(픽셀 단위)
//float spriteWidth = sr.sprite.bounds.size.x;
//float spriteHeight = sr.sprite.bounds.size.y;
//// 카메라
//Camera cam = Camera.main;
//float worldScreenHeight = cam.orthographicSize * 2f; // 세로 크기(월드 단위)
//float worldScreenWidth = worldScreenHeight * cam.aspect; // 가로 크기(월드 단위)
//// 배경 스케일 계산
//transform.localScale = new Vector3(
// worldScreenWidth / spriteWidth,
// worldScreenHeight / spriteHeight,
// 1f
//);
var sr = GetComponent<SpriteRenderer>();
if (sr == null) return;
// 스프라이트 크기
float width = sr.sprite.bounds.size.x;
float height = sr.sprite.bounds.size.y;
// 화면 비율
float worldScreenHeight = Camera.main.orthographicSize * 2f;
float worldScreenWidth = worldScreenHeight * Screen.width / Screen.height;
// 꽉 차게 하기 (잘림 허용)
float scale = Mathf.Max(worldScreenWidth / width, worldScreenHeight / height);
transform.localScale = new Vector3(scale, scale, 1);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 03994709fdcb0024daf0094fc2640046

View File

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using GUPS.AntiCheat.Protected;
using Newtonsoft.Json;
using UnityEngine;
@ -215,6 +216,44 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
Save();
}
public albumtabledata Get_RandomAlbum()
{
var girllst = table_girl.Ins.Get_DataList();
for (int i = 0; i < girllst.Count; i++)
{
int girl = girllst[i].n_GirlID;
if (!IsObtainGirl(girl))
continue;
var albums = table_album.Ins.Get_AlbumDataList(girl);
if (!m_SaveData.dic_albumOpen.TryGetValue(girl, out var openedAlbums))
openedAlbums = new List<AlbumSaveData>();
if (openedAlbums.Count >= albums.Count)
continue; // 전부 획득함
// 이미 획득한 앨범 ID
HashSet<int> openedSet = new HashSet<int>(
openedAlbums.Select(x => x.ID)
);
// 미획득 앨범
var noobtainalbums = albums
.Where(a => !openedSet.Contains(a.n_Index))
.ToList();
if (noobtainalbums.Count > 0)
{
// 여기서 랜덤 1개 리턴
return noobtainalbums[UnityEngine.Random.Range(0, noobtainalbums.Count)];
}
}
return null; // 전부 획득 → 글로벌 밸류 하트 지급
}
public void Open_Album(albumtabledata data)
{
if (!m_SaveData.dic_albumOpen.ContainsKey(data.n_GirlID))

View File

@ -161,9 +161,16 @@ public class GachaUI : uScrollViewMgr
{
Init_GachaAnim();
SaveMgr.Ins.Add_Money(eMoney.Lucky, -table_GlobalValue.Ins.Get_Int("LuckyPoint"));
var randomalbum = SaveMgr.Ins.Get_RandomAlbum();
if (randomalbum != null) SaveMgr.Ins.Open_Album(randomalbum);
else SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, table_GlobalValue.Ins.Get_Int("LuckyGachaMaxHeart_Amount"));
SaveMgr.Ins.Save();
LobbyUI.Ins.m_Game_Lucky.Set();
Set_UI(false);
// 정인호 : 럭키가챠 UI 노출
//LobbyUI.Ins.m_Game_Lucky.Set();
//Set_UI(false);
}
}

View File

@ -90,6 +90,10 @@ public class ProfileCard : MonoBehaviour
{
if (CanOpen())
{ // 열 수 있음
// 최초 한 장 공짜 지급
SaveMgr.Ins.Open_Album(table_album.Ins.Get_SpecialAlbum(m_Data.n_GirlID, eCollectionMethod.Default));
SaveMgr.Ins.Save();
Set_UI();
}
else

8
Assets/ThirdParty/JellySprites.meta vendored Normal file
View File

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

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: fb21b2a17a17b43a9a94efcac6880353
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,7 @@
{\rtf1\ansi\ansicpg1252\cocoartf1265
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural
\f0\fs24 \cf0 Important! Please only extract this package if you own the 2D Toolkit asset and wish to enable Jelly Sprite support for it! Extracting this package will cause compile errors if you do not own 2D Toolkit.}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1956ce22386624496855baf53035640d
DefaultImporter:
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/2D Toolkit/Important.rtf
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 81eef36e04eac2b4aa4fcb0e2bee4e97
folderAsset: yes
DefaultImporter:
userData:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 829e7d8e9c21bf84ea644ee78893fa76
DefaultImporter:
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Jelly Sprite Demo Scene.unity
uploadId: 554010

View File

@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jelly Sprite Demo SceneSettings
serializedVersion: 9
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 0
m_BakeBackend: 1
m_LightmapMaxSize: 1024
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 50
m_Padding: 2
m_LightmapCompression: 0
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 0
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 1
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 1
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 512
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 0
m_PVRFilteringMode: 0
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b650199409a501d42a67f4fed39903f8
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: c2a70b32b76c1964f9d493fa8179378d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity
uploadId: 554010

View File

@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jelly Sprite Mouse Movement SceneSettings
serializedVersion: 9
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 0
m_BakeBackend: 1
m_LightmapMaxSize: 1024
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 50
m_Padding: 2
m_LightmapCompression: 0
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 0
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 1
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 1
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 512
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 0
m_PVRFilteringMode: 0
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 17fb28342ef6239499248f56473542a4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 8773002b0c2f6cc4d865bec26da010e2
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,35 @@
%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: Debug Material
m_Shader: {fileID: 30, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 2800000, guid: 3baeae1326ddeef4ab97a9472cd41151, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: []
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 0.19607843}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a2e65a8c669271d48b9a077881c338de
NativeFormatImporter:
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Materials/Debug Material.mat
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: da650685c193ff44697488dc451fd099
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,44 @@
using UnityEngine;
using System.Collections;
public class BlobBehaviour : MonoBehaviour
{
public float m_MinBounceTime = 0.3f;
public float m_MaxBounceTime = 1.0f;
public float m_MinJumpForce = 10.0f;
public float m_MaxJumpForce = 10.0f;
public Vector2 m_MinJumpVector = new Vector2(-0.1f, 1.0f);
public Vector2 m_MaxJumpVector = new Vector2(0.1f, 1.0f);
public LayerMask m_GroundLayer;
JellySprite m_JellySprite;
float m_BounceTimer;
/// <summary>
/// Start this instance.
/// </summary>
void Start ()
{
m_JellySprite = GetComponent<JellySprite>();
m_BounceTimer = UnityEngine.Random.Range(m_MinBounceTime, m_MaxBounceTime);
}
/// <summary>
/// Update this instance.
/// </summary>
void Update ()
{
m_BounceTimer -= Time.deltaTime;
// Randomly bounce around
if(m_BounceTimer < 0.0f && m_JellySprite.IsGrounded(m_GroundLayer, 2))
{
Vector2 jumpVector = Vector2.zero;
jumpVector.x = UnityEngine.Random.Range(m_MinJumpVector.x, m_MaxJumpVector.x);
jumpVector.y = UnityEngine.Random.Range(m_MinJumpVector.y, m_MaxJumpVector.y);
jumpVector.Normalize();
m_JellySprite.AddForce(jumpVector * UnityEngine.Random.Range(m_MinJumpForce, m_MaxJumpForce));
m_BounceTimer = UnityEngine.Random.Range(m_MinBounceTime, m_MaxBounceTime);
}
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: dbf57392da360e54eb4a6ce326dc9067
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Scripts/BlobBehaviour.cs
uploadId: 554010

View File

@ -0,0 +1,92 @@
using UnityEngine;
using System.Collections;
public class BlobEyes : MonoBehaviour
{
SpriteRenderer m_SpriteRenderer;
public Sprite m_ClosedSprite;
public Sprite m_OpenSprite;
public float m_MinBlinkInterval = 2.0f;
public float m_MaxBlinkInterval = 3.0f;
public float m_MinBlinkTime = 0.1f;
public float m_MaxBlinkTime = 0.15f;
public GameObject m_PupilLeft;
public GameObject m_PupilRight;
public float m_EyeRadius = 1.0f;
float m_BlinkTimer;
bool m_Blinking;
Vector3 m_LookDirection;
Vector3 m_PupilLeftCentre;
Vector3 m_PupilRightCentre;
Transform m_LookTarget;
/// <summary>
/// Start this instance.
/// </summary>
void Start ()
{
m_SpriteRenderer = GetComponent<SpriteRenderer>();
m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkInterval, m_MaxBlinkInterval);
m_PupilLeftCentre = m_PupilLeft.transform.localPosition;
m_PupilRightCentre = m_PupilRight.transform.localPosition;
}
/// <summary>
/// Update this instance.
/// </summary>
void Update ()
{
m_BlinkTimer -= Time.deltaTime;
if(m_BlinkTimer < 0.0f)
{
m_Blinking = !m_Blinking;
if(m_Blinking)
{
GameObject[] blobs = GameObject.FindGameObjectsWithTag("Blob");
int randomBlobIndex = UnityEngine.Random.Range(0, blobs.Length);
if(blobs[randomBlobIndex] != this.gameObject)
{
m_LookTarget = blobs[randomBlobIndex].transform;
}
m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkTime, m_MaxBlinkTime);
m_SpriteRenderer.sprite = m_ClosedSprite;
m_PupilLeft.SetActive(false);
m_PupilRight.SetActive(false);
}
else
{
m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkInterval, m_MaxBlinkInterval);
m_SpriteRenderer.sprite = m_OpenSprite;
m_PupilLeft.SetActive(true);
m_PupilRight.SetActive(true);
}
}
float lookFilterFactor = 0.1f;
Vector3 desiredLookDirection;
if(m_LookTarget != null)
{
desiredLookDirection = m_LookTarget.transform.position - this.transform.position;
}
else
{
desiredLookDirection = Vector2.zero;
}
desiredLookDirection.Normalize();
m_LookDirection.x = (m_LookDirection.x * (1.0f - lookFilterFactor)) + (desiredLookDirection.x * lookFilterFactor);
m_LookDirection.y = (m_LookDirection.y * (1.0f - lookFilterFactor)) + (desiredLookDirection.y * lookFilterFactor);
m_PupilLeft.transform.localPosition = m_PupilLeftCentre + (m_LookDirection * m_EyeRadius);
m_PupilRight.transform.localPosition = m_PupilRightCentre + (m_LookDirection * m_EyeRadius);
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 8226ec8bfb3372142a457c0d9db860e5
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Scripts/BlobEyes.cs
uploadId: 554010

View File

@ -0,0 +1,146 @@
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class JellySpriteDemoManager : MonoBehaviour
{
bool m_DrawPhysicsBodies = false;
GameObject[] m_BlobObjects;
bool m_DebugRenderersCreated;
public Material m_DebugRenderMaterial;
// Use this for initialization
void Start ()
{
m_BlobObjects = GameObject.FindGameObjectsWithTag("Blob");
Physics.gravity = new Vector3(0, -50, 0);
}
/// <summary>
/// Turn all the debug sprite renderers on/off
/// </summary>
void SetSpriteRenderersEnabled(bool enabled)
{
foreach(GameObject gameObject in m_BlobObjects)
{
JellySprite jellySprite = gameObject.GetComponent<JellySprite>();
if(jellySprite)
{
foreach(JellySprite.ReferencePoint referencePoint in jellySprite.ReferencePoints)
{
GameObject refPointObject = referencePoint.GameObject;
if(refPointObject)
{
MeshRenderer meshRenderer = refPointObject.GetComponent<MeshRenderer>();
if(meshRenderer)
{
meshRenderer.enabled = enabled;
}
}
}
}
}
}
/// <summary>
/// Draws the GUI
/// </summary>
void OnGUI ()
{
if(m_DrawPhysicsBodies)
{
if(GUI.Button(new Rect(20,20,200,20), "Render Physics Bodies: On"))
{
m_DrawPhysicsBodies = !m_DrawPhysicsBodies;
SetSpriteRenderersEnabled(false);
}
}
else
{
if(GUI.Button(new Rect(20,20,200,20), "Render Physics Bodies: Off"))
{
m_DrawPhysicsBodies = !m_DrawPhysicsBodies;
if(!m_DebugRenderersCreated)
{
foreach(GameObject gameObject in m_BlobObjects)
{
JellySprite jellySprite = gameObject.GetComponent<JellySprite>();
if(jellySprite)
{
// Go through and create a simple circle mesh for each body
foreach(JellySprite.ReferencePoint referencePoint in jellySprite.ReferencePoints)
{
if(referencePoint.InitialOffset == Vector3.zero)
{
continue;
}
GameObject referencePointObject = referencePoint.GameObject;
if(referencePointObject)
{
MeshRenderer meshRenderer = referencePointObject.AddComponent<MeshRenderer>();
MeshFilter meshFilter = referencePointObject.AddComponent<MeshFilter>();
Mesh newMesh = new Mesh();
newMesh.name = "JellySprite Debug Mesh";
List<Vector3> meshVertices = new List<Vector3>();
List<int> meshTriangles = new List<int>();
List<Vector2> meshUVs = new List<Vector2>();
List<Color> meshColors = new List<Color>();
meshVertices.Add(Vector3.zero);
meshUVs.Add(Vector2.zero);
meshColors.Add (Color.white);
for(int loop = 0; loop <= 32; loop++)
{
float angle = ((Mathf.PI * 2.0f)/32.0f) * loop;
float x = Mathf.Cos(angle) * referencePoint.Radius;
float y = Mathf.Sin(angle) * referencePoint.Radius;
meshVertices.Add(new Vector3(x, y, 0.0f));
meshUVs.Add(Vector2.one);
meshColors.Add (Color.white);
}
for(int loop = 1; loop <= 32; loop++)
{
meshTriangles.Add(0);
meshTriangles.Add(loop);
meshTriangles.Add(loop -1);
}
meshTriangles.Add(0);
meshTriangles.Add(1);
meshTriangles.Add(32);
newMesh.Clear();
newMesh.vertices = meshVertices.ToArray();
newMesh.uv = meshUVs.ToArray();
newMesh.colors = meshColors.ToArray();
newMesh.triangles = meshTriangles.ToArray();
newMesh.RecalculateBounds();
newMesh.RecalculateNormals();
meshFilter.mesh = newMesh;
meshRenderer.sharedMaterial = m_DebugRenderMaterial;
meshRenderer.sortingOrder = 500;
}
}
}
}
m_DebugRenderersCreated = true;
}
SetSpriteRenderersEnabled(true);
}
}
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 7717bf13e118e0a4f9626d4dec85af6d
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs
uploadId: 554010

View File

@ -0,0 +1,48 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// input system 변경 후 사용 불가
public class JellySpriteFollowMouse : MonoBehaviour
{
public float m_MaxDistanceOffset = 2.0f;
// Update is called once per frame
void Update()
{
Vector2 mousePos = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
mousePos = Camera.main.ScreenToWorldPoint(mousePos);
JellySprite jellySprite = GetComponent<JellySprite>();
// This uses Physics system's MovePosition to move the jelly sprite using physics forces
if(jellySprite)
{
if(jellySprite.CentralPoint.Body2D)
{
jellySprite.CentralPoint.Body2D.MovePosition(mousePos);
}
else if (jellySprite.CentralPoint.Body3D)
{
jellySprite.CentralPoint.Body3D.MovePosition(mousePos);
}
foreach(JellySprite.ReferencePoint refPoint in jellySprite.ReferencePoints)
{
if(refPoint != jellySprite.CentralPoint)
{
Vector2 offset = refPoint.transform.position - jellySprite.CentralPoint.transform.position;
float distance = offset.magnitude;
float initialDistance = refPoint.InitialOffset.magnitude;
// This prevents the physics body from getting too far away from the central point (eg. if it gets stuck behind an object)
if(distance > initialDistance * m_MaxDistanceOffset)
{
refPoint.transform.position = (jellySprite.CentralPoint.transform.position) + (Vector3)(offset.normalized * initialDistance);
}
}
}
}
}
}

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 55c8fe5d9a49d3c4bad842cd5eae45f7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: bac6e10276824564aa0a916a4b4045ee
folderAsset: yes
DefaultImporter:
userData:

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: e053c7ea574825645a78a8c1db0c0723
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/HutFloor.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 44f89850214d9e24080dfacf1165b837
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/Logo.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: a6d7486e588f0ff4caed88a7356f3fd3
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/blueBlob.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 17fc81f46da2d8342bf176224522c6d0
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/blueEyesClosed.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: f797c4493d98e1d4e8709d5217dd8cdc
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/blueEyesNormal.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 4dd6972387fb3204fab22bc3c4cb3a8e
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/brownBlob.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 8dfd2447f63e37342888c262b7acbbc4
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/brownEyes.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 56e65b7643c20a340a63f639d2388906
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/brownEyesClosed.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 5defc05ee24247447815e7ce724961fe
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/hutWall1.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 60b1ed3f309acf44ead2b73f9afa3b4f
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/hutWall2.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 1bf823ed97bd0aa4e94356b09546f889
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/orangeBlob.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 12ca02a3e2ab3d94293f3d07a9e96c90
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/orangeEyes.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: a62fb5d445fae3745be11a48c8b82668
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/orangeEyesClosed.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 53f949e5141cb0247b4a5b89de21b524
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/pinkBlob.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 8669fe48da4d3e9458e5291d1362dd8a
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/pinkEyes.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 7b3fd9ab033015a4f87d028f155b181c
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/pinkEyesShut.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: d08529a652bd6584da326fc1d42e1aeb
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/pupil.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 4082ddc36f76b29448f8195b68fa5456
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/whiteBlob.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: dcc2061f431d4bf45a8c22bb725b92ea
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/whiteEyes.png
uploadId: 554010

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 50c1f56eb7b384d469163cce60034942
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Sprites/whiteEyesClosed.png
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: e2bc0ef6cbcd046498049b5dc2c74cd6
folderAsset: yes
DefaultImporter:
userData:

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 B

View File

@ -0,0 +1,103 @@
fileFormatVersion: 2
guid: 3baeae1326ddeef4ab97a9472cd41151
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: 1024
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
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: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Demo/Textures/DebugTexture.png
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 02a3d20092dc5814182f5e7b8108ed2d
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,623 @@
using UnityEditor;
using UnityEngine;
using System;
[CustomEditor(typeof(JellySprite)), CanEditMultipleObjects]
public class JellySpriteEditor : Editor
{
public SerializedProperty m_PhysicsStyle;
public SerializedProperty m_PhysicsMode;
public SerializedProperty m_CircleRadiusPoints;
public SerializedProperty m_GridRows;
public SerializedProperty m_GridColumns;
public SerializedProperty m_ColliderRadius;
public SerializedProperty m_Stiffness;
public SerializedProperty m_Mass;
public SerializedProperty m_ManualPositioning;
public SerializedProperty m_DampingRatio;
public SerializedProperty m_VertexDensity;
public SerializedProperty m_PhysicsMaterial2D;
public SerializedProperty m_PhysicsMaterial;
public SerializedProperty m_InterpolationMode;
public SerializedProperty m_InterpolationMode2D;
public SerializedProperty m_CollisionDetectionMode;
public SerializedProperty m_CollisionDetectionMode2D;
public SerializedProperty m_DistanceExponent;
public SerializedProperty m_MassStyle;
public SerializedProperty m_GravityScale;
public SerializedProperty m_UseGravity;
public SerializedProperty m_Drag;
public SerializedProperty m_AngularDrag;
public SerializedProperty m_SoftBodyScale;
public SerializedProperty m_SoftBodyRotation;
public SerializedProperty m_SoftBodyOffset;
public SerializedProperty m_CentralBodyOffset;
public SerializedProperty m_SpriteScale;
public SerializedProperty m_AttachPoints;
public SerializedProperty m_NumAttachPoints;
public SerializedProperty m_FlipX;
public SerializedProperty m_FlipY;
public SerializedProperty m_SpriteRotation;
public SerializedProperty m_CollideConnected;
public SerializedProperty m_AttachNeighbors;
public SerializedProperty m_LockRotation;
public SerializedProperty m_CentralBodyKinematic;
public SerializedProperty m_Color;
bool m_InitialFlipX;
bool m_InitialFlipY;
float m_InitialSpriteRotation;
bool m_InitialLockRotation;
bool m_InitialCentralBodyKinematic;
Color m_InitialColor;
int m_InitialVertexDensity;
int m_InitialMassStyle;
int m_InitialInterpolation2D;
int m_InitialInterpolation;
int m_InitialCollisionDetectionMode;
int m_InitialCollisionDetectionMode2D;
int m_InitialNumAttachPoints;
float m_InitialStiffness;
float m_InitialDamping;
float m_InitialMass;
float m_InitialDistanceExponent;
float m_InitialGravityScale;
bool m_InitialUseGravity;
float m_InitialDrag;
float m_InitialAngularDrag;
Vector2 m_InitialSpriteScale;
protected virtual void OnEnable ()
{
// Setup the SerializedProperties
m_PhysicsStyle = serializedObject.FindProperty("m_Style");
m_PhysicsMode = serializedObject.FindProperty("m_2DMode");
m_CircleRadiusPoints = serializedObject.FindProperty("m_RadiusPoints");
m_GridRows = serializedObject.FindProperty("m_GridRows");
m_GridColumns = serializedObject.FindProperty("m_GridColumns");
m_ColliderRadius = serializedObject.FindProperty("m_SphereRadius");
m_Stiffness = serializedObject.FindProperty("m_Stiffness");
m_Mass = serializedObject.FindProperty("m_Mass");
m_ManualPositioning = serializedObject.FindProperty("m_ManualPositioning");
m_DampingRatio = serializedObject.FindProperty("m_DampingRatio");
m_VertexDensity = serializedObject.FindProperty("m_VertexDensity");
m_PhysicsMaterial = serializedObject.FindProperty("m_PhysicsMaterial");
m_PhysicsMaterial2D = serializedObject.FindProperty("m_PhysicsMaterial2D");
m_CollisionDetectionMode = serializedObject.FindProperty("m_CollisionDetectionMode");
m_CollisionDetectionMode2D = serializedObject.FindProperty("m_CollisionDetectionMode2D");
m_InterpolationMode = serializedObject.FindProperty("m_Interpolation");
m_InterpolationMode2D = serializedObject.FindProperty("m_Interpolation2D");
m_CollisionDetectionMode = serializedObject.FindProperty("m_CollisionDetectionMode");
m_CollisionDetectionMode2D = serializedObject.FindProperty("m_CollisionDetectionMode2D");
m_DistanceExponent = serializedObject.FindProperty("m_DistanceExponent");
m_MassStyle = serializedObject.FindProperty("m_MassStyle");
m_GravityScale = serializedObject.FindProperty("m_GravityScale");
m_UseGravity = serializedObject.FindProperty("m_UseGravity");
m_Drag = serializedObject.FindProperty("m_Drag");
m_AngularDrag = serializedObject.FindProperty("m_AngularDrag");
m_SoftBodyScale = serializedObject.FindProperty("m_SoftBodyScale");
m_SoftBodyRotation = serializedObject.FindProperty("m_SoftBodyRotation");
m_SoftBodyOffset = serializedObject.FindProperty("m_SoftBodyOffset");
m_CentralBodyOffset = serializedObject.FindProperty("m_CentralBodyOffset");
m_SpriteScale = serializedObject.FindProperty("m_SpriteScale");
m_AttachPoints = serializedObject.FindProperty("m_AttachPoints");
m_NumAttachPoints = serializedObject.FindProperty("m_NumAttachPoints");
m_FlipX = serializedObject.FindProperty("m_FlipX");
m_FlipY = serializedObject.FindProperty("m_FlipY");
m_SpriteRotation = serializedObject.FindProperty("m_SpriteRotation");
m_CollideConnected = serializedObject.FindProperty("m_CollideConnected");
m_AttachNeighbors = serializedObject.FindProperty("m_AttachNeighbors");
m_LockRotation = serializedObject.FindProperty("m_LockRotation");
m_CentralBodyKinematic = serializedObject.FindProperty("m_CentralBodyKinematic");
m_Color = serializedObject.FindProperty("m_Color");
}
private static System.Reflection.PropertyInfo sortingLayerNamesPropInfo = null;
private static bool sortingLayerNamesChecked = false;
private static string[] GetSortingLayerNames()
{
if (sortingLayerNamesPropInfo == null && !sortingLayerNamesChecked)
{
sortingLayerNamesChecked = true;
try
{
System.Type IEU = System.Type.GetType("UnityEditorInternal.InternalEditorUtility,UnityEditor");
if (IEU != null)
{
sortingLayerNamesPropInfo = IEU.GetProperty("sortingLayerNames", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
}
}
catch { }
if (sortingLayerNamesPropInfo == null)
{
Debug.Log("tk2dEditorUtility - Unable to get sorting layer names.");
}
}
if (sortingLayerNamesPropInfo != null)
{
return sortingLayerNamesPropInfo.GetValue(null, null) as string[];
}
else
{
return new string[0];
}
}
public static string SortingLayerNamePopup( string label, string value )
{
string[] names = GetSortingLayerNames();
string finalValueToUse = value;
int hasValueInArray = System.Array.IndexOf(names, finalValueToUse);
// If we can't find the value - set to default
if(hasValueInArray == -1)
{
finalValueToUse = "Default";
}
if (names.Length == 0)
{
return EditorGUILayout.TextField(label, finalValueToUse);
}
else
{
int sel = 0;
for (int i = 0; i < names.Length; ++i)
{
if (names[i] == finalValueToUse)
{
sel = i;
break;
}
}
sel = EditorGUILayout.Popup(label, sel, names);
return names[sel];
}
}
protected virtual void StoreInitialValues()
{
m_InitialVertexDensity = m_VertexDensity.intValue;
m_InitialMassStyle = m_MassStyle.enumValueIndex;
m_InitialInterpolation2D = m_InterpolationMode2D.enumValueIndex;
m_InitialInterpolation = m_InterpolationMode.enumValueIndex;
m_InitialCollisionDetectionMode = m_CollisionDetectionMode.enumValueIndex;
m_InitialCollisionDetectionMode2D = m_CollisionDetectionMode2D.enumValueIndex;
m_InitialStiffness = m_Stiffness.floatValue;
m_InitialDamping = m_DampingRatio.floatValue;
m_InitialMass = m_Mass.floatValue;
m_InitialDistanceExponent = m_DistanceExponent.floatValue;
m_InitialGravityScale = m_GravityScale.floatValue;
m_InitialUseGravity = m_UseGravity.boolValue;
m_InitialDrag = m_Drag.floatValue;
m_InitialAngularDrag = m_AngularDrag.floatValue;
m_InitialSpriteScale = m_SpriteScale.vector2Value;
m_InitialNumAttachPoints = m_NumAttachPoints.intValue;
m_InitialFlipX = m_FlipX.boolValue;
m_InitialFlipY = m_FlipY.boolValue;
m_InitialSpriteRotation = m_SpriteRotation.floatValue;
m_InitialLockRotation = m_LockRotation.boolValue;
m_InitialCentralBodyKinematic = m_CentralBodyKinematic.boolValue;
m_InitialColor = m_Color.colorValue;
}
protected virtual void CheckForObjectChanges()
{
serializedObject.ApplyModifiedProperties();
// Update the visible mesh if the sprite or vertex density was changed
if(m_InitialVertexDensity != m_VertexDensity.intValue ||
m_InitialSpriteScale != m_SpriteScale.vector2Value ||
m_InitialSpriteRotation != m_SpriteRotation.floatValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.RefreshMesh();
}
}
// Update the springs if we altered any of their settings
if(m_InitialStiffness != m_Stiffness.floatValue || m_InitialDamping != m_DampingRatio.floatValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.UpdateJoints();
targetObjectSprite.WakeUp();
}
}
// Recalculate weighting values if the exponent changes
if(m_InitialDistanceExponent != m_DistanceExponent.floatValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.CalculateWeightingValues();
}
}
// Update the mass of each body if the value changed
if(m_InitialMassStyle != m_MassStyle.enumValueIndex ||
m_InitialMass != m_Mass.floatValue ||
m_InitialGravityScale != m_GravityScale.floatValue ||
m_InitialUseGravity != m_UseGravity.boolValue ||
m_InitialAngularDrag != m_AngularDrag.floatValue ||
m_InitialInterpolation != m_InterpolationMode.enumValueIndex ||
m_InitialInterpolation2D != m_InterpolationMode2D.enumValueIndex ||
m_InitialCollisionDetectionMode != m_CollisionDetectionMode.enumValueIndex ||
m_InitialCollisionDetectionMode2D != m_CollisionDetectionMode2D.enumValueIndex ||
m_InitialDrag != m_Drag.floatValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.InitMass();
targetObjectSprite.WakeUp();
}
}
if(m_InitialNumAttachPoints != m_NumAttachPoints.intValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.ResizeAttachPoints();
}
}
if(m_InitialFlipX != m_FlipX.boolValue ||
m_InitialFlipY != m_FlipY.boolValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.UpdateTextureCoords();
}
}
if(m_InitialLockRotation != m_LockRotation.boolValue ||
m_InitialCentralBodyKinematic != m_CentralBodyKinematic.boolValue)
{
foreach(UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.UpdateRotationLock();
}
}
if (m_InitialColor != m_Color.colorValue)
{
foreach (UnityEngine.Object targetObject in targets)
{
JellySprite targetObjectSprite = targetObject as JellySprite;
targetObjectSprite.GetComponent<Renderer>().sharedMaterial.color = m_Color.colorValue;
}
}
}
protected virtual void DisplayInspectorGUI()
{
JellySprite targetObject = this.target as JellySprite;
if (targetObject.GetComponent<Renderer>()!= null)
{
string sortingLayerName = SortingLayerNamePopup("Sorting Layer", targetObject.GetComponent<Renderer>().sortingLayerName);
if (sortingLayerName != targetObject.GetComponent<Renderer>().sortingLayerName)
{
targetObject.GetComponent<Renderer>().sortingLayerName = sortingLayerName;
}
int sortingOrder = EditorGUILayout.IntField("Order In Layer", targetObject.GetComponent<Renderer>().sortingOrder);
if (sortingOrder != targetObject.GetComponent<Renderer>().sortingOrder)
{
targetObject.GetComponent<Renderer>().sortingOrder = sortingOrder;
}
}
EditorGUILayout.PropertyField(m_FlipX, new GUIContent("Flip Horizontal"));
EditorGUILayout.PropertyField(m_FlipY, new GUIContent("Flip Vertical"));
EditorGUILayout.Slider(m_SpriteRotation, 0, 360, new GUIContent("Sprite Rotation") );
if(Application.isPlaying)
{
GUI.enabled = false;
}
EditorGUILayout.PropertyField(m_SpriteScale, new GUIContent("Sprite Scale"));
GUI.enabled = true;
if(Application.isPlaying)
{
GUI.enabled = false;
}
GUILayout.Space(15);
EditorGUILayout.PropertyField(m_PhysicsMode, new GUIContent("Use 2D Physics"));
JellySprite.PhysicsStyle selectedStyle = (JellySprite.PhysicsStyle)m_PhysicsStyle.enumValueIndex;
if(selectedStyle != JellySprite.PhysicsStyle.Grid)
{
EditorGUILayout.PropertyField(m_AttachNeighbors, new GUIContent("Attach Neighbors"));
}
int initialStyle = m_PhysicsStyle.enumValueIndex;
EditorGUILayout.PropertyField(m_PhysicsStyle, new GUIContent("Body Configuration"));
if(m_PhysicsStyle.enumValueIndex != initialStyle && (JellySprite.PhysicsStyle)m_PhysicsStyle.enumValueIndex == JellySprite.PhysicsStyle.Free)
{
m_PhysicsStyle.enumValueIndex = initialStyle;
Debug.LogError("Please use the 'Copy Configuration to Free Mode' button to switch Jelly Sprites to Free Mode");
}
switch(selectedStyle)
{
case JellySprite.PhysicsStyle.Circle:
EditorGUILayout.IntSlider(m_CircleRadiusPoints, 8, 128, new GUIContent("Num Colliders") );
break;
case JellySprite.PhysicsStyle.Grid:
m_GridRows.intValue = EditorGUILayout.IntField("Grid Rows", m_GridRows.intValue);
m_GridColumns.intValue = EditorGUILayout.IntField("Grid Columns", m_GridColumns.intValue);
break;
case JellySprite.PhysicsStyle.Line:
m_GridColumns.intValue = Mathf.Max(2, EditorGUILayout.IntField("Num Bodies", m_GridColumns.intValue));
break;
case JellySprite.PhysicsStyle.Rectangle:
break;
case JellySprite.PhysicsStyle.Triangle:
break;
case JellySprite.PhysicsStyle.Free:
for(int i = 0; i < targetObject.m_FreeModeBodyPositions.Count; i++)
{
EditorGUILayout.BeginHorizontal();
Vector2 point = targetObject.m_FreeModeBodyPositions[i];
float radius = targetObject.m_FreeModeBodyRadii[i];
bool kinematic = targetObject.m_FreeModeBodyKinematic[i];
Vector3 result = EditorGUILayout.Vector3Field(i == 0? "Centre" : "Body " + i .ToString(), new Vector3(point.x, point.y, radius), GUILayout.MaxWidth(1500f));
Vector2 positionResult = new Vector2(result.x, result.y);
bool kinematicResult = false;
if(point != positionResult)
{
Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Position");
targetObject.m_FreeModeBodyPositions[i] = positionResult;
SceneView.RepaintAll();
}
if(result.z != radius)
{
Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Radius");
targetObject.m_FreeModeBodyRadii[i] = result.z;
SceneView.RepaintAll();
}
using (new FixedWidthLabel("Kinematic"))
{
kinematicResult = EditorGUILayout.Toggle(kinematic);
}
if(kinematicResult != kinematic)
{
Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Kinematic Flag");
targetObject.m_FreeModeBodyKinematic[i] = kinematicResult;
SceneView.RepaintAll();
}
if(GUILayout.Button(new GUIContent("Delete", "delete this point"), EditorStyles.miniButtonRight, GUILayout.MaxWidth(100f)))
{
if(i == 0)
{
Debug.LogWarning("Cannot remove central Jelly Sprite control point!");
}
else
{
Undo.RecordObject(targetObject, "Deleted Jelly Sprite Body");
targetObject.m_FreeModeBodyPositions.RemoveAt(i);
targetObject.m_FreeModeBodyRadii.RemoveAt(i);
SceneView.RepaintAll();
i--;
}
}
EditorGUILayout.EndHorizontal();
}
GUILayout.Space(5);
if(GUILayout.Button(new GUIContent("Add New Body", "Add new body"), EditorStyles.miniButtonLeft))
{
Undo.RecordObject(targetObject, "Added New Jelly Sprite Body");
targetObject.m_FreeModeBodyPositions.Add(new Vector2(0.0f, -1.0f));
targetObject.m_FreeModeBodyRadii.Add(1.0f);
targetObject.m_FreeModeBodyKinematic.Add(false);
SceneView.RepaintAll();
}
break;
}
if(selectedStyle != JellySprite.PhysicsStyle.Free)
{
EditorGUILayout.Slider(m_ColliderRadius, 0.001f, 0.25f, new GUIContent("Collider Radius") );
EditorGUILayout.PropertyField(m_SoftBodyScale, new GUIContent("Collider Scale"));
EditorGUILayout.PropertyField(m_SoftBodyRotation, new GUIContent("Collider Rotation"));
EditorGUILayout.PropertyField(m_SoftBodyOffset, new GUIContent("Collider Offset"));
EditorGUILayout.PropertyField(m_CentralBodyOffset, new GUIContent("Central Body Offset"));
GUILayout.Space(5);
if(GUILayout.Button(new GUIContent("Copy Configuration To Free Mode", "Copy this configuration to the free mode layout"), EditorStyles.miniButtonRight))
{
Undo.RecordObject(target, "Converted Jelly Sprite to Free Mode");
targetObject.OnCopyToFreeModeSelected();
SceneView.RepaintAll();
}
}
GUI.enabled = true;
EditorGUILayout.PropertyField(m_LockRotation, new GUIContent("Lock Rotation"));
if(selectedStyle != JellySprite.PhysicsStyle.Free)
{
EditorGUILayout.PropertyField(m_CentralBodyKinematic, new GUIContent("Kinematic Central Body"));
}
GUILayout.Space(15);
if(m_PhysicsMode.boolValue)
{
EditorGUILayout.PropertyField(m_PhysicsMaterial2D, new GUIContent("Physics Material"));
m_GravityScale.floatValue = EditorGUILayout.FloatField("Gravity Scale", m_GravityScale.floatValue);
EditorGUILayout.PropertyField(m_InterpolationMode2D, new GUIContent("Interpolate"));
EditorGUILayout.PropertyField(m_CollisionDetectionMode2D, new GUIContent("Collision Detection"));
}
else
{
EditorGUILayout.PropertyField(m_PhysicsMaterial, new GUIContent("Physics Material"));
EditorGUILayout.PropertyField(m_InterpolationMode, new GUIContent("Interpolate"));
EditorGUILayout.PropertyField(m_UseGravity, new GUIContent("Use Gravity"));
EditorGUILayout.PropertyField(m_CollisionDetectionMode, new GUIContent("Collision Detection"));
}
m_Drag.floatValue = EditorGUILayout.FloatField("Drag", m_Drag.floatValue);
m_AngularDrag.floatValue = EditorGUILayout.FloatField("Angular Drag", m_AngularDrag.floatValue);
EditorGUILayout.PropertyField(m_CollideConnected, new GUIContent("Collide Connected"));
EditorGUILayout.PropertyField(m_ManualPositioning, new GUIContent("Manual Positioning"));
m_Stiffness.floatValue = EditorGUILayout.FloatField("Spring Stiffness", m_Stiffness.floatValue);
m_DampingRatio.floatValue = EditorGUILayout.FloatField("Spring Damping", m_DampingRatio.floatValue);
EditorGUILayout.PropertyField(m_MassStyle, new GUIContent("Mass Type"));
m_Mass.floatValue = EditorGUILayout.FloatField("Mass", m_Mass.floatValue);
GUILayout.Space(15);
if(Application.isPlaying)
{
GUI.enabled = false;
}
EditorGUILayout.Slider(m_DistanceExponent, 1.0f, 4.0f, new GUIContent("Ctrl Point Influence") );
GUI.enabled = true;
EditorGUILayout.IntSlider(m_VertexDensity, 2, 100, new GUIContent("Vertex Density"));
GUILayout.Space(15);
m_NumAttachPoints.intValue = EditorGUILayout.IntField("Num Attach Points", m_NumAttachPoints.intValue);
for(int loop = 0; loop < targetObject.m_AttachPoints.Length; loop++)
{
targetObject.m_AttachPoints[loop] = (Transform)EditorGUILayout.ObjectField("Attach Point", targetObject.m_AttachPoints[loop], typeof(Transform), true, null);
}
m_Color.colorValue = EditorGUILayout.ColorField("Tint Color", m_Color.colorValue);
}
public override void OnInspectorGUI()
{
GUILayout.Space(5);
StoreInitialValues();
serializedObject.Update();
DisplayInspectorGUI();
CheckForObjectChanges();
}
protected void UpdateHandles()
{
if(!Application.isPlaying)
{
JellySprite jellySprite = (JellySprite)target;
if(jellySprite.m_Style == JellySprite.PhysicsStyle.Free)
{
if(jellySprite.m_FreeModeBodyPositions != null)
{
Transform transform = jellySprite.transform;
for(int i = 0; i < jellySprite.m_FreeModeBodyPositions.Count; i++)
{
Handles.color = jellySprite.m_FreeModeBodyKinematic[i]? Color.red : Color.green;
Vector3 point = transform.TransformPoint(jellySprite.m_FreeModeBodyPositions[i]);
var fmh_554_91_638968574444553267 = Quaternion.identity; Vector3 newPosition = transform.InverseTransformPoint(Handles.FreeMoveHandle(point, 0.1f, Vector3.zero, Handles.DotHandleCap));
newPosition.z = 0.0f;
if(jellySprite.m_FreeModeBodyPositions[i] != newPosition)
{
Undo.RecordObject(target, "Adjusted Jelly Sprite Body Position");
jellySprite.m_FreeModeBodyPositions[i] = newPosition;
}
float newRadius = Handles.RadiusHandle(Quaternion.identity, point, jellySprite.m_FreeModeBodyRadii[i]);
if(jellySprite.m_FreeModeBodyRadii[i] != newRadius)
{
Undo.RecordObject(target, "Adjusted Jelly Sprite Body Radius");
jellySprite.m_FreeModeBodyRadii[i] = newRadius;
}
}
}
}
}
}
}
public class FixedWidthLabel : IDisposable
{
//helper class to clear and restore indentation
private readonly ZeroIndent indentReset;
public FixedWidthLabel(GUIContent label)
{
//Create a horizontal group
EditorGUILayout.BeginHorizontal();
//Display the label:
EditorGUILayout.LabelField(label,
//Fix its width:
GUILayout.Width(GUI.skin.label.CalcSize(label).x +
//Correct for previous indentation: (9 pixels per level)
9 * EditorGUI.indentLevel));
//Set following indentation to zero:
indentReset = new ZeroIndent();
}
//alternative constructor, if we don't want to deal with GUIContents
public FixedWidthLabel(string label) : this(new GUIContent(label))
{
}
public void Dispose()
{
//restore indentation state:
indentReset.Dispose();
//finish horizontal group:
EditorGUILayout.EndHorizontal();
}
}
class ZeroIndent : IDisposable //helper class to clear indentation
{
private readonly int originalIndent;//the original indentation value before we change the GUI state
public ZeroIndent()
{
originalIndent = EditorGUI.indentLevel;//save original indentation
EditorGUI.indentLevel = 0;//clear indentation
}
public void Dispose()
{
EditorGUI.indentLevel = originalIndent;//restore original indentation
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: f45ba97e791b18b478f35a9fe1e2efc4
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Editor/JellySpriteEditor.cs
uploadId: 554010

View File

@ -0,0 +1,49 @@
using UnityEditor;
using UnityEngine;
[CanEditMultipleObjects]
[CustomEditor(typeof(UnityJellySprite))]
class UnityJellySpriteEditor : JellySpriteEditor
{
public SerializedProperty m_Sprite;
public Object m_InitialSprite;
protected override void OnEnable()
{
base.OnEnable();
m_Sprite = serializedObject.FindProperty("m_Sprite");
}
protected override void DisplayInspectorGUI()
{
EditorGUILayout.PropertyField(m_Sprite, new GUIContent("Sprite"));
base.DisplayInspectorGUI();
}
protected override void StoreInitialValues()
{
m_InitialSprite = m_Sprite.objectReferenceValue;
base.StoreInitialValues();
}
protected override void CheckForObjectChanges()
{
base.CheckForObjectChanges();
JellySprite targetObject = this.target as JellySprite;
if (m_InitialSprite != m_Sprite.objectReferenceValue)
{
Sprite sprite = m_Sprite.objectReferenceValue as Sprite;
Bounds bounds = sprite.bounds;
float pivotX = -bounds.center.x / bounds.extents.x;
float pivotY = -bounds.center.y / bounds.extents.y;
targetObject.m_CentralBodyOffset = targetObject.m_SoftBodyOffset = new Vector3(pivotX * bounds.extents.x * targetObject.m_SpriteScale.x, pivotY * bounds.extents.y * targetObject.m_SpriteScale.y, 0.0f);
targetObject.RefreshMesh();
}
}
void OnSceneGUI ()
{
UpdateHandles();
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: e932120ac75fcdd46883f2e37689147d
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Editor/UnityJellySpriteEditor.cs
uploadId: 554010

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: cea96cd6087b7e546a46170c3f0cc080
folderAsset: yes
DefaultImporter:
userData:

View File

@ -0,0 +1,56 @@
using UnityEngine;
using System.Collections;
// Helper script to create a jelly sprite that hovers in mid-air and functions like
// a bridge. This is done by taking a grid-style configuration and then making a row of
// bodies kinematic. Simply create a Jelly Sprite, set it to grid configuration, then
// attach this script to it.
[RequireComponent (typeof(JellySprite))]
public class JellyBridge : MonoBehaviour
{
public float fixedRowFraction = 0.5f;
bool isFirstUpdate = true;
// Update is called once per frame
void Update ()
{
// Need to wait until the jelly sprite has initialised
if(isFirstUpdate)
{
JellySprite jellySprite = GetComponent<JellySprite>();
if(jellySprite.m_Style == JellySprite.PhysicsStyle.Grid)
{
// Work out the row of rigidbodies to fix - so 0.5 means halfway
int fixedRow = (int)(jellySprite.m_GridRows * fixedRowFraction);
for(int x = 0; x < jellySprite.m_GridColumns; x++)
{
// Work out the point index in the array from the x and y index
int pointIndex = (fixedRow * jellySprite.m_GridColumns) + x;
// Check its not a dummy point
if(jellySprite.ReferencePoints[pointIndex].GameObject)
{
// Set kinematic (might be a 2D or 3D point, so check for both
if(jellySprite.ReferencePoints[pointIndex].Body3D)
{
jellySprite.ReferencePoints[pointIndex].Body3D.isKinematic = true;
}
if(jellySprite.ReferencePoints[pointIndex].Body2D)
{
jellySprite.ReferencePoints[pointIndex].Body2D.isKinematic = true;
}
}
}
}
else
{
Debug.LogWarning("JellyBridges can only be used on JellySprites using a Grid style configuration");
}
isFirstUpdate = false;
}
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 47f4d3d551d1aad45903fb22ee0032ce
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Scripts/JellyBridge.cs
uploadId: 554010

View File

@ -0,0 +1,27 @@
using UnityEngine;
using System.Collections;
// Helper script to make a camera follow a JellySprite - simply attach to your main camera and
// then drop a JellySprite into the 'Follow Sprite' field
public class JellyCameraFollow : MonoBehaviour
{
public JellySprite m_FollowSprite;
/// <summary>
/// Update this instance.
/// </summary>
void Update ()
{
// New camera position should be the position of the central reference point
if(m_FollowSprite.ReferencePoints != null)
{
Vector3 newPosition = m_FollowSprite.ReferencePoints[0].GameObject.transform.position;
// Keep the z coordinate the same
newPosition.z = this.transform.position.z;
// Update the camera position
this.transform.position = newPosition;
}
}
}

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 4b7bd7f71eb1b6e48808548da5935fe1
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
AssetOrigin:
serializedVersion: 1
productId: 13327
packageName: Jelly Sprites
packageVersion: 1.41
assetPath: Assets/JellySprites/Scripts/JellyCameraFollow.cs
uploadId: 554010

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