Hex Grid System Implementation

HexGridSystem
Sascha 2023-06-20 18:00:02 +07:00
parent ffe103ce9e
commit 3a1c0c8308
18 changed files with 19809 additions and 43 deletions

@ -30,7 +30,7 @@ Material:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: ab269c538609ee34d8bd8e2ff5168c86, type: 3}
m_Texture: {fileID: 2800000, guid: c09c0c8a31a20941f8b6695e435c1199, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
@ -54,7 +54,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: ab269c538609ee34d8bd8e2ff5168c86, type: 3}
m_Texture: {fileID: 2800000, guid: c09c0c8a31a20941f8b6695e435c1199, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:

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

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 79ac126f89c5566b9b34f2c06b0efa2a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

@ -24,6 +24,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4965160932599331109}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 2}
m_LocalScale: {x: 1, y: 1, z: 1}
@ -31,7 +32,6 @@ Transform:
m_Children:
- {fileID: 8988725203248466747}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3475492525256023353
MonoBehaviour:
@ -71,13 +71,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7129222469917164262}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0.03, z: 0}
m_LocalScale: {x: 2, y: 2, z: 2}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7003346701217803257}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!33 &8209669364017282173
MeshFilter:
@ -109,7 +109,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 0d7ad60821d9954109d543138e46c14a, type: 2}
- {fileID: 2100000, guid: 1110c1e35778cd6798a250223b8369db, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0

@ -593,6 +593,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 53ac666b6dc1dbaf0991f2ee7e988fd3, type: 3}
m_Name:
m_EditorClassIdentifier:
ACTION_POINTS_MAX: 2
isEnemy: 0
--- !u!114 &8052666418549593854
MonoBehaviour:

File diff suppressed because it is too large Load Diff

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

