Compare commits

..

6 Commits

Author SHA1 Message Date
Mausham
ecc2dd3dff reduced coloring objects 2026-07-07 15:52:58 +05:45
Mausham
c2d3ff4dd9 Merge remote-tracking branch 'origin/savya' into work_branch
# Conflicts:
#	Assets/Darkmatter/Content/Fonts/static/Fredoka-SemiBold SDF.asset
2026-07-06 18:14:44 +05:45
Savya Bikram Shah
dfd76d187f video and difficulty based sorting fixes 2026-07-06 14:37:59 +05:45
Savya Bikram Shah
7b90efca98 Version changed 2026-07-06 14:24:13 +05:45
Savya Bikram Shah
e0a7fa9735 Events edits 2026-07-06 14:17:50 +05:45
Savya Bikram Shah
3df3d923fb Difficulty based sorting and analytics fixes 2026-07-06 13:20:27 +05:45
350 changed files with 42430 additions and 27939 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
Assets/.DS_Store vendored

Binary file not shown.

BIN
Assets/AddressableAssetsData/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -21,12 +21,6 @@ MonoBehaviour:
m_SerializedLabels:
- drawing
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1224c23ab4bce564fbaa45c85b3a8603
m_Address: Traffic Post
m_ReadOnly: 0
m_SerializedLabels:
- drawing
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 14027365d88f82745bd4019ac24a4a48
m_Address: Rooster
m_ReadOnly: 0

BIN
Assets/AppsFlyer/.DS_Store vendored Normal file

Binary file not shown.

BIN
Assets/Confetti FX/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -9,6 +9,7 @@ namespace Darkmatter.Core.Contracts.Features.DrawingCatalog
{
string Id { get; }
string DisplayName { get; }
int Difficulty { get; }
Sprite DefaultThumbnail { get; }
GameObject DrawingPrefab { get; }
GameObject ColoringPrefab { get; }

View File

@@ -11,9 +11,9 @@ namespace Darkmatter.Core.Contracts.Services.Analytics
// Onboarding / activation funnel
public const string IntroStarted = "intro_started";
public const string IntroCompleted = "intro_completed";
public const string TutorialStarted = "tutorial_started";
public const string TutorialStarted = "tutorial_begin";
public const string TutorialStepCompleted = "tutorial_step_completed";
public const string TutorialCompleted = "tutorial_completed";
public const string TutorialCompleted = "tutorial_complete";
public const string PlayClicked = "play_clicked";
public const string FirstDrawingStarted = "first_drawing_started";
@@ -32,9 +32,9 @@ namespace Darkmatter.Core.Contracts.Services.Analytics
public const string ShapeAssembled = "shape_assembled";
public const string ColorApplied = "color_applied";
// Progression & content (GA4 recommended level_start / level_complete)
// Progression & content. level_start and level_end are GA4-recommended games events.
public const string LevelStart = "level_start";
public const string LevelComplete = "level_complete";
public const string LevelComplete = "level_end";
public const string AllContentCompleted = "all_content_completed";
// Gallery capture (pre-existing)

View File

@@ -4,14 +4,14 @@ namespace Darkmatter.Core.Contracts.Services.Analytics
/// Canonical analytics parameter keys. Pass a consistent set on every gameplay event so reports can
/// answer "which drawing did people quit on", not just "how many quit". Each key used in reports must
/// be registered as a Custom Dimension in the Firebase console. GA4 limit: 25 params per event.
/// GA4-recommended events (level_start/level_complete/ad_impression) reuse GA4's reserved param names
/// GA4-recommended events (level_start/level_end/ad_impression) reuse GA4's reserved param names
/// (level_name, success, value, currency, ad_platform, ad_format, ad_unit_name) so they're recognised.
/// </summary>
public static class AnalyticsParams
{
// Content identity
public const string DrawingId = "drawing_id";
public const string LevelName = "level_name"; // GA4 reserved (level_start/level_complete)
public const string LevelName = "level_name"; // GA4 reserved (level_start/level_end)
// Tutorial
public const string StepId = "step_id";
@@ -23,7 +23,7 @@ namespace Darkmatter.Core.Contracts.Services.Analytics
public const string Attempts = "attempts";
public const string ApplyIndex = "apply_index";
public const string CompletionCount = "completion_count";
public const string Success = "success"; // GA4 reserved (level_complete)
public const string Success = "success"; // GA4 reserved (level_end)
// Monetization (GA4 ad_impression reserved names)
public const string Value = "value";

View File

@@ -1,4 +1,8 @@
namespace Darkmatter.Core.Data.Signals.Features.Capture
{
public record struct GallerySaveCompletedSignal(bool Success);
/// <summary>
/// TemplateId identifies which drawing was saved; publishers outside gameplay (art book) must set it
/// because there is no active drawing for analytics to fall back on there.
/// </summary>
public record struct GallerySaveCompletedSignal(bool Success, string TemplateId = null);
}

View File

@@ -0,0 +1,10 @@
namespace Darkmatter.Core
{
/// <summary>
/// The drawing-catalog (colorbook) screen became visible: scene entry (play / back / next) or
/// returning from the art book. Distinct from <see cref="OpenColorBookSignal"/>, which is the
/// command to show the view and only fires on one navigation path. Analytics keys colorbook_opened
/// and abandoned-drawing detection off this.
/// </summary>
public record struct ColorbookShownSignal;
}

View File

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

View File

@@ -12,6 +12,8 @@ namespace Darkmatter.Core.Data.Static.Features.DrawingTemplate
{
[SerializeField] private string id;
[SerializeField] private string displayName;
[SerializeField, Min(0), Tooltip("0 = auto (pieces + regions). Any positive value overrides the computed difficulty.")]
private int difficultyOverride;
[SerializeField] private Sprite defaultThumbnail;
[SerializeField] private GameObject drawingPrefab;
[SerializeField] private GameObject coloringPrefab;
@@ -22,6 +24,11 @@ namespace Darkmatter.Core.Data.Static.Features.DrawingTemplate
public string Id => id;
public string DisplayName => displayName;
// Workload-based: every shape to place and region to color adds one point.
// A positive difficultyOverride replaces the computed value.
public int AutoDifficulty => pieces.Count + regions.Count;
public int Difficulty => difficultyOverride > 0 ? difficultyOverride : AutoDifficulty;
public bool HasDifficultyOverride => difficultyOverride > 0;
public Sprite DefaultThumbnail => defaultThumbnail;
public GameObject DrawingPrefab => drawingPrefab;
public GameObject ColoringPrefab => coloringPrefab;

View File

@@ -1,3 +1,4 @@
using System;
using System.Threading;
using Cysharp.Threading.Tasks;
using Darkmatter.Core.Contracts.Features.Progression;
@@ -14,6 +15,10 @@ namespace Darkmatter.Features.AppBoot.Flow
{
public class AppBootFlow : IAsyncStartable
{
private const int IntroPrepareTimeoutMs = 3000;
private const float IntroMinimumFallbackSeconds = 6f;
private const float IntroFallbackPaddingSeconds = 2f;
private readonly AppBootSceneRefs _sceneRefs;
private readonly ISceneService _sceneService;
private readonly IEventBus _eventBus;
@@ -30,36 +35,96 @@ namespace Darkmatter.Features.AppBoot.Flow
public async UniTask StartAsync(CancellationToken cancellation = default)
{
// Entry points run in serviceModules registration order and this module is near the front.
// Everything below LoadAsync completes synchronously, so without a real yield the
// IntroStartedSignal publish would happen before later-registered subscribers
// (e.g. AnalyticsTracker) have run Start() — the event bus has no replay, so they'd miss it.
await UniTask.Yield();
#if UNITY_ANDROID || UNITY_IOS
Application.targetFrameRate = 60;
#endif
Screen.sleepTimeout = SleepTimeout.NeverSleep;
await _progression.LoadAsync();
var tcs = new UniTaskCompletionSource();
var player = _sceneRefs.IntroVideoPlayer;
void OnDone(VideoPlayer vp)
{
vp.loopPointReached -= OnDone;
tcs.TrySetResult();
}
player.loopPointReached += OnDone;
player.Play();
_eventBus.Publish(new IntroStartedSignal());
var introTask = PlayIntroAsync(player, cancellation);
await _sceneService.LoadSceneAsync(nameof(GameScene.MainMenu), null, cancellation);
await tcs.Task.AttachExternalCancellation(cancellation);
await introTask.AttachExternalCancellation(cancellation);
CleanupIntro(player);
if (_sceneRefs.IntroCanvas != null)
UnityEngine.Object.Destroy(_sceneRefs.IntroCanvas.gameObject);
_eventBus.Publish(new IntroCompletedSignal());
}
private async UniTask PlayIntroAsync(VideoPlayer player, CancellationToken cancellation)
{
if (player == null)
return;
var prepared = new UniTaskCompletionSource();
var completed = new UniTaskCompletionSource();
void OnPrepared(VideoPlayer vp) => prepared.TrySetResult();
void OnDone(VideoPlayer vp) => completed.TrySetResult();
void OnError(VideoPlayer vp, string message)
{
Debug.LogWarning($"[AppBootFlow] Intro video error: {message}");
completed.TrySetResult();
prepared.TrySetResult();
}
player.prepareCompleted += OnPrepared;
player.loopPointReached += OnDone;
player.errorReceived += OnError;
try
{
if (!player.isPrepared)
{
player.Prepare();
await UniTask.WhenAny(
prepared.Task,
UniTask.Delay(IntroPrepareTimeoutMs, cancellationToken: cancellation));
}
player.Play();
_eventBus.Publish(new IntroStartedSignal());
await UniTask.WhenAny(
completed.Task,
UniTask.Delay(GetIntroFallbackTimeout(player), cancellationToken: cancellation));
}
finally
{
player.prepareCompleted -= OnPrepared;
player.loopPointReached -= OnDone;
player.errorReceived -= OnError;
}
}
private static TimeSpan GetIntroFallbackTimeout(VideoPlayer player)
{
var length = player != null && player.length > 0d
? (float)player.length
: IntroMinimumFallbackSeconds;
return TimeSpan.FromSeconds(Mathf.Max(IntroMinimumFallbackSeconds, length + IntroFallbackPaddingSeconds));
}
private static void CleanupIntro(VideoPlayer player)
{
if (player == null)
return;
player.Stop();
var rt = player.targetTexture;
if (rt != null) rt.Release();
if (_sceneRefs.IntroCanvas != null)
Object.Destroy(_sceneRefs.IntroCanvas.gameObject);
Object.Destroy(player.gameObject);
_eventBus.Publish(new IntroCompletedSignal());
UnityEngine.Object.Destroy(player.gameObject);
}
}
}

View File

@@ -7,6 +7,7 @@ using Darkmatter.Core.Contracts.Features.DrawingCatalog;
using Darkmatter.Core.Contracts.Features.Progression;
using Darkmatter.Core.Contracts.Features.SaveGate;
using Darkmatter.Core.Contracts.Services.Gallery;
using Darkmatter.Core.Data.Signals.Features.Capture;
using Darkmatter.Core.Data.Signals.Features.Drawing;
using Darkmatter.Libs.Observer;
using UnityEngine;
@@ -209,7 +210,20 @@ namespace Darkmatter.Features.Artbook
texture = await _progression.GetCachedThumbnailAsync(entry.Value.Id);
if (texture == null) return;
// Mirror CaptureSystem's pairing: Started before the write, Completed(success) in
// finally — art-book saves land in the same gallery_save_* analytics funnel as
// gameplay saves.
_eventBus.Publish(new GallerySaveStartedSignal());
var success = false;
try
{
await _gallery.SaveImageAsync(texture, entry.Value.Name, ct);
success = true;
}
finally
{
_eventBus.Publish(new GallerySaveCompletedSignal(success, entry.Value.Id));
}
// The art book has no success popup of its own, so use the shared toast.
await _saveGate.ShowSavedAsync(ct);
}

View File

@@ -60,12 +60,14 @@ namespace Darkmatter.Features.Capture
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, mipChain: false);
var success = false;
// Started must pair 1:1 with the Completed publish in finally — a failed LoadImage or a
// throw in BuildFileNameAsync would otherwise emit Completed(false) with no Started.
_bus.Publish(new GallerySaveStartedSignal());
try
{
if (tex.LoadImage(png))
{
var fileName = await BuildFileNameAsync();
_bus.Publish(new GallerySaveStartedSignal());
await _galleryService.SaveImageAsync(tex, fileName, ct);
success = true;
}
@@ -73,7 +75,7 @@ namespace Darkmatter.Features.Capture
finally
{
UnityEngine.Object.Destroy(tex);
_bus.Publish(new GallerySaveCompletedSignal(success));
_bus.Publish(new GallerySaveCompletedSignal(success, _progression.LastOpenedTemplateId));
}
return png;
}

View File

@@ -68,7 +68,13 @@ public class ColorbookFlowController : IAsyncStartable, IDisposable
// one VContainer cancels on teardown, and the linked _scopeCts may lag the callback order.
if (cancellation.IsCancellationRequested || ct.IsCancellationRequested) return;
if (!_navigatingToGameplay) _loadingScreen.Hide();
if (!_navigatingToGameplay)
{
_loadingScreen.Hide();
// Catalog genuinely on screen — not a transit hop toward gameplay (edit/next relays land
// in this scene with _navigatingToGameplay already latched and never reveal the catalog).
_bus.Publish(new ColorbookShownSignal());
}
PrewarmInterstitialAdAsync().Forget();
}

View File

@@ -57,8 +57,8 @@ public sealed class DrawingCatalogController : IDrawingCatalogController
private void Refresh()
{
_visible.Clear();
// Catalog already orders ids by difficulty (easiest first), then id.
_visible.AddRange(_catalog.AllTemplateIds);
_visible.Sort(StringComparer.OrdinalIgnoreCase);
ListChanged?.Invoke();
}
}

View File

@@ -13,8 +13,8 @@ namespace Darkmatter.Features.DrawingCatalog
{
Id = id;
thumbnail.sprite = thumbnailSprite;
button.onClick.RemoveAllListeners();
button.onClick.AddListener(onClick);
}
}
}

View File

@@ -15,6 +15,7 @@ namespace Darkmatter.Features.DrawingCatalog
private int _currentPage = 0;
private int _totalPages = 1;
private const int RowCount = 2;
private const int ItemPerPage = 8; //2 rows x 4 columns
private readonly DrawingCatalogView _view;
@@ -48,8 +49,14 @@ namespace Darkmatter.Features.DrawingCatalog
}
private void HandleOpenColorBookSignal(OpenColorBookSignal signal)
{
ShowCatalog();
}
private void ShowCatalog()
{
_view.Show();
_eventBus.Publish(new ColorbookShownSignal());
}
private void OnRightPageBtnClicked()
@@ -84,7 +91,7 @@ namespace Darkmatter.Features.DrawingCatalog
private void OnArtBookBtnClicked()
{
_eventBus.Publish(new OpenArtBookSignal(()=> _view.Show()));
_eventBus.Publish(new OpenArtBookSignal(ShowCatalog));
_view.Hide();
}
@@ -102,7 +109,7 @@ namespace Darkmatter.Features.DrawingCatalog
private async UniTask RefreshAsync(CancellationToken ct)
{
var ids = _controller.VisibleIds;
var ids = ToFixedRowGridOrder(_controller.VisibleIds);
var vms = new List<CatalogItemVM>(ids.Count);
_totalPages = (int)Math.Ceiling(ids.Count / (float)ItemPerPage);
@@ -127,6 +134,19 @@ namespace Darkmatter.Features.DrawingCatalog
_eventBus.Publish(new DrawingCatalogReadySignal());
}
private static List<string> ToFixedRowGridOrder(IReadOnlyList<string> ids)
{
var ordered = new List<string>(ids.Count);
for (var row = 0; row < RowCount; row++)
{
for (var index = row; index < ids.Count; index += RowCount)
ordered.Add(ids[index]);
}
return ordered;
}
public void Dispose()
{
_view.OnItemClicked -= OnItemClicked;

View File

@@ -62,9 +62,6 @@ namespace Darkmatter.Features.DrawingCatalog
while (_buttons.Count < items.Count)
{
var button = Instantiate(buttonPrefab, content);
var item = items[_buttons.Count];
button.Initialize(item.Id, item.Thumbnail,
() => { OnItemClicked?.Invoke(item.Id); });
_buttons.Add(button);
}
@@ -75,6 +72,13 @@ namespace Darkmatter.Features.DrawingCatalog
Destroy(last.gameObject);
}
for (var i = 0; i < items.Count; i++)
{
var item = items[i];
_buttons[i].Initialize(item.Id, item.Thumbnail,
() => { OnItemClicked?.Invoke(item.Id); });
}
LayoutRebuilder.ForceRebuildLayoutImmediate(content);
}

View File

@@ -68,7 +68,9 @@ namespace Darkmatter.Features.DrawingTemplates.Editor
_templates.Clear();
_shapes.Clear();
_palettes.Clear();
_templates.AddRange(FindAllOfType<DrawingTemplateSO>());
_templates.AddRange(FindAllOfType<DrawingTemplateSO>()
.OrderBy(t => t.Difficulty)
.ThenBy(t => t.Id, StringComparer.OrdinalIgnoreCase));
_shapes.AddRange(FindAllOfType<ShapeSO>());
_palettes.AddRange(FindAllOfType<ColorPaletteSO>());
}
@@ -169,7 +171,7 @@ namespace Darkmatter.Features.DrawingTemplates.Editor
using (new EditorGUILayout.VerticalScope())
{
GUILayout.Label(string.IsNullOrEmpty(t.DisplayName) ? t.name : t.DisplayName, EditorStyles.boldLabel);
GUILayout.Label("id: " + (string.IsNullOrEmpty(t.Id) ? "<unset>" : t.Id), EditorStyles.miniLabel);
GUILayout.Label($"id: {(string.IsNullOrEmpty(t.Id) ? "<unset>" : t.Id)} • diff: {t.Difficulty}{(t.HasDifficultyOverride ? "*" : $" ({t.Pieces.Count}p+{t.AuthoredRegions.Count}r)")}", EditorStyles.miniLabel);
}
if (GUILayout.Button("Select", GUILayout.Width(54)))
Select(t);
@@ -206,6 +208,13 @@ namespace Darkmatter.Features.DrawingTemplates.Editor
EditorGUILayout.LabelField("Basics", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(so.FindProperty("id"), new GUIContent("Id (Addressable Key)"));
EditorGUILayout.PropertyField(so.FindProperty("displayName"));
EditorGUILayout.PropertyField(so.FindProperty("difficultyOverride"),
new GUIContent("Difficulty Override", "0 = auto (pieces + regions). Any positive value overrides."));
EditorGUILayout.LabelField(
new GUIContent("Difficulty (effective)", "Sorts the catalog, lowest first."),
new GUIContent(t.HasDifficultyOverride
? $"{t.Difficulty} (override; auto would be {t.AutoDifficulty})"
: $"{t.Difficulty} (auto: {t.Pieces.Count} pieces + {t.AuthoredRegions.Count} regions)"));
EditorGUILayout.PropertyField(so.FindProperty("defaultThumbnail"));
EditorGUILayout.Space(6);

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using System.Threading;
using Cysharp.Threading.Tasks;
@@ -48,7 +49,7 @@ namespace Darkmatter.Features.DrawingTemplates.Systems
_byId[t.Id] = t;
}
_allIds.Sort();
SortIds();
_initialized = true;
}
@@ -84,12 +85,22 @@ namespace Darkmatter.Features.DrawingTemplates.Systems
if (!_allIds.Contains(id))
{
_allIds.Add(id);
_allIds.Sort();
SortIds();
}
return t;
}
// Easiest drawings first; ties broken by id so the order is stable.
private void SortIds()
{
_allIds.Sort((a, b) =>
{
var byDifficulty = _byId[a].Difficulty.CompareTo(_byId[b].Difficulty);
return byDifficulty != 0 ? byDifficulty : string.Compare(a, b, StringComparison.OrdinalIgnoreCase);
});
}
public void ReleaseAll()
{
if (!_initialized) return;

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Threading;
using Cysharp.Threading.Tasks;
using Darkmatter.Core;
using Darkmatter.Core.Contracts.Features.Capture;
using Darkmatter.Core.Contracts.Features.Coloring;
using Darkmatter.Core.Contracts.Features.DrawingCatalog;
@@ -28,6 +29,7 @@ namespace Darkmatter.Features.GameplayFlow.Systems
public sealed class GameplayFlowController : IAsyncStartable, IGameplayFlowController, IDisposable
{
private const int AutosaveDebounceMs = 500;
private const float ThumbnailMinIntervalSec = 30f;
private readonly IProgressionSystem _progression;
private readonly IDrawingTemplateCatalog _catalog;
@@ -44,10 +46,12 @@ namespace Darkmatter.Features.GameplayFlow.Systems
private string _templateId;
private DrawingPhase _phase = DrawingPhase.ShapeBuilding;
private bool _allContentReported;
private float _lastThumbnailTime = float.NegativeInfinity;
private IDisposable _assembledSub;
private IDisposable _colorAppliedSub;
private IDisposable _drawingSelectedSub;
private IDisposable _openColorbookSub;
private CancellationTokenSource _autosaveCts;
private CancellationTokenSource _scopeCts;
@@ -104,6 +108,10 @@ namespace Darkmatter.Features.GameplayFlow.Systems
_assembledSub = _bus.Subscribe<ShapeAssembledSignal>(OnShapeAssembled);
_colorAppliedSub = _bus.Subscribe<ColorAppliedSignal>(OnColorApplied);
_drawingSelectedSub = _bus.Subscribe<DrawingSelectedSignal>(OnDrawingSelected);
// The art book's "colorbook" button publishes OpenColorBookSignal. In the Colorbook
// scene DrawingCatalogPresenter shows the catalog; during gameplay that presenter is
// dead, so treat the signal as "leave gameplay for the colorbook" (same as back).
_openColorbookSub = _bus.Subscribe<OpenColorBookSignal>(OnOpenColorBook);
_loadingScreen.SetProgress(1f);
if (_phase == DrawingPhase.Coloring)
@@ -131,8 +139,10 @@ namespace Darkmatter.Features.GameplayFlow.Systems
public async UniTask SaveAsync(CancellationToken ct)
{
await SaveCurrentAsync(ct);
await _capture.CapturePngAsync(saveToGallery: true, ct);
// One capture serves both the gallery write and the progress thumbnail — this used to
// run the full capture pipeline twice back to back.
var png = await _capture.CapturePngAsync(saveToGallery: true, ct);
await SaveCurrentAsync(ct, captureThumbnail: false, precapturedThumbnail: png);
}
public async UniTask NextAsync(CancellationToken ct)
@@ -209,6 +219,11 @@ namespace Darkmatter.Features.GameplayFlow.Systems
DebouncedAutosaveAsync(_autosaveCts.Token).Forget();
}
private void OnOpenColorBook(OpenColorBookSignal _)
{
BackAsync(CancellationToken.None).Forget();
}
private void OnDrawingSelected(DrawingSelectedSignal signal)
{
if (string.IsNullOrEmpty(signal.TemplateId)) return;
@@ -232,7 +247,13 @@ namespace Darkmatter.Features.GameplayFlow.Systems
try
{
await UniTask.Delay(AutosaveDebounceMs, cancellationToken: ct);
await SaveCurrentAsync(ct);
// Autosaves fire after every paint pause; capturing a thumbnail each time renders the
// scene to an RT and PNG-encodes it, which OOM-kills long sessions on low-RAM devices.
// Colors always persist; the thumbnail refreshes at most every ThumbnailMinIntervalSec
// here and unconditionally on the exit paths (back / next / select-away).
bool refreshThumbnail =
Time.realtimeSinceStartup - _lastThumbnailTime >= ThumbnailMinIntervalSec;
await SaveCurrentAsync(ct, captureThumbnail: refreshThumbnail);
}
catch (OperationCanceledException)
{
@@ -240,7 +261,8 @@ namespace Darkmatter.Features.GameplayFlow.Systems
}
}
private async UniTask SaveCurrentAsync(CancellationToken ct)
private async UniTask SaveCurrentAsync(CancellationToken ct, bool captureThumbnail = true,
byte[] precapturedThumbnail = null)
{
if (string.IsNullOrEmpty(_templateId)) return;
@@ -263,7 +285,10 @@ namespace Darkmatter.Features.GameplayFlow.Systems
FirstCompletedUtc = existing?.FirstCompletedUtc,
};
var thumbnailPng = await _capture.CapturePngAsync(saveToGallery: false, ct);
byte[] thumbnailPng = precapturedThumbnail;
if (thumbnailPng == null && captureThumbnail)
thumbnailPng = await _capture.CapturePngAsync(saveToGallery: false, ct);
if (thumbnailPng != null) _lastThumbnailTime = Time.realtimeSinceStartup;
await _progression.SaveProgressAsync(progress, thumbnailPng);
}
@@ -284,6 +309,7 @@ namespace Darkmatter.Features.GameplayFlow.Systems
_assembledSub?.Dispose();
_colorAppliedSub?.Dispose();
_drawingSelectedSub?.Dispose();
_openColorbookSub?.Dispose();
_autosaveCts?.Cancel();
_autosaveCts?.Dispose();
_scopeCts?.Cancel();

View File

@@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: 1224c23ab4bce564fbaa45c85b3a8603
NativeFormatImporter:
guid: 000c0b9528ead0b43af7cdc19fb38f0e
folderAsset: yes
DefaultImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,18 @@
{
"name": "Features.ImageCombiner.Editor",
"rootNamespace": "Darkmatter.Features.ImageCombiner.Editor",
"references": [
"GUID:bcae41f3415403d4da1f7aafb6d9a728"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

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

View File

@@ -0,0 +1,633 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
namespace Darkmatter.Features.ImageCombiner.Editor
{
/// <summary>
/// Custom inspector for <see cref="UIImageCombiner"/>. Draws the configuration (save folder,
/// the two "after combining" checkboxes, resolution options) and performs the actual flatten:
/// it composites every child Image into one texture that matches the children's combined
/// bounds / position / aspect ratio, writes it as a PNG and (optionally) assigns it back.
/// </summary>
[CustomEditor(typeof(UIImageCombiner))]
public sealed class UIImageCombinerEditor : UnityEditor.Editor
{
private SerializedProperty _saveFolder;
private SerializedProperty _fileName;
private SerializedProperty _destroyChildren;
private SerializedProperty _disableChildren;
private SerializedProperty _recurse;
private SerializedProperty _includeInactive;
private SerializedProperty _pixelsPerUnit;
private SerializedProperty _maxDimension;
private SerializedProperty _trimTransparent;
private SerializedProperty _alphaThreshold;
private SerializedProperty _assignToSelf;
/// <summary>Relative aspect-ratio difference above which a stretched child is reported.</summary>
private const float AspectMismatchTolerance = 0.01f;
private void OnEnable()
{
_saveFolder = serializedObject.FindProperty("_saveFolder");
_fileName = serializedObject.FindProperty("_fileName");
_destroyChildren = serializedObject.FindProperty("_destroyChildrenAfterCombine");
_disableChildren = serializedObject.FindProperty("_disableChildrenAfterCombine");
_recurse = serializedObject.FindProperty("_recurseIntoChildren");
_includeInactive = serializedObject.FindProperty("_includeInactiveChildren");
_pixelsPerUnit = serializedObject.FindProperty("_pixelsPerUnit");
_maxDimension = serializedObject.FindProperty("_maxDimension");
_trimTransparent = serializedObject.FindProperty("_trimTransparent");
_alphaThreshold = serializedObject.FindProperty("_alphaThreshold");
_assignToSelf = serializedObject.FindProperty("_assignCombinedToSelf");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
var combiner = (UIImageCombiner)target;
EditorGUILayout.LabelField("Output location", EditorStyles.boldLabel);
using (new EditorGUILayout.HorizontalScope())
{
EditorGUILayout.PropertyField(_saveFolder, new GUIContent("Save Folder"));
if (GUILayout.Button("Browse", GUILayout.Width(64)))
BrowseForFolder(_saveFolder);
}
EditorGUILayout.PropertyField(_fileName, new GUIContent("File Name (opt.)"));
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("After combining", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_destroyChildren, new GUIContent("Destroy Children"));
using (new EditorGUI.DisabledScope(_destroyChildren.boolValue))
EditorGUILayout.PropertyField(_disableChildren, new GUIContent("Disable Children"));
if (_destroyChildren.boolValue && _disableChildren.boolValue)
EditorGUILayout.HelpBox("Both ticked: children will be destroyed (destroy wins).", MessageType.Info);
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("What to combine", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_recurse, new GUIContent("Recurse Into Children"));
EditorGUILayout.PropertyField(_includeInactive, new GUIContent("Include Inactive"));
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("Resolution", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_pixelsPerUnit, new GUIContent("Pixels Per Unit (0 = auto)"));
EditorGUILayout.PropertyField(_maxDimension, new GUIContent("Max Dimension"));
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("Trimming", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_trimTransparent, new GUIContent("Trim Transparent"));
using (new EditorGUI.DisabledScope(!_trimTransparent.boolValue))
EditorGUILayout.PropertyField(_alphaThreshold, new GUIContent("Alpha Threshold"));
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("Assignment", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(_assignToSelf, new GUIContent("Assign Combined To Self"));
serializedObject.ApplyModifiedProperties();
EditorGUILayout.Space(10);
using (new EditorGUI.DisabledScope(Application.isPlaying))
{
if (GUILayout.Button("Combine Images", GUILayout.Height(32)))
Combine(combiner);
}
if (Application.isPlaying)
EditorGUILayout.HelpBox("Exit play mode to combine images.", MessageType.Warning);
}
private static void BrowseForFolder(SerializedProperty folderProp)
{
string start = folderProp.stringValue;
if (string.IsNullOrEmpty(start)) start = "Assets";
string abs = EditorUtility.OpenFolderPanel("Choose save folder", start, "");
if (string.IsNullOrEmpty(abs)) return;
// Convert to a project-relative "Assets/..." path when the chosen folder is inside the project.
string dataPath = Application.dataPath.Replace('\\', '/');
abs = abs.Replace('\\', '/');
if (abs == dataPath)
folderProp.stringValue = "Assets";
else if (abs.StartsWith(dataPath + "/"))
folderProp.stringValue = "Assets" + abs.Substring(dataPath.Length);
else
folderProp.stringValue = abs; // outside the project keep the absolute path
folderProp.serializedObject.ApplyModifiedProperties();
}
// ------------------------------------------------------------------ combine
private static void Combine(UIImageCombiner combiner)
{
var self = (RectTransform)combiner.transform;
var images = CollectImages(combiner, self);
if (images.Count == 0)
{
EditorUtility.DisplayDialog("UI Image Combiner",
"No child Image components found to combine.", "OK");
return;
}
// 1) Combined world bounds from every child's rect corners.
if (!TryComputeBounds(images, out Vector2 boundsMin, out Vector2 boundsMax))
{
EditorUtility.DisplayDialog("UI Image Combiner",
"The combined bounds are empty (zero size).", "OK");
return;
}
Vector2 boundsSize = boundsMax - boundsMin;
// 2) Output resolution.
float ppu = combiner.PixelsPerUnit > 0f
? combiner.PixelsPerUnit
: AutoPixelsPerUnit(images);
int width = Mathf.Max(1, Mathf.RoundToInt(boundsSize.x * ppu));
int height = Mathf.Max(1, Mathf.RoundToInt(boundsSize.y * ppu));
int maxDim = combiner.MaxDimension;
int longest = Mathf.Max(width, height);
if (longest > maxDim)
{
float s = maxDim / (float)longest;
width = Mathf.Max(1, Mathf.RoundToInt(width * s));
height = Mathf.Max(1, Mathf.RoundToInt(height * s));
}
bool rotationWarned = false;
var pixelCache = new Dictionary<Texture, (Color32[] px, int w, int h)>();
var output = new Color[width * height]; // straight alpha, (0,0) = bottom-left
float worldPerPxX = boundsSize.x / width;
float worldPerPxY = boundsSize.y / height;
try
{
for (int i = 0; i < images.Count; i++)
{
Image img = images[i];
EditorUtility.DisplayProgressBar("UI Image Combiner",
$"Compositing {img.name} ({i + 1}/{images.Count})", (i + 1f) / images.Count);
if (!TryGetAxisAlignedRect(img, out Vector2 imgMin, out Vector2 imgMax, out bool rotated))
continue;
if (rotated && !rotationWarned)
{
Debug.LogWarning("[UIImageCombiner] One or more images are rotated/skewed; " +
"they are composited using their axis-aligned bounds and may " +
"look distorted.", img);
rotationWarned = true;
}
Color tint = img.color;
Sprite sprite = img.sprite;
// Rect the sprite is actually drawn into (accounts for Preserve Aspect).
Vector2 drawMin = imgMin;
Vector2 drawSize = imgMax - imgMin;
if (sprite != null && drawSize.x > 0f && drawSize.y > 0f)
{
if (img.preserveAspect)
{
FitPreserveAspect(sprite, ref drawMin, ref drawSize);
}
else if (sprite.rect.height > 0f)
{
// Preserve Aspect is off, so the whole sprite is stretched to fill the
// RectTransform. If their aspect ratios differ, the content (and any
// transparent padding) gets squashed/stretched — warn and name the child.
float spriteAspect = sprite.rect.width / sprite.rect.height;
float rectAspect = drawSize.x / drawSize.y;
if (spriteAspect > 0f &&
Mathf.Abs(rectAspect - spriteAspect) > spriteAspect * AspectMismatchTolerance)
{
Debug.LogWarning(
$"[UIImageCombiner] \"{img.name}\" will be stretched: sprite is " +
$"{sprite.rect.width:0}x{sprite.rect.height:0} (aspect {spriteAspect:0.###}) " +
$"but its RectTransform aspect is {rectAspect:0.###} and Preserve Aspect is " +
"off. Enable \"Preserve Aspect\" on the Image, or match the RectTransform to " +
"the sprite's aspect ratio, to avoid distortion.", img);
}
}
}
// A trimmed / tight-mesh sprite reports its FULL frame as sprite.rect but only
// draws the opaque texels described by GetOuterUV. A UI Image maps that outer UV
// onto the padding-inset sub-rect of its RectTransform and leaves the transparent
// border empty — it does NOT stretch the artwork to fill the frame. Shrink the draw
// rect to that same sub-rect so each child keeps its real size/position and only its
// visible pixels are composited (the transparent background is dropped).
if (sprite != null && drawSize.x > 0f && drawSize.y > 0f)
InsetBySpritePadding(sprite, ref drawMin, ref drawSize);
if (drawSize.x <= 0f || drawSize.y <= 0f)
continue;
(Color32[] px, int tw, int th) src = default;
Rect texRect = default;
if (sprite != null)
{
src = GetPixels(sprite.texture, pixelCache);
// Use the sprite's OUTER UV rect (the full quad, transparent padding
// included) — the same region a UI Image maps onto its RectTransform when
// "Use Sprite Mesh" is off. sprite.textureRect is the tight, transparent-
// trimmed rect (Sprite Mesh Type = Tight), which would map only the drawn
// pixels across the whole rect and stretch the artwork to fill it.
Vector4 uv = UnityEngine.Sprites.DataUtility.GetOuterUV(sprite);
texRect = new Rect(uv.x * src.tw, uv.y * src.th,
(uv.z - uv.x) * src.tw, (uv.w - uv.y) * src.th);
}
// Pixel range this image can touch.
int px0 = Mathf.Clamp(Mathf.FloorToInt((drawMin.x - boundsMin.x) / worldPerPxX), 0, width);
int px1 = Mathf.Clamp(Mathf.CeilToInt((drawMin.x + drawSize.x - boundsMin.x) / worldPerPxX), 0, width);
int py0 = Mathf.Clamp(Mathf.FloorToInt((drawMin.y - boundsMin.y) / worldPerPxY), 0, height);
int py1 = Mathf.Clamp(Mathf.CeilToInt((drawMin.y + drawSize.y - boundsMin.y) / worldPerPxY), 0, height);
for (int y = py0; y < py1; y++)
{
float worldY = boundsMin.y + (y + 0.5f) * worldPerPxY;
float v = (worldY - drawMin.y) / drawSize.y;
if (v < 0f || v > 1f) continue;
int row = y * width;
for (int x = px0; x < px1; x++)
{
float worldX = boundsMin.x + (x + 0.5f) * worldPerPxX;
float u = (worldX - drawMin.x) / drawSize.x;
if (u < 0f || u > 1f) continue;
Color srcColor;
if (sprite != null)
{
float texPx = texRect.x + u * texRect.width;
float texPy = texRect.y + v * texRect.height;
srcColor = SampleBilinear(src.px, src.tw, src.th, texPx, texPy) * tint;
}
else
{
srcColor = tint; // Image with no sprite = solid colour quad.
}
if (srcColor.a <= 0f) continue;
output[row + x] = Over(srcColor, output[row + x]);
}
}
}
}
finally
{
EditorUtility.ClearProgressBar();
}
// 2b) Alpha-trim: crop away transparent margins and shrink the bounds to the real content
// so the output PNG (and the resized parent) tightly wrap the visible pixels.
if (combiner.TrimTransparent)
{
if (TryTrim(output, width, height, combiner.AlphaThreshold,
out Color[] trimmed, out int tw, out int th,
out int offsetX, out int offsetY))
{
boundsMin = new Vector2(boundsMin.x + offsetX * worldPerPxX,
boundsMin.y + offsetY * worldPerPxY);
boundsMax = new Vector2(boundsMin.x + tw * worldPerPxX,
boundsMin.y + th * worldPerPxY);
boundsSize = boundsMax - boundsMin;
output = trimmed;
width = tw;
height = th;
}
else
{
Debug.LogWarning("[UIImageCombiner] The combined image is fully transparent; " +
"nothing to trim.", combiner);
}
}
// 3) Build the PNG.
var texture = new Texture2D(width, height, TextureFormat.RGBA32, false);
texture.SetPixels(output);
texture.Apply();
byte[] png = texture.EncodeToPNG();
Object.DestroyImmediate(texture);
// 4) Save it.
string relFolder = combiner.SaveFolder.Replace('\\', '/').TrimEnd('/');
if (string.IsNullOrEmpty(relFolder)) relFolder = "Assets";
string fileName = SanitizeFileName(combiner.FileName);
if (!fileName.EndsWith(".png", System.StringComparison.OrdinalIgnoreCase))
fileName += ".png";
string projectRoot = Directory.GetParent(Application.dataPath).FullName;
string absFolder = Path.IsPathRooted(relFolder)
? relFolder
: Path.Combine(projectRoot, relFolder);
Directory.CreateDirectory(absFolder);
string absFile = Path.Combine(absFolder, fileName);
File.WriteAllBytes(absFile, png);
// 5) If it is inside the project, import as a Sprite and assign it back.
string assetPath = ToAssetPath(absFile, projectRoot);
Sprite combinedSprite = null;
if (assetPath != null)
{
AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate);
if (AssetImporter.GetAtPath(assetPath) is TextureImporter importer)
{
importer.textureType = TextureImporterType.Sprite;
importer.spriteImportMode = SpriteImportMode.Single;
importer.alphaIsTransparency = true;
importer.mipmapEnabled = false;
importer.SaveAndReimport();
}
combinedSprite = AssetDatabase.LoadAssetAtPath<Sprite>(assetPath);
}
// 6) Assign to self + resize to the combined bounds.
Undo.RegisterFullObjectHierarchyUndo(self.gameObject, "Combine Images");
if (combiner.AssignCombinedToSelf && combinedSprite != null)
{
var image = self.GetComponent<Image>();
if (image == null) image = Undo.AddComponent<Image>(self.gameObject);
image.sprite = combinedSprite;
image.type = Image.Type.Simple;
image.preserveAspect = false;
image.color = Color.white;
image.enabled = true;
Vector3 lossy = self.lossyScale;
self.anchorMin = self.anchorMax = new Vector2(0.5f, 0.5f);
self.pivot = new Vector2(0.5f, 0.5f);
self.sizeDelta = new Vector2(
boundsSize.x / (Mathf.Approximately(lossy.x, 0f) ? 1f : lossy.x),
boundsSize.y / (Mathf.Approximately(lossy.y, 0f) ? 1f : lossy.y));
Vector2 center = (boundsMin + boundsMax) * 0.5f;
self.position = new Vector3(center.x, center.y, self.position.z);
EditorUtility.SetDirty(image);
}
// 7) Destroy or disable the combined children.
var childObjects = images.Select(im => im.gameObject).Distinct().ToList();
if (combiner.DestroyChildrenAfterCombine)
{
foreach (var go in childObjects)
if (go != null && go != self.gameObject)
Undo.DestroyObjectImmediate(go);
}
else if (combiner.DisableChildrenAfterCombine)
{
foreach (var go in childObjects)
if (go != null && go != self.gameObject)
go.SetActive(false);
}
EditorUtility.SetDirty(combiner);
if (!Application.isPlaying)
UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(combiner.gameObject.scene);
if (combinedSprite != null)
{
EditorGUIUtility.PingObject(combinedSprite);
Selection.activeObject = combinedSprite;
}
Debug.Log($"[UIImageCombiner] Combined {images.Count} image(s) into {width}x{height} " +
$"PNG at \"{(assetPath ?? absFile)}\".", combiner);
}
// ------------------------------------------------------------------ helpers
private static List<Image> CollectImages(UIImageCombiner combiner, RectTransform self)
{
var result = new List<Image>();
if (combiner.RecurseIntoChildren)
{
// GetComponentsInChildren returns parent-first, depth-first (== UI draw order).
foreach (var img in self.GetComponentsInChildren<Image>(combiner.IncludeInactiveChildren))
{
if (img.gameObject == self.gameObject) continue;
if (!img.enabled) continue;
result.Add(img);
}
}
else
{
for (int c = 0; c < self.childCount; c++)
{
var child = self.GetChild(c);
if (!combiner.IncludeInactiveChildren && !child.gameObject.activeInHierarchy) continue;
var img = child.GetComponent<Image>();
if (img != null && img.enabled) result.Add(img);
}
}
return result;
}
private static bool TryComputeBounds(List<Image> images, out Vector2 min, out Vector2 max)
{
min = new Vector2(float.MaxValue, float.MaxValue);
max = new Vector2(float.MinValue, float.MinValue);
var corners = new Vector3[4];
bool any = false;
foreach (var img in images)
{
((RectTransform)img.transform).GetWorldCorners(corners);
for (int k = 0; k < 4; k++)
{
min.x = Mathf.Min(min.x, corners[k].x);
min.y = Mathf.Min(min.y, corners[k].y);
max.x = Mathf.Max(max.x, corners[k].x);
max.y = Mathf.Max(max.y, corners[k].y);
}
any = true;
}
return any && max.x > min.x && max.y > min.y;
}
/// <summary>
/// Finds the tight bounding box of pixels whose alpha exceeds <paramref name="threshold"/> and
/// returns a cropped copy plus the bottom-left offset (in pixels) of that box within the source.
/// </summary>
private static bool TryTrim(Color[] src, int width, int height, float threshold,
out Color[] cropped, out int newW, out int newH, out int offsetX, out int offsetY)
{
int minX = width, minY = height, maxX = -1, maxY = -1;
for (int y = 0; y < height; y++)
{
int row = y * width;
for (int x = 0; x < width; x++)
{
if (src[row + x].a > threshold)
{
if (x < minX) minX = x;
if (x > maxX) maxX = x;
if (y < minY) minY = y;
if (y > maxY) maxY = y;
}
}
}
if (maxX < minX || maxY < minY)
{
cropped = null;
newW = newH = offsetX = offsetY = 0;
return false;
}
newW = maxX - minX + 1;
newH = maxY - minY + 1;
offsetX = minX;
offsetY = minY;
cropped = new Color[newW * newH];
for (int y = 0; y < newH; y++)
{
int srcRow = (minY + y) * width + minX;
int dstRow = y * newW;
for (int x = 0; x < newW; x++)
cropped[dstRow + x] = src[srcRow + x];
}
return true;
}
/// <summary>Axis-aligned world rect of an image, plus whether it looked rotated/skewed.</summary>
private static bool TryGetAxisAlignedRect(Image img, out Vector2 min, out Vector2 max, out bool rotated)
{
var corners = new Vector3[4]; // 0=BL 1=TL 2=TR 3=BR
((RectTransform)img.transform).GetWorldCorners(corners);
min = new Vector2(
Mathf.Min(Mathf.Min(corners[0].x, corners[1].x), Mathf.Min(corners[2].x, corners[3].x)),
Mathf.Min(Mathf.Min(corners[0].y, corners[1].y), Mathf.Min(corners[2].y, corners[3].y)));
max = new Vector2(
Mathf.Max(Mathf.Max(corners[0].x, corners[1].x), Mathf.Max(corners[2].x, corners[3].x)),
Mathf.Max(Mathf.Max(corners[0].y, corners[1].y), Mathf.Max(corners[2].y, corners[3].y)));
// Rotated if bottom edge is not horizontal or left edge is not vertical.
const float eps = 1e-3f;
rotated = Mathf.Abs(corners[0].y - corners[3].y) > eps ||
Mathf.Abs(corners[0].x - corners[1].x) > eps;
return (max.x - min.x) > 0f && (max.y - min.y) > 0f;
}
/// <summary>
/// Shrinks a draw rect from the sprite's full frame (<see cref="Sprite.rect"/>) to the tight
/// sub-rect its opaque texels actually occupy. Trimmed / tight-mesh sprites report the full
/// frame as their rect but only render the region returned by GetOuterUV; a UI Image maps that
/// region onto the padding-inset part of the RectTransform and leaves the border transparent.
/// Applying the same inset here keeps the artwork at its true size/position (no stretching) and
/// means only the visible pixels — not the transparent background — get composited.
/// </summary>
private static void InsetBySpritePadding(Sprite sprite, ref Vector2 min, ref Vector2 size)
{
float rw = sprite.rect.width, rh = sprite.rect.height;
if (rw <= 0f || rh <= 0f) return;
// GetPadding returns the empty border (left, bottom, right, top) in pixels of sprite.rect.
Vector4 pad = UnityEngine.Sprites.DataUtility.GetPadding(sprite);
if (pad == Vector4.zero) return;
min = new Vector2(min.x + (pad.x / rw) * size.x, min.y + (pad.y / rh) * size.y);
size = new Vector2(size.x * (1f - (pad.x + pad.z) / rw),
size.y * (1f - (pad.y + pad.w) / rh));
}
private static void FitPreserveAspect(Sprite sprite, ref Vector2 min, ref Vector2 size)
{
float spriteAspect = sprite.rect.width / sprite.rect.height;
float rectAspect = size.x / size.y;
Vector2 drawn;
if (rectAspect > spriteAspect) // rect wider than sprite -> fit height
drawn = new Vector2(size.y * spriteAspect, size.y);
else
drawn = new Vector2(size.x, size.x / spriteAspect);
min += (size - drawn) * 0.5f;
size = drawn;
}
private static float AutoPixelsPerUnit(List<Image> images)
{
float ppu = 0f;
var corners = new Vector3[4];
foreach (var img in images)
{
if (img.sprite == null) continue;
((RectTransform)img.transform).GetWorldCorners(corners);
float worldW = Vector2.Distance(corners[0], corners[3]);
float worldH = Vector2.Distance(corners[0], corners[1]);
if (worldW > 0f) ppu = Mathf.Max(ppu, img.sprite.rect.width / worldW);
if (worldH > 0f) ppu = Mathf.Max(ppu, img.sprite.rect.height / worldH);
}
return ppu > 0f ? ppu : 100f; // fallback for all-solid-colour cases
}
/// <summary>Reads a texture's pixels via a Blit (works even when the texture is not marked readable).</summary>
private static (Color32[] px, int w, int h) GetPixels(
Texture tex, Dictionary<Texture, (Color32[], int, int)> cache)
{
if (tex == null) return (new Color32[] { new Color32(255, 255, 255, 255) }, 1, 1);
if (cache.TryGetValue(tex, out var cached)) return cached;
int w = tex.width, h = tex.height;
RenderTexture rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32);
RenderTexture prev = RenderTexture.active;
Graphics.Blit(tex, rt);
RenderTexture.active = rt;
var tmp = new Texture2D(w, h, TextureFormat.RGBA32, false);
tmp.ReadPixels(new Rect(0, 0, w, h), 0, 0);
tmp.Apply();
RenderTexture.active = prev;
RenderTexture.ReleaseTemporary(rt);
Color32[] px = tmp.GetPixels32();
Object.DestroyImmediate(tmp);
var entry = (px, w, h);
cache[tex] = entry;
return entry;
}
private static Color SampleBilinear(Color32[] px, int w, int h, float x, float y)
{
x = Mathf.Clamp(x - 0.5f, 0f, w - 1f);
y = Mathf.Clamp(y - 0.5f, 0f, h - 1f);
int x0 = (int)x, y0 = (int)y;
int x1 = Mathf.Min(x0 + 1, w - 1);
int y1 = Mathf.Min(y0 + 1, h - 1);
float fx = x - x0, fy = y - y0;
Color c00 = px[y0 * w + x0];
Color c10 = px[y0 * w + x1];
Color c01 = px[y1 * w + x0];
Color c11 = px[y1 * w + x1];
return Color.Lerp(Color.Lerp(c00, c10, fx), Color.Lerp(c01, c11, fx), fy);
}
/// <summary>Straight-alpha "source over destination".</summary>
private static Color Over(Color src, Color dst)
{
float outA = src.a + dst.a * (1f - src.a);
if (outA <= 0f) return new Color(0f, 0f, 0f, 0f);
float inv = 1f / outA;
return new Color(
(src.r * src.a + dst.r * dst.a * (1f - src.a)) * inv,
(src.g * src.a + dst.g * dst.a * (1f - src.a)) * inv,
(src.b * src.a + dst.b * dst.a * (1f - src.a)) * inv,
outA);
}
private static string SanitizeFileName(string name)
{
if (string.IsNullOrWhiteSpace(name)) name = "CombinedImage";
foreach (char c in Path.GetInvalidFileNameChars())
name = name.Replace(c, '_');
return name;
}
private static string ToAssetPath(string absFile, string projectRoot)
{
string full = Path.GetFullPath(absFile).Replace('\\', '/');
string root = Path.GetFullPath(projectRoot).Replace('\\', '/');
if (!full.StartsWith(root + "/")) return null;
string rel = full.Substring(root.Length + 1);
return rel.StartsWith("Assets/") || rel == "Assets" ? rel : null;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4ff6d3964378b694ba9c7ba67b3af897

View File

@@ -0,0 +1,14 @@
{
"name": "Features.ImageCombiner",
"rootNamespace": "Darkmatter.Features.ImageCombiner",
"references": [],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

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

View File

@@ -0,0 +1,85 @@
using UnityEngine;
using UnityEngine.UI;
namespace Darkmatter.Features.ImageCombiner
{
/// <summary>
/// Attach to a parent UI object that holds several child <see cref="Image"/> objects
/// (each with a transparent background). The custom inspector's "Combine Images" button
/// flattens every child Image into a single PNG that has the exact combined bounds,
/// position and aspect ratio of the children, saves it to the folder you specify, and
/// assigns it back to this object as one Image.
///
/// All of the actual combining/saving lives in the editor-only inspector
/// (Editor/UIImageCombinerEditor.cs); this component only stores the configuration so it
/// still compiles into player builds.
/// </summary>
[DisallowMultipleComponent]
[RequireComponent(typeof(RectTransform))]
[AddComponentMenu("Darkmatter/UI/UI Image Combiner")]
public sealed class UIImageCombiner : MonoBehaviour
{
[Header("Output location")]
[Tooltip("Folder the combined PNG is written to. Use a project-relative path that starts " +
"with \"Assets/\" (e.g. Assets/Darkmatter/CombinedImages) so it can be imported as a " +
"Sprite and assigned back automatically. An absolute path outside the project just " +
"writes the file to disk.")]
[SerializeField] private string _saveFolder = "Assets/Darkmatter/CombinedImages";
[Tooltip("File name for the combined PNG (without extension). Leave empty to use this " +
"GameObject's name.")]
[SerializeField] private string _fileName = "";
[Header("After combining")]
[Tooltip("Destroy the child GameObjects whose images were combined. Takes priority over " +
"\"Disable Children\" when both are ticked.")]
[SerializeField] private bool _destroyChildrenAfterCombine = false;
[Tooltip("Disable (SetActive false) the child GameObjects whose images were combined.")]
[SerializeField] private bool _disableChildrenAfterCombine = false;
[Header("What to combine")]
[Tooltip("Also combine Images found on nested (grand-)children, not just direct children.")]
[SerializeField] private bool _recurseIntoChildren = true;
[Tooltip("Include children that are currently inactive in the hierarchy.")]
[SerializeField] private bool _includeInactiveChildren = false;
[Header("Resolution")]
[Tooltip("Pixels per world unit for the output texture. 0 = auto: matched to the highest " +
"resolution source sprite so no detail is lost.")]
[SerializeField] private float _pixelsPerUnit = 0f;
[Tooltip("Hard cap for the longest side of the output texture (keeps huge layouts from " +
"producing enormous PNGs). Aspect ratio is preserved.")]
[SerializeField] private int _maxDimension = 4096;
[Header("Trimming")]
[Tooltip("Crop the final combined image to the tight bounding box of non-transparent pixels, " +
"so empty/transparent margins are NOT included. The assigned Image is repositioned " +
"and resized to match the trimmed content, keeping each child at its real size.")]
[SerializeField] private bool _trimTransparent = true;
[Tooltip("Pixels with alpha at or below this value are treated as empty when trimming (0..1). " +
"Leave at 0 to keep soft/anti-aliased edges; raise slightly to also trim faint fringes.")]
[Range(0f, 1f)]
[SerializeField] private float _alphaThreshold = 0f;
[Header("Assignment")]
[Tooltip("Add/reuse an Image on THIS object, assign the combined sprite to it, and resize " +
"this RectTransform to the combined bounds so it lands at the same place and size.")]
[SerializeField] private bool _assignCombinedToSelf = true;
public string SaveFolder => _saveFolder;
public string FileName => string.IsNullOrWhiteSpace(_fileName) ? name : _fileName.Trim();
public bool DestroyChildrenAfterCombine => _destroyChildrenAfterCombine;
public bool DisableChildrenAfterCombine => _disableChildrenAfterCombine;
public bool RecurseIntoChildren => _recurseIntoChildren;
public bool IncludeInactiveChildren => _includeInactiveChildren;
public float PixelsPerUnit => _pixelsPerUnit;
public int MaxDimension => Mathf.Max(1, _maxDimension);
public bool TrimTransparent => _trimTransparent;
public float AlphaThreshold => _alphaThreshold;
public bool AssignCombinedToSelf => _assignCombinedToSelf;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 85c9da43c395b794fb2180a6da9f6511

View File

@@ -39,6 +39,11 @@ namespace Darkmatter.Services.Ads
[SerializeField, Min(0)]
private int maxInterstitialsPerSession = 8;
[Tooltip(
"Enable only after verifying Firebase/AdMob is not already auto-logging ad_impression for the same ads. Leaving this off avoids duplicate ad_impression counts in GA4/Firebase.")]
[SerializeField]
private bool logManualAdImpressionEvents;
public bool IsInitialized => _initialized;
public event Action<AdFormat, AdLoadState> LoadStateChanged;
@@ -653,11 +658,12 @@ namespace Darkmatter.Services.Ads
ad.OnAdClicked += () => LogAdClicked(format);
}
// Ad revenue: GA4-recommended ad_impression carries value+currency from AdMob's paid callback —
// this is what surfaces ad revenue in Firebase/GA4. Ad callbacks fire on the Unity main thread
// (RaiseAdEventsOnUnityMainThread = true), so logging straight to analytics is safe.
// AdMob/Firebase can auto-log ad_impression for linked apps. Manual logging is opt-in so one
// shown ad does not become two GA4 ad_impression events.
private void LogAdImpression(AdFormat format, AdValue value)
{
if (!logManualAdImpressionEvents) return;
_analytics?.LogEvent(AnalyticsEvents.AdImpression, new Dictionary<string, object>
{
[AnalyticsParams.AdPlatform] = "AdMob",

View File

@@ -56,8 +56,9 @@ namespace Darkmatter.Services.Analytics
_subs.Add(_bus.Subscribe<IntroCompletedSignal>(_ => _analytics.LogEvent(AnalyticsEvents.IntroCompleted)));
_subs.Add(_bus.Subscribe<PlayBtnClickedSignal>(_ => _analytics.LogEvent(AnalyticsEvents.PlayClicked)));
// Navigation
_subs.Add(_bus.Subscribe<OpenColorBookSignal>(_ => _analytics.LogEvent(AnalyticsEvents.ColorbookOpened)));
// Navigation. ColorbookShownSignal (not OpenColorBookSignal, which is the show-view command
// and misses scene-entry paths) fires on every way the catalog becomes visible.
_subs.Add(_bus.Subscribe<ColorbookShownSignal>(_ => OnColorbookShown()));
_subs.Add(_bus.Subscribe<OpenArtBookSignal>(_ => _analytics.LogEvent(AnalyticsEvents.ArtbookOpened)));
_subs.Add(_bus.Subscribe<ReturnToMainMenuSignal>(_ => OnReturnToMainMenu()));
@@ -90,6 +91,10 @@ namespace Darkmatter.Services.Analytics
private void OnDrawingSelected(string drawingId)
{
// GameplayFlowController relays the selection a second time after the scene swap
// (artbook edit path) — same id while already active is that relay, not a new selection.
if (drawingId == _activeDrawingId) return;
// A new selection while a drawing is still open (uncompleted) = the previous one was abandoned.
EndActiveDrawingIfAbandoned();
@@ -156,7 +161,7 @@ namespace Darkmatter.Services.Analytics
if (dur >= 0f) p[AnalyticsParams.DurationSeconds] = dur;
_analytics.LogEvent(AnalyticsEvents.DrawingCompleted, p);
// GA4 recommended games event (lights up built-in level funnels).
// Companion to GA4's level_start.
_analytics.LogEvent(AnalyticsEvents.LevelComplete, new Dictionary<string, object>
{
[AnalyticsParams.LevelName] = s.TemplateId,
@@ -171,16 +176,24 @@ namespace Darkmatter.Services.Analytics
if (PlayerPrefs.GetInt(AllContentKey, 0) == 1) return; // once ever
PlayerPrefs.SetInt(AllContentKey, 1);
PlayerPrefs.Save();
_analytics.LogEvent(AnalyticsEvents.AllContentCompleted,
AnalyticsParams.CompletionCount, s.CompletedCount.ToString());
_analytics.LogEvent(AnalyticsEvents.AllContentCompleted, new Dictionary<string, object>
{
[AnalyticsParams.CompletionCount] = s.CompletedCount,
});
}
private void OnGallerySaveCompleted(GallerySaveCompletedSignal s)
{
_analytics.LogEvent(AnalyticsEvents.GallerySaveCompleted, AnalyticsParams.Success, s.Success ? "true" : "false");
// Prefer the id carried by the signal: art-book saves happen with no active drawing.
string drawingId = string.IsNullOrEmpty(s.TemplateId) ? _activeDrawingId ?? string.Empty : s.TemplateId;
_analytics.LogEvent(AnalyticsEvents.GallerySaveCompleted, new Dictionary<string, object>
{
[AnalyticsParams.DrawingId] = drawingId,
[AnalyticsParams.Success] = s.Success ? 1 : 0,
});
_analytics.LogEvent(AnalyticsEvents.DrawingSaved, new Dictionary<string, object>
{
[AnalyticsParams.DrawingId] = _activeDrawingId ?? string.Empty,
[AnalyticsParams.DrawingId] = drawingId,
[AnalyticsParams.Success] = s.Success ? 1 : 0,
});
}
@@ -191,6 +204,15 @@ namespace Darkmatter.Services.Analytics
_analytics.LogEvent(AnalyticsEvents.MainMenuReturned);
}
private void OnColorbookShown()
{
// Reaching the catalog with a drawing still open means the player backed out of gameplay
// mid-drawing — the abandon moment. (Completion clears the active drawing before the
// catalog reloads, so the finish path never lands here with one open.)
EndActiveDrawingIfAbandoned();
_analytics.LogEvent(AnalyticsEvents.ColorbookOpened);
}
// Emits drawing_abandoned for an open, uncompleted drawing. Completion clears _activeDrawingId, so
// reaching here with a non-null id means the drawing was left without finishing — the leak signal.
private void EndActiveDrawingIfAbandoned()

View File

@@ -68,21 +68,18 @@ namespace Darkmatter.Services.Capture
var prevActive = RenderTexture.active;
RenderTexture.active = rt;
var fullScreen = new Texture2D(sw, sh, TextureFormat.RGBA32, mipChain: false);
fullScreen.ReadPixels(new Rect(0, 0, sw, sh), 0, 0);
fullScreen.Apply();
// Read only the crop region straight off the RT. A full-screen ReadPixels followed by
// GetPixels/SetPixels cropping allocated a managed Color[] at 16 bytes/pixel (tens of MB)
// on every capture — autosave runs this after each paint, OOM-killing low-RAM devices.
var cropped = new Texture2D(cropW, cropH, TextureFormat.RGBA32, mipChain: false);
cropped.ReadPixels(new Rect(crop.x, crop.y, cropW, cropH), 0, 0);
cropped.Apply();
RenderTexture.active = prevActive;
captureViewScope?.Dispose();
captureViewScope = null;
try
{
var cropped = new Texture2D(cropW, cropH, TextureFormat.RGBA32, mipChain: false);
try
{
cropped.SetPixels(fullScreen.GetPixels((int)crop.x, (int)crop.y, cropW, cropH));
cropped.Apply();
int targetW = Mathf.Max(1, Mathf.RoundToInt(cropW * scale));
int targetH = Mathf.Max(1, Mathf.RoundToInt(cropH * scale));
Texture2D output = cropped;
@@ -104,11 +101,6 @@ namespace Darkmatter.Services.Capture
}
}
finally
{
Object.Destroy(fullScreen);
}
}
finally
{
paperCanvas.renderMode = prevMode;
paperCanvas.worldCamera = prevWorldCam;

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -0,0 +1,234 @@
fileFormatVersion: 2
guid: 1951198dacf07e54dbed73ea007ea12e
TextureImporter:
internalIDToNameTable:
- first:
213: -8051739824182752894
second: BottomWingsCircle_0
- first:
213: -2728466869657715014
second: BottomWingsCircle_1
- first:
213: 8546343078113801825
second: BottomWingsCircle_2
- first:
213: -4528582518283939828
second: BottomWingsCircle_3
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: BottomWingsCircle_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 66
height: 65
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 28988b33a49724090800000000000000
internalID: -8051739824182752894
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BottomWingsCircle_1
rect:
serializedVersion: 2
x: 108
y: 13
width: 65
height: 66
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: abe31ac86d9822ad0800000000000000
internalID: -2728466869657715014
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BottomWingsCircle_2
rect:
serializedVersion: 2
x: 594
y: 13
width: 66
height: 66
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 1667793cfb5ba9670800000000000000
internalID: 8546343078113801825
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BottomWingsCircle_3
rect:
serializedVersion: 2
x: 702
y: 0
width: 65
height: 65
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c0054ad613e3721c0800000000000000
internalID: -4528582518283939828
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
BottomWingsCircle_0: -8051739824182752894
BottomWingsCircle_1: -2728466869657715014
BottomWingsCircle_2: 8546343078113801825
BottomWingsCircle_3: -4528582518283939828
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: 9d317f0177e1dbc45ae1809ba1a5c789
TextureImporter:
internalIDToNameTable:
- first:
213: -4850049984293518407
second: BusLight_0
- first:
213: -5093069627646189050
second: BusLight_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: BusLight_0
rect:
serializedVersion: 2
x: 0
y: 76
width: 653
height: 43
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9b3cb476c3921bcb0800000000000000
internalID: -4850049984293518407
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BusLight_1
rect:
serializedVersion: 2
x: 863
y: 0
width: 30
height: 41
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 60261db6828c159b0800000000000000
internalID: -5093069627646189050
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
BusLight_0: -4850049984293518407
BusLight_1: -5093069627646189050
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: ddad10803fb8c2c429d2fa9e9f3151b4
TextureImporter:
internalIDToNameTable:
- first:
213: 1896717349252663608
second: BusTire_0
- first:
213: -2174636688557857145
second: BusTire_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: BusTire_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 180
height: 178
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8398681416e725a10800000000000000
internalID: 1896717349252663608
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BusTire_1
rect:
serializedVersion: 2
x: 505
y: 0
width: 180
height: 178
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7862af6147322d1e0800000000000000
internalID: -2174636688557857145
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
BusTire_0: 1896717349252663608
BusTire_1: -2174636688557857145
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,260 @@
fileFormatVersion: 2
guid: f758d9db002cfcb4f93438996861a3cb
TextureImporter:
internalIDToNameTable:
- first:
213: 6471150036080952054
second: ButterflyBody_0
- first:
213: -6321697714792679525
second: ButterflyBody_1
- first:
213: -6691350468167394780
second: ButterflyBody_2
- first:
213: 6673823329618462000
second: ButterflyBody_3
- first:
213: -217602427717472224
second: ButterflyBody_4
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: ButterflyBody_0
rect:
serializedVersion: 2
x: 2
y: 321
width: 129
height: 162
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 6f28cd41ca42ec950800000000000000
internalID: 6471150036080952054
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ButterflyBody_1
rect:
serializedVersion: 2
x: 2
y: 237
width: 127
height: 97
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b9732641c61d448a0800000000000000
internalID: -6321697714792679525
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ButterflyBody_2
rect:
serializedVersion: 2
x: 0
y: 151
width: 131
height: 99
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 42a1d35933c8323a0800000000000000
internalID: -6691350468167394780
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ButterflyBody_3
rect:
serializedVersion: 2
x: 2
y: 70
width: 127
height: 94
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 0358f9775fe2e9c50800000000000000
internalID: 6673823329618462000
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ButterflyBody_4
rect:
serializedVersion: 2
x: 17
y: 0
width: 97
height: 80
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 02033a1bebbeafcf0800000000000000
internalID: -217602427717472224
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
ButterflyBody_0: 6471150036080952054
ButterflyBody_1: -6321697714792679525
ButterflyBody_2: -6691350468167394780
ButterflyBody_3: 6673823329618462000
ButterflyBody_4: -217602427717472224
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -0,0 +1,208 @@
fileFormatVersion: 2
guid: 88e500f0c8c676544818a526667b4928
TextureImporter:
internalIDToNameTable:
- first:
213: -3688669185434742539
second: CarBumper_0
- first:
213: -5122869874224342635
second: CarBumper_1
- first:
213: -2230590542832800911
second: CarBumper_2
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: CarBumper_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 121
height: 75
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5f09b345be63fccc0800000000000000
internalID: -3688669185434742539
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: CarBumper_1
rect:
serializedVersion: 2
x: 346
y: 0
width: 313
height: 75
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 599de44ddf8e7e8b0800000000000000
internalID: -5122869874224342635
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: CarBumper_2
rect:
serializedVersion: 2
x: 881
y: 0
width: 121
height: 75
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 17bea1f28b95b01e0800000000000000
internalID: -2230590542832800911
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CarBumper_0: -3688669185434742539
CarBumper_1: -5122869874224342635
CarBumper_2: -2230590542832800911
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: e6dae4dd201451b4f8ec72d21a12c942
TextureImporter:
internalIDToNameTable:
- first:
213: -3762444342573962785
second: CarGlass_0
- first:
213: -3394847969756668567
second: CarGlass_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: CarGlass_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 218
height: 156
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: fd963b10ecc19cbc0800000000000000
internalID: -3762444342573962785
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: CarGlass_1
rect:
serializedVersion: 2
x: 254
y: 0
width: 309
height: 156
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 96d923812c313e0d0800000000000000
internalID: -3394847969756668567
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CarGlass_0: -3762444342573962785
CarGlass_1: -3394847969756668567
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: ad24addbac9032c469f76321a56d672d
TextureImporter:
internalIDToNameTable:
- first:
213: -655066742942654475
second: CarInTire_0
- first:
213: -1498608758231420081
second: CarInTire_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: CarInTire_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 124
height: 124
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5ff1bba944cb8e6f0800000000000000
internalID: -655066742942654475
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: CarInTire_1
rect:
serializedVersion: 2
x: 284
y: 0
width: 124
height: 124
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f43b35c364fd33be0800000000000000
internalID: -1498608758231420081
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CarInTire_0: -655066742942654475
CarInTire_1: -1498608758231420081
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: a9267392a620fcc499e5ecfb4b0a917f
TextureImporter:
internalIDToNameTable:
- first:
213: -7769440039808934438
second: CarOutTire_0
- first:
213: 5100897469767027331
second: CarOutTire_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: CarOutTire_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 234
height: 234
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: adddd73b2776d2490800000000000000
internalID: -7769440039808934438
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: CarOutTire_1
rect:
serializedVersion: 2
x: 539
y: 0
width: 234
height: 234
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 38a072919370ac640800000000000000
internalID: 5100897469767027331
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CarOutTire_0: -7769440039808934438
CarOutTire_1: 5100897469767027331
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 46ad2bd15abf86e45a975ec3a758bb53
TextureImporter:
internalIDToNameTable:
- first:
213: 6370930181638868744
second: CatBody_0
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: CatBody_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1307
height: 922
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 80f466dde371a6850800000000000000
internalID: 6370930181638868744
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CatBody_0: 6370930181638868744
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@@ -0,0 +1,286 @@
fileFormatVersion: 2
guid: c3c0dd341f8436a429f851f9cb10a693
TextureImporter:
internalIDToNameTable:
- first:
213: 854360137450151800
second: ChuraBody_0
- first:
213: 300892820482043386
second: ChuraBody_1
- first:
213: -7596675443362104391
second: ChuraBody_2
- first:
213: -5812798879745435036
second: ChuraBody_3
- first:
213: -2230349933545200123
second: ChuraBody_4
- first:
213: -1225461193530744214
second: ChuraBody_5
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: ChuraBody_0
rect:
serializedVersion: 2
x: 0
y: 194
width: 31
height: 40
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 87f58f6b40c4bdb00800000000000000
internalID: 854360137450151800
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ChuraBody_1
rect:
serializedVersion: 2
x: 3
y: 93
width: 982
height: 231
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: afd2c401d6cfc2400800000000000000
internalID: 300892820482043386
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ChuraBody_2
rect:
serializedVersion: 2
x: 18
y: 189
width: 878
height: 284
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9bbf774eeef239690800000000000000
internalID: -7596675443362104391
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ChuraBody_3
rect:
serializedVersion: 2
x: 533
y: 79
width: 847
height: 667
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 46a1cf5673ac45fa0800000000000000
internalID: -5812798879745435036
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ChuraBody_4
rect:
serializedVersion: 2
x: 620
y: 214
width: 760
height: 539
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 506e8366d843c01e0800000000000000
internalID: -2230349933545200123
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ChuraBody_5
rect:
serializedVersion: 2
x: 28
y: 0
width: 1015
height: 200
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a62e29989894efee0800000000000000
internalID: -1225461193530744214
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
ChuraBody_0: 854360137450151800
ChuraBody_1: 300892820482043386
ChuraBody_2: -7596675443362104391
ChuraBody_3: -5812798879745435036
ChuraBody_4: -2230349933545200123
ChuraBody_5: -1225461193530744214
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -0,0 +1,312 @@
fileFormatVersion: 2
guid: dc0b930c771985d4691cb92ab59f279b
TextureImporter:
internalIDToNameTable:
- first:
213: 3837443025948308975
second: DanfeBeak_0
- first:
213: 511470280823894669
second: DanfeBeak_1
- first:
213: 1166802717158667554
second: DanfeBeak_2
- first:
213: -6432545699801005218
second: DanfeBeak_3
- first:
213: 102218829908077718
second: DanfeBeak_4
- first:
213: -5383097860671483926
second: DanfeBeak_5
- first:
213: -8545532576490953119
second: DanfeBeak_6
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DanfeBeak_0
rect:
serializedVersion: 2
x: 0
y: 809
width: 83
height: 42
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: fe5f277b916514530800000000000000
internalID: 3837443025948308975
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_1
rect:
serializedVersion: 2
x: 108
y: 21
width: 21
height: 19
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d827da1b28b191700800000000000000
internalID: 511470280823894669
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_2
rect:
serializedVersion: 2
x: 152
y: 7
width: 20
height: 18
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 225f337a3e0513010800000000000000
internalID: 1166802717158667554
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_3
rect:
serializedVersion: 2
x: 231
y: 22
width: 14
height: 17
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e5305e164c10bb6a0800000000000000
internalID: -6432545699801005218
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_4
rect:
serializedVersion: 2
x: 255
y: 18
width: 16
height: 17
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 69ce606fb772b6100800000000000000
internalID: 102218829908077718
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_5
rect:
serializedVersion: 2
x: 369
y: 23
width: 15
height: 18
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: aefc28f34056b45b0800000000000000
internalID: -5383097860671483926
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeBeak_6
rect:
serializedVersion: 2
x: 273
y: 0
width: 17
height: 18
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 1666ab9d56b286980800000000000000
internalID: -8545532576490953119
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DanfeBeak_0: 3837443025948308975
DanfeBeak_1: 511470280823894669
DanfeBeak_2: 1166802717158667554
DanfeBeak_3: -6432545699801005218
DanfeBeak_4: 102218829908077718
DanfeBeak_5: -5383097860671483926
DanfeBeak_6: -8545532576490953119
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -0,0 +1,234 @@
fileFormatVersion: 2
guid: 4b8517249a6f5fb46ad924beca0bc0ed
TextureImporter:
internalIDToNameTable:
- first:
213: 1251703262395139982
second: DanfeHeadPart_0
- first:
213: 4276034837665305358
second: DanfeHeadPart_1
- first:
213: 6311362011549722110
second: DanfeHeadPart_2
- first:
213: 8900275555671599677
second: DanfeHeadPart_3
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DanfeHeadPart_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 306
height: 760
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e87824f3c71fe5110800000000000000
internalID: 1251703262395139982
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeHeadPart_1
rect:
serializedVersion: 2
x: 90
y: 760
width: 65
height: 104
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e035c3a8707875b30800000000000000
internalID: 4276034837665305358
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeHeadPart_2
rect:
serializedVersion: 2
x: 109
y: 760
width: 66
height: 86
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ef5e05b7f46769750800000000000000
internalID: 6311362011549722110
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeHeadPart_3
rect:
serializedVersion: 2
x: 252
y: 2
width: 71
height: 57
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d3ae5e25671248b70800000000000000
internalID: 8900275555671599677
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DanfeHeadPart_0: 1251703262395139982
DanfeHeadPart_1: 4276034837665305358
DanfeHeadPart_2: 6311362011549722110
DanfeHeadPart_3: 8900275555671599677
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: c2feb026e2f604342ad6fb1d74592cc0
TextureImporter:
internalIDToNameTable:
- first:
213: -8558426319100075322
second: DanfeWings1_0
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DanfeWings1_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 370
height: 360
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 6c2afa57b9c5a3980800000000000000
internalID: -8558426319100075322
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DanfeWings1_0: -8558426319100075322
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: 499c759e688e46544a815a18284fb9f0
TextureImporter:
internalIDToNameTable:
- first:
213: 4129204393604476333
second: DanfeWings2_0
- first:
213: -1500505832241293476
second: DanfeWings2_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DanfeWings2_0
rect:
serializedVersion: 2
x: 0
y: 33
width: 454
height: 591
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: dade6cdb481ed4930800000000000000
internalID: 4129204393604476333
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DanfeWings2_1
rect:
serializedVersion: 2
x: 430
y: 0
width: 30
height: 46
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c571bd545e12d2be0800000000000000
internalID: -1500505832241293476
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DanfeWings2_0: 4129204393604476333
DanfeWings2_1: -1500505832241293476
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,468 @@
fileFormatVersion: 2
guid: 53775cb35b0569d4280736de13a98589
TextureImporter:
internalIDToNameTable:
- first:
213: 5033249586431198743
second: DashainPingGirl_0
- first:
213: 8324659869264839602
second: DashainPingGirl_1
- first:
213: 3666975675418248262
second: DashainPingGirl_2
- first:
213: -3184958953187423986
second: DashainPingGirl_3
- first:
213: -3250004282446318388
second: DashainPingGirl_4
- first:
213: -7112137682081183080
second: DashainPingGirl_5
- first:
213: 5843740985476730191
second: DashainPingGirl_6
- first:
213: 7411241082712134665
second: DashainPingGirl_7
- first:
213: 2234119483297400307
second: DashainPingGirl_8
- first:
213: 2474659348792208325
second: DashainPingGirl_9
- first:
213: -8755734003182348925
second: DashainPingGirl_10
- first:
213: 1407992175052348958
second: DashainPingGirl_11
- first:
213: -4908947008148759518
second: DashainPingGirl_12
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DashainPingGirl_0
rect:
serializedVersion: 2
x: 29
y: 192
width: 8
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7160d11e4d1b9d540800000000000000
internalID: 5033249586431198743
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_1
rect:
serializedVersion: 2
x: 29
y: 177
width: 13
height: 15
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 2b30b7f8b02278370800000000000000
internalID: 8324659869264839602
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_2
rect:
serializedVersion: 2
x: 33
y: 172
width: 71
height: 74
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 6448d45c2f6b3e230800000000000000
internalID: 3666975675418248262
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_3
rect:
serializedVersion: 2
x: 100
y: 192
width: 9
height: 16
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e09401be4b0ccc3d0800000000000000
internalID: -3184958953187423986
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_4
rect:
serializedVersion: 2
x: 0
y: 161
width: 15
height: 24
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: cc4f94a035aa5e2d0800000000000000
internalID: -3250004282446318388
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_5
rect:
serializedVersion: 2
x: 95
y: 177
width: 14
height: 14
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 89a81e9b57c9c4d90800000000000000
internalID: -7112137682081183080
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_6
rect:
serializedVersion: 2
x: 119
y: 161
width: 15
height: 24
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f4d4bbef673291150800000000000000
internalID: 5843740985476730191
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_7
rect:
serializedVersion: 2
x: 13
y: 113
width: 109
height: 62
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 90496df8f740ad660800000000000000
internalID: 7411241082712134665
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_8
rect:
serializedVersion: 2
x: 19
y: 60
width: 99
height: 56
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 3f588bb45df210f10800000000000000
internalID: 2234119483297400307
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_9
rect:
serializedVersion: 2
x: 25
y: 0
width: 30
height: 25
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5cbebd00191c75220800000000000000
internalID: 2474659348792208325
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_10
rect:
serializedVersion: 2
x: 28
y: 24
width: 29
height: 40
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 385d18060526d7680800000000000000
internalID: -8755734003182348925
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_11
rect:
serializedVersion: 2
x: 79
y: 23
width: 28
height: 40
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e1e56806c613a8310800000000000000
internalID: 1407992175052348958
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DashainPingGirl_12
rect:
serializedVersion: 2
x: 80
y: 0
width: 31
height: 25
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 22c931e64baefdbb0800000000000000
internalID: -4908947008148759518
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DashainPingGirl_0: 5033249586431198743
DashainPingGirl_1: 8324659869264839602
DashainPingGirl_10: -8755734003182348925
DashainPingGirl_11: 1407992175052348958
DashainPingGirl_12: -4908947008148759518
DashainPingGirl_2: 3666975675418248262
DashainPingGirl_3: -3184958953187423986
DashainPingGirl_4: -3250004282446318388
DashainPingGirl_5: -7112137682081183080
DashainPingGirl_6: 5843740985476730191
DashainPingGirl_7: 7411241082712134665
DashainPingGirl_8: 2234119483297400307
DashainPingGirl_9: 2474659348792208325
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -0,0 +1,208 @@
fileFormatVersion: 2
guid: a67fcc28ba300164d8941f6e9af6c990
TextureImporter:
internalIDToNameTable:
- first:
213: 3965620083542346913
second: DiyoBody_0
- first:
213: 2310740630014503113
second: DiyoBody_1
- first:
213: -8515455852279263476
second: DiyoBody_2
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DiyoBody_0
rect:
serializedVersion: 2
x: 0
y: 215
width: 1114
height: 453
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 1ac42b98476b80730800000000000000
internalID: 3965620083542346913
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DiyoBody_1
rect:
serializedVersion: 2
x: 64
y: 42
width: 876
height: 293
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9c8a3143c56611020800000000000000
internalID: 2310740630014503113
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DiyoBody_2
rect:
serializedVersion: 2
x: 319
y: 0
width: 399
height: 82
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c0f8f58e40603d980800000000000000
internalID: -8515455852279263476
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DiyoBody_0: 3965620083542346913
DiyoBody_1: 2310740630014503113
DiyoBody_2: -8515455852279263476
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: 1f62c31c92fb3854d8267335453868a7
TextureImporter:
internalIDToNameTable:
- first:
213: 4842108114577440398
second: DiyoFlame_0
- first:
213: -5088445411688168677
second: DiyoFlame_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DiyoFlame_0
rect:
serializedVersion: 2
x: 0
y: 5
width: 170
height: 444
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e8ebc65fcaf923340800000000000000
internalID: 4842108114577440398
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DiyoFlame_1
rect:
serializedVersion: 2
x: 48
y: 0
width: 84
height: 200
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b134c599bd53269b0800000000000000
internalID: -5088445411688168677
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DiyoFlame_0: 4842108114577440398
DiyoFlame_1: -5088445411688168677
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: 71c1ef8c94fd6714ca7cae3eeb2d351a
TextureImporter:
internalIDToNameTable:
- first:
213: -2396234069006529103
second: DogAir_0
- first:
213: 6219770187196169797
second: DogAir_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DogAir_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 162
height: 121
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 1bd4d2e5fcddebed0800000000000000
internalID: -2396234069006529103
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DogAir_1
rect:
serializedVersion: 2
x: 166
y: 109
width: 131
height: 89
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 54e74601800115650800000000000000
internalID: 6219770187196169797
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DogAir_0: -2396234069006529103
DogAir_1: 6219770187196169797
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,234 @@
fileFormatVersion: 2
guid: 129db6f4e6dba5e4fa9e39fc5cf69182
TextureImporter:
internalIDToNameTable:
- first:
213: -3524827137669793005
second: DollHair_0
- first:
213: -1350346810163750278
second: DollHair_1
- first:
213: 8294888755684042944
second: DollHair_2
- first:
213: -8274741810796167790
second: DollHair_3
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DollHair_0
rect:
serializedVersion: 2
x: 0
y: 382
width: 83
height: 102
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 31bf884c46c451fc0800000000000000
internalID: -3524827137669793005
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollHair_1
rect:
serializedVersion: 2
x: 75
y: 284
width: 91
height: 198
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a7a9b980bba924de0800000000000000
internalID: -1350346810163750278
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollHair_2
rect:
serializedVersion: 2
x: 141
y: 0
width: 47
height: 134
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 0c8ede5006d5d1370800000000000000
internalID: 8294888755684042944
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollHair_3
rect:
serializedVersion: 2
x: 191
y: 35
width: 43
height: 194
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 29dfb6f1a263a2d80800000000000000
internalID: -8274741810796167790
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DollHair_0: -3524827137669793005
DollHair_1: -1350346810163750278
DollHair_2: 8294888755684042944
DollHair_3: -8274741810796167790
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,494 @@
fileFormatVersion: 2
guid: adbac7892582baf4eac2504e4b2ec064
TextureImporter:
internalIDToNameTable:
- first:
213: -6102167171249472213
second: DollOrnaments_0
- first:
213: 5848136028762450452
second: DollOrnaments_1
- first:
213: -5605370962508393669
second: DollOrnaments_2
- first:
213: -7073501883405699895
second: DollOrnaments_3
- first:
213: 3026072233221025905
second: DollOrnaments_4
- first:
213: -165901437171805525
second: DollOrnaments_5
- first:
213: 2272283501208972584
second: DollOrnaments_6
- first:
213: 330346322086148284
second: DollOrnaments_7
- first:
213: 3019797187815222073
second: DollOrnaments_8
- first:
213: 8794737193587220365
second: DollOrnaments_9
- first:
213: 7956096776724418966
second: DollOrnaments_10
- first:
213: 4556250054991830416
second: DollOrnaments_11
- first:
213: 8590986127070382951
second: DollOrnaments_12
- first:
213: -6883529275484196980
second: DollOrnaments_13
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DollOrnaments_0
rect:
serializedVersion: 2
x: 82
y: 420
width: 10
height: 10
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b2dff95d94fb05ba0800000000000000
internalID: -6102167171249472213
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_1
rect:
serializedVersion: 2
x: 85
y: 429
width: 22
height: 23
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 41aac80cbb0c82150800000000000000
internalID: 5848136028762450452
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_2
rect:
serializedVersion: 2
x: 64
y: 373
width: 32
height: 48
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b33d561eec8b532b0800000000000000
internalID: -5605370962508393669
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_3
rect:
serializedVersion: 2
x: 0
y: 265
width: 36
height: 40
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9c4fb89938fd5dd90800000000000000
internalID: -7073501883405699895
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_4
rect:
serializedVersion: 2
x: 6
y: 304
width: 19
height: 20
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 170ffcdc9a4cef920800000000000000
internalID: 3026072233221025905
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_5
rect:
serializedVersion: 2
x: 124
y: 292
width: 20
height: 19
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ba2d5a9958992bdf0800000000000000
internalID: -165901437171805525
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_6
rect:
serializedVersion: 2
x: 27
y: 215
width: 42
height: 42
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 82daa862ec5c88f10800000000000000
internalID: 2272283501208972584
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_7
rect:
serializedVersion: 2
x: 36
y: 256
width: 7
height: 6
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: cb83dccca30a59400800000000000000
internalID: 330346322086148284
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_8
rect:
serializedVersion: 2
x: 77
y: 215
width: 66
height: 46
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 93b2371fa8978e920800000000000000
internalID: 3019797187815222073
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_9
rect:
serializedVersion: 2
x: 116
y: 255
width: 33
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d8f9eac81ee2d0a70800000000000000
internalID: 8794737193587220365
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_10
rect:
serializedVersion: 2
x: 0
y: 0
width: 159
height: 229
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 6911a4f7ddbb96e60800000000000000
internalID: 7956096776724418966
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_11
rect:
serializedVersion: 2
x: 9
y: 219
width: 20
height: 30
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 09d54a3f84d0b3f30800000000000000
internalID: 4556250054991830416
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_12
rect:
serializedVersion: 2
x: 68
y: 223
width: 10
height: 9
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 76bc6569d50593770800000000000000
internalID: 8590986127070382951
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollOrnaments_13
rect:
serializedVersion: 2
x: 125
y: 228
width: 19
height: 10
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c8f23cd289ac870a0800000000000000
internalID: -6883529275484196980
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DollOrnaments_0: -6102167171249472213
DollOrnaments_1: 5848136028762450452
DollOrnaments_10: 7956096776724418966
DollOrnaments_11: 4556250054991830416
DollOrnaments_12: 8590986127070382951
DollOrnaments_13: -6883529275484196980
DollOrnaments_2: -5605370962508393669
DollOrnaments_3: -7073501883405699895
DollOrnaments_4: 3026072233221025905
DollOrnaments_5: -165901437171805525
DollOrnaments_6: 2272283501208972584
DollOrnaments_7: 330346322086148284
DollOrnaments_8: 3019797187815222073
DollOrnaments_9: 8794737193587220365
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -0,0 +1,234 @@
fileFormatVersion: 2
guid: e5a922760b618904b890bc980c3363c6
TextureImporter:
internalIDToNameTable:
- first:
213: -5922972839006674896
second: DollSaree_0
- first:
213: 2678134696028324098
second: DollSaree_1
- first:
213: -203520722010842069
second: DollSaree_2
- first:
213: 7288134086404478951
second: DollSaree_3
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DollSaree_0
rect:
serializedVersion: 2
x: 9
y: 644
width: 130
height: 188
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 03068bc859f5dcda0800000000000000
internalID: -5922972839006674896
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSaree_1
rect:
serializedVersion: 2
x: 96
y: 676
width: 97
height: 158
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 201ca611155aa2520800000000000000
internalID: 2678134696028324098
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSaree_2
rect:
serializedVersion: 2
x: 145
y: 643
width: 151
height: 200
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b2cdc1c4bf2fc2df0800000000000000
internalID: -203520722010842069
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSaree_3
rect:
serializedVersion: 2
x: 0
y: 0
width: 287
height: 635
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7e71e8f5657a42560800000000000000
internalID: 7288134086404478951
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DollSaree_0: -5922972839006674896
DollSaree_1: 2678134696028324098
DollSaree_2: -203520722010842069
DollSaree_3: 7288134086404478951
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,286 @@
fileFormatVersion: 2
guid: 31640f2c43098fb42a36c93e1e020550
TextureImporter:
internalIDToNameTable:
- first:
213: -1080573345956303945
second: DollSkin_0
- first:
213: 4576834122264398943
second: DollSkin_1
- first:
213: -7445476823342004277
second: DollSkin_2
- first:
213: -2891424736425828397
second: DollSkin_3
- first:
213: -4069202051752016518
second: DollSkin_4
- first:
213: -5696632948005647708
second: DollSkin_5
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: DollSkin_0
rect:
serializedVersion: 2
x: 85
y: 318
width: 146
height: 167
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7bbe48854480101f0800000000000000
internalID: -1080573345956303945
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSkin_1
rect:
serializedVersion: 2
x: 105
y: 280
width: 44
height: 52
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f5cc475926e248f30800000000000000
internalID: 4576834122264398943
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSkin_2
rect:
serializedVersion: 2
x: 18
y: 83
width: 40
height: 74
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: bc7cb49e64a5ca890800000000000000
internalID: -7445476823342004277
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSkin_3
rect:
serializedVersion: 2
x: 257
y: 83
width: 43
height: 74
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 3df9f8a85889fd7d0800000000000000
internalID: -2891424736425828397
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSkin_4
rect:
serializedVersion: 2
x: 0
y: 0
width: 42
height: 62
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a75c7022b4a4787c0800000000000000
internalID: -4069202051752016518
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DollSkin_5
rect:
serializedVersion: 2
x: 279
y: 2
width: 42
height: 62
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 4aa465e048e71f0b0800000000000000
internalID: -5696632948005647708
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
DollSkin_0: -1080573345956303945
DollSkin_1: 4576834122264398943
DollSkin_2: -7445476823342004277
DollSkin_3: -2891424736425828397
DollSkin_4: -4069202051752016518
DollSkin_5: -5696632948005647708
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: bd8070a4cc111d248b6b175ff78ac1f0
TextureImporter:
internalIDToNameTable:
- first:
213: 2624260560706520276
second: EagleBody_0
- first:
213: -2759980738316473495
second: EagleBody_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: EagleBody_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 811
height: 619
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 4d4caf6731f3b6420800000000000000
internalID: 2624260560706520276
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleBody_1
rect:
serializedVersion: 2
x: 612
y: 164
width: 320
height: 210
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 96be9b9342492b9d0800000000000000
internalID: -2759980738316473495
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
EagleBody_0: 2624260560706520276
EagleBody_1: -2759980738316473495
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,312 @@
fileFormatVersion: 2
guid: 6121e7df5de1cee4e9fbbcf5aeea54cf
TextureImporter:
internalIDToNameTable:
- first:
213: -2228499706585317819
second: EagleNB_0
- first:
213: -8290206842855701862
second: EagleNB_1
- first:
213: 5483744377970683532
second: EagleNB_2
- first:
213: -7854804957903562504
second: EagleNB_3
- first:
213: -6166703782362608012
second: EagleNB_4
- first:
213: -8768874788687161859
second: EagleNB_5
- first:
213: 8382744555522387934
second: EagleNB_6
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: EagleNB_0
rect:
serializedVersion: 2
x: 0
y: 757
width: 152
height: 127
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 54e7beee257c211e0800000000000000
internalID: -2228499706585317819
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_1
rect:
serializedVersion: 2
x: 202
y: 67
width: 38
height: 47
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a92c211ccc443fc80800000000000000
internalID: -8290206842855701862
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_2
rect:
serializedVersion: 2
x: 261
y: 43
width: 30
height: 49
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c8eecf7257c2a1c40800000000000000
internalID: 5483744377970683532
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_3
rect:
serializedVersion: 2
x: 435
y: 84
width: 25
height: 21
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8f85e20e1802ef290800000000000000
internalID: -7854804957903562504
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_4
rect:
serializedVersion: 2
x: 366
y: 26
width: 32
height: 49
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 47e083125977b6aa0800000000000000
internalID: -6166703782362608012
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_5
rect:
serializedVersion: 2
x: 430
y: 0
width: 32
height: 47
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: df55c64d6d2be4680800000000000000
internalID: -8768874788687161859
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleNB_6
rect:
serializedVersion: 2
x: 592
y: 42
width: 31
height: 40
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: edf60c272cd755470800000000000000
internalID: 8382744555522387934
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
EagleNB_0: -2228499706585317819
EagleNB_1: -8290206842855701862
EagleNB_2: 5483744377970683532
EagleNB_3: -7854804957903562504
EagleNB_4: -6166703782362608012
EagleNB_5: -8768874788687161859
EagleNB_6: 8382744555522387934
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,260 @@
fileFormatVersion: 2
guid: 571b7f741befcce4e8b5f7ea74a2c315
TextureImporter:
internalIDToNameTable:
- first:
213: 134317518188821139
second: EagleTail_0
- first:
213: 6175494747951521051
second: EagleTail_1
- first:
213: -7317294130370085221
second: EagleTail_2
- first:
213: -6791449380027063441
second: EagleTail_3
- first:
213: 2151944399699356898
second: EagleTail_4
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: EagleTail_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 377
height: 198
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 39ab1c632113dd100800000000000000
internalID: 134317518188821139
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleTail_1
rect:
serializedVersion: 2
x: 104
y: 134
width: 268
height: 74
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b1dd0fb01c3c3b550800000000000000
internalID: 6175494747951521051
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleTail_2
rect:
serializedVersion: 2
x: 166
y: 142
width: 210
height: 94
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: b9e7d32d1cfb37a90800000000000000
internalID: -7317294130370085221
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleTail_3
rect:
serializedVersion: 2
x: 228
y: 193
width: 147
height: 117
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f63a07185ccefb1a0800000000000000
internalID: -6791449380027063441
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: EagleTail_4
rect:
serializedVersion: 2
x: 242
y: 42
width: 139
height: 115
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 2eca870b70e3ddd10800000000000000
internalID: 2151944399699356898
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
EagleTail_0: 134317518188821139
EagleTail_1: 6175494747951521051
EagleTail_2: -7317294130370085221
EagleTail_3: -6791449380027063441
EagleTail_4: 2151944399699356898
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: b55225eeb43c3f7418680ec5b700ec77
TextureImporter:
internalIDToNameTable:
- first:
213: 1638770786909926089
second: ElephantBody_0
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: ElephantBody_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 810
height: 529
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9c2bd0e19551eb610800000000000000
internalID: 1638770786909926089
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
ElephantBody_0: 1638770786909926089
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,182 @@
fileFormatVersion: 2
guid: f3d38381235d8b1419a2252c902db49e
TextureImporter:
internalIDToNameTable:
- first:
213: -4493522001927032771
second: ElephantTeeth_0
- first:
213: 8355602299038611909
second: ElephantTeeth_1
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: ElephantTeeth_0
rect:
serializedVersion: 2
x: 0
y: 38
width: 106
height: 61
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: d30bcb40c8dc3a1c0800000000000000
internalID: -4493522001927032771
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ElephantTeeth_1
rect:
serializedVersion: 2
x: 30
y: 0
width: 141
height: 97
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 5c932a6650015f370800000000000000
internalID: 8355602299038611909
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
ElephantTeeth_0: -4493522001927032771
ElephantTeeth_1: 8355602299038611909
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,234 @@
fileFormatVersion: 2
guid: 372000a4c8f468d47a521cec7b0152b3
TextureImporter:
internalIDToNameTable:
- first:
213: 5917252542674287271
second: FishFins_0
- first:
213: -7136322953585324025
second: FishFins_1
- first:
213: 2778814596264147494
second: FishFins_2
- first:
213: -6714994417864944703
second: FishFins_3
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: 1
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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
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:
- serializedVersion: 2
name: FishFins_0
rect:
serializedVersion: 2
x: 12
y: 328
width: 208
height: 138
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 7aab06c26dd4e1250800000000000000
internalID: 5917252542674287271
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: FishFins_1
rect:
serializedVersion: 2
x: 307
y: 110
width: 146
height: 242
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 70094156510b6fc90800000000000000
internalID: -7136322953585324025
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: FishFins_2
rect:
serializedVersion: 2
x: 0
y: 0
width: 92
height: 106
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 62abefa0725509620800000000000000
internalID: 2778814596264147494
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: FishFins_3
rect:
serializedVersion: 2
x: 163
y: 84
width: 142
height: 80
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 1c3dd6e872c8fc2a0800000000000000
internalID: -6714994417864944703
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
FishFins_0: 5917252542674287271
FishFins_1: -7136322953585324025
FishFins_2: 2778814596264147494
FishFins_3: -6714994417864944703
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

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