@ -3,13 +3,13 @@ using System.Linq;
namespace Grid {
public class GridObject {
public GridObject(GridSystem<GridObject> gridSystem, GridPosition gridPosition) {
GridSystem = gridSystem;
public GridObject(GridSystemHex<GridObject> gridSystemHex, GridPosition gridPosition) {
GridSystemHex = gridSystemHex;
GridPosition = gridPosition;
UnitList = new();
}
private GridSystem<GridObject> GridSystem { get; }
private GridSystemHex<GridObject> GridSystemHex { get; }
private GridPosition GridPosition { get; }
public List<Unit> UnitList { get; }
public IInteractable Interactable { get; set; }

@ -3,11 +3,12 @@ using UnityEngine;
using Object = UnityEngine.Object;
namespace Grid {
public class GridSystem<TGridObject> {
public class GridSystemHex<TGridObject> {
private const float hexVerticalOffsetMultiplier = .75f;
private readonly float cellSize;
private readonly TGridObject[,] gridObjectArray;
public GridSystem(int width, int height, float cellSize, Func<GridSystem<TGridObject>, GridPosition, TGridObject> createGridObject) {
public GridSystemHex(int width, int height, float cellSize, Func<GridSystemHex<TGridObject>, GridPosition, TGridObject> createGridObject) {
Width = width;
Height = height;
this.cellSize = cellSize;
@ -23,9 +24,15 @@ namespace Grid {
public int Height { get; }
public int Width { get; }
public Vector3 GetWorldPosition(GridPosition gridPosition) => new Vector3(gridPosition.X, 0, gridPosition.Z) * cellSize;
public Vector3 GetWorldPosition(GridPosition gridPosition) {
return new Vector3(gridPosition.X, 0, 0) * cellSize + cellSize * hexVerticalOffsetMultiplier * new Vector3(0, 0, gridPosition.Z) + (gridPosition.Z % 2 == 1 ? cellSize * .5f * Vector3.right : Vector3.zero);
}
public GridPosition GetGridPosition(Vector3 worldPosition) => new(Mathf.RoundToInt(worldPosition.x / cellSize), Mathf.RoundToInt(worldPosition.z / cellSize));
public GridPosition GetGridPosition(Vector3 worldPosition) {
int x = Mathf.RoundToInt(worldPosition.x / cellSize);
int z = Mathf.RoundToInt(worldPosition.z / cellSize);
return new(x, z);
}
public void CreateDebugObjects(Transform debugPrefab) {
for (int x = 0; x < Width; x++) {

@ -49,6 +49,12 @@ namespace Grid {
UnitActionSystem.Instance.OnSelectedActionChanged += UnitActionSystem_OnSelectedActionChanged;
LevelGrid.Instance.OnAnyUnitMovedGridPosition += LevelGrid_OnAnyUnitMovedGridPosition;
UpdateGridVisual();
for (int x = 0; x < LevelGrid.Instance.GetWidth(); x++) {
for (int z = 0; z < LevelGrid.Instance.GetHeight(); z++) {
gridSystemVisualSingleArray[x, z].Show(GetGridVisualTypeMaterial(GridVisualType.White));
}
}
}
private void LevelGrid_OnAnyUnitMovedGridPosition(object sender, EventArgs e) => UpdateGridVisual();

@ -12,7 +12,7 @@ namespace Grid {
[SerializeField] private int height = 20;
[SerializeField] private float cellSize = 2f;
private GridSystem<GridObject> gridSystem;
private GridSystemHex<GridObject> gridSystemHex;
public static LevelGrid Instance { get; private set; }
@ -24,23 +24,23 @@ namespace Grid {
}
Instance = this;
gridSystem = new(width, height, cellSize, (g, gridPosition) => new(g, gridPosition));
gridSystemHex = new(width, height, cellSize, (g, gridPosition) => new(g, gridPosition));
}
private void Start() => Pathfinding.Instance.Setup(width, height, cellSize);
public event EventHandler OnAnyUnitMovedGridPosition;
public void AddUnitAtGridPosition(GridPosition gridPosition, Unit unit) => gridSystem.GetGridObject(gridPosition).UnitList.Add(unit);
public void AddUnitAtGridPosition(GridPosition gridPosition, Unit unit) => gridSystemHex.GetGridObject(gridPosition).UnitList.Add(unit);
public List<Unit> GetUnitListAtGridPosition(GridPosition gridPosition) => gridSystem.GetGridObject(gridPosition).UnitList;
public void RemoveUnitAtGridPosition(GridPosition gridPosition, Unit unit) => gridSystem.GetGridObject(gridPosition).UnitList.Remove(unit);
public List<Unit> GetUnitListAtGridPosition(GridPosition gridPosition) => gridSystemHex.GetGridObject(gridPosition).UnitList;
public void RemoveUnitAtGridPosition(GridPosition gridPosition, Unit unit) => gridSystemHex.GetGridObject(gridPosition).UnitList.Remove(unit);
public GridPosition GetGridPosition(Vector3 worldPosition) => gridSystem.GetGridPosition(worldPosition);
public Vector3 GetWorldPosition(GridPosition gridPosition) => gridSystem.GetWorldPosition(gridPosition);
public bool IsValidGridPosition(GridPosition gridPosition) => gridSystem.IsValidGridPosition(gridPosition);
public int GetWidth() => gridSystem.Width;
public int GetHeight() => gridSystem.Height;
public GridPosition GetGridPosition(Vector3 worldPosition) => gridSystemHex.GetGridPosition(worldPosition);
public Vector3 GetWorldPosition(GridPosition gridPosition) => gridSystemHex.GetWorldPosition(gridPosition);
public bool IsValidGridPosition(GridPosition gridPosition) => gridSystemHex.IsValidGridPosition(gridPosition);
public int GetWidth() => gridSystemHex.Width;
public int GetHeight() => gridSystemHex.Height;
public void UnitMovedGridPosition(Unit unit, GridPosition fromGridPosition, GridPosition toGridPosition) {
RemoveUnitAtGridPosition(fromGridPosition, unit);
@ -48,9 +48,9 @@ namespace Grid {
OnAnyUnitMovedGridPosition?.Invoke(this, EventArgs.Empty);
}
public bool HasAnyUnitOnGridPosition(GridPosition gridPosition) => gridSystem.GetGridObject(gridPosition).UnitList.Count > 0;
public Unit GetUnitAtGridPosition(GridPosition gridPosition) => gridSystem.GetGridObject(gridPosition).GetUnit();
public IInteractable GetInteractableAtGridPosition(GridPosition gridPosition) => gridSystem.GetGridObject(gridPosition).Interactable;
public void SetInteractableAtGridPosition(GridPosition gridPosition, IInteractable interactable) => gridSystem.GetGridObject(gridPosition).Interactable = interactable;
public bool HasAnyUnitOnGridPosition(GridPosition gridPosition) => gridSystemHex.GetGridObject(gridPosition).UnitList.Count > 0;
public Unit GetUnitAtGridPosition(GridPosition gridPosition) => gridSystemHex.GetGridObject(gridPosition).GetUnit();
public IInteractable GetInteractableAtGridPosition(GridPosition gridPosition) => gridSystemHex.GetGridObject(gridPosition).Interactable;
public void SetInteractableAtGridPosition(GridPosition gridPosition, IInteractable interactable) => gridSystemHex.GetGridObject(gridPosition).Interactable = interactable;
}
}

@ -12,7 +12,7 @@ public class Pathfinding : MonoBehaviour {
[SerializeField] private Transform gridDebugObjectPrefab;
[SerializeField] private LayerMask obstaclesLayerMask;
public static Pathfinding Instance { get; private set; }
private GridSystem<PathNode> GridSystem { get; set; }
private GridSystemHex<PathNode> GridSystemHex { get; set; }
private int Width { get; set; }
private int Height { get; set; }
@ -32,7 +32,7 @@ public class Pathfinding : MonoBehaviour {
Width = width;
Height = height;
CellSize = cellSize;
GridSystem = new(width, height, cellSize, (_, gridPosition) => new(gridPosition));
GridSystemHex = new(width, height, cellSize, (_, gridPosition) => new(gridPosition));
// GridSystem.CreateDebugObjects(gridDebugObjectPrefab);
for (int x = 0; x < Width; x++) {
@ -46,21 +46,21 @@ public class Pathfinding : MonoBehaviour {
}
}
public bool IsWalkableGridPosition(GridPosition gridPosition) => GridSystem.GetGridObject(gridPosition).IsWalkable;
public bool IsWalkableGridPosition(GridPosition gridPosition) => GridSystemHex.GetGridObject(gridPosition).IsWalkable;
public void SetWalkableGridPosition(GridPosition gridPosition, bool isWalkable) => GridSystem.GetGridObject(gridPosition).IsWalkable = isWalkable;
public void SetWalkableGridPosition(GridPosition gridPosition, bool isWalkable) => GridSystemHex.GetGridObject(gridPosition).IsWalkable = isWalkable;
public List<GridPosition> FindPath(GridPosition startGridPosition, GridPosition endGridPosition, out int pathLength) {
List<PathNode> openList = new();
List<PathNode> closedList = new();
PathNode startNode = GridSystem.GetGridObject(startGridPosition);
PathNode endNode = GridSystem.GetGridObject(endGridPosition);
PathNode startNode = GridSystemHex.GetGridObject(startGridPosition);
PathNode endNode = GridSystemHex.GetGridObject(endGridPosition);
openList.Add(startNode);
for (int x = 0; x < GridSystem.Width; x++) {
for (int z = 0; z < GridSystem.Height; z++) {
PathNode pathNode = GridSystem.GetGridObject(new(x, z));
for (int x = 0; x < GridSystemHex.Width; x++) {
for (int z = 0; z < GridSystemHex.Height; z++) {
PathNode pathNode = GridSystemHex.GetGridObject(new(x, z));
pathNode.GCost = int.MaxValue;
pathNode.HCost = 0;
pathNode.CameFromPathNode = null;
@ -122,22 +122,22 @@ public class Pathfinding : MonoBehaviour {
if (gridPosition.X - 1 >= 0) {
neighbourList.Add(GetNode(gridPosition.X - 1, gridPosition.Z + 0)); //Left
if (gridPosition.Z - 1 >= 0) neighbourList.Add(GetNode(gridPosition.X - 1, gridPosition.Z - 1)); //LeftDown
if (gridPosition.Z < GridSystem.Height) neighbourList.Add(GetNode(gridPosition.X - 1, gridPosition.Z + 1)); //LeftUp
if (gridPosition.Z < GridSystemHex.Height) neighbourList.Add(GetNode(gridPosition.X - 1, gridPosition.Z + 1)); //LeftUp
}
if (gridPosition.X + 1 < GridSystem.Width) {
if (gridPosition.X + 1 < GridSystemHex.Width) {
neighbourList.Add(GetNode(gridPosition.X + 1, gridPosition.Z + 0)); //Right
if (gridPosition.Z - 1 >= 0) neighbourList.Add(GetNode(gridPosition.X + 1, gridPosition.Z - 1)); //RightDown
if (gridPosition.Z + 1 < GridSystem.Height) neighbourList.Add(GetNode(gridPosition.X + 1, gridPosition.Z + 1)); //RightUp
if (gridPosition.Z + 1 < GridSystemHex.Height) neighbourList.Add(GetNode(gridPosition.X + 1, gridPosition.Z + 1)); //RightUp
}
if (gridPosition.Z - 1 >= 0) neighbourList.Add(GetNode(gridPosition.X - 0, gridPosition.Z - 1)); //Down
if (gridPosition.Z + 1 < GridSystem.Height) neighbourList.Add(GetNode(gridPosition.X - 0, gridPosition.Z + 1)); //Up
if (gridPosition.Z + 1 < GridSystemHex.Height) neighbourList.Add(GetNode(gridPosition.X - 0, gridPosition.Z + 1)); //Up
return neighbourList;
}
private PathNode GetNode(int x, int z) => GridSystem.GetGridObject(new(x, z));
private PathNode GetNode(int x, int z) => GridSystemHex.GetGridObject(new(x, z));
private static List<GridPosition> CalculatePath(PathNode endNode) {
List<PathNode> pathNodeList = new() { endNode };

@ -2,12 +2,14 @@ using System;
using Actions;
using Grid;
using UnityEngine;
using UnityEngine.Serialization;
public class Unit : MonoBehaviour {
private const int ACTION_POINTS_MAX = 10;
[FormerlySerializedAs("ACTION_POINTS_MAX")] [SerializeField]
private int actionPointsMax = 2;
[SerializeField] private bool isEnemy;
private int actionPoints = ACTION_POINTS_MAX;
private int actionPoints;
public GridPosition GridPosition { get; private set; }
public BaseAction[] BaseActionArray { get; private set; }
@ -26,6 +28,7 @@ public class Unit : MonoBehaviour {
private void Awake() {
BaseActionArray = GetComponents<BaseAction>();
HealthSystem = GetComponent<HealthSystem>();
actionPoints = actionPointsMax;
}
private void Start() {
@ -65,7 +68,7 @@ public class Unit : MonoBehaviour {
private void TurnSystem_OnTurnChanged(object sender, EventArgs e) {
if (IsEnemy ^ TurnSystem.Instance.IsPlayerTurn || TurnSystem.Instance.IsPlayerTurn ^ IsEnemy) {
ActionPoints = ACTION_POINTS_MAX;
ActionPoints = actionPointsMax;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: c09c0c8a31a20941f8b6695e435c1199
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
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: 3
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 3b7f73734f38262a4aa4af4fa6905d3e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
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: 3
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
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant: