增加寻路测试场景
parent
9c041fa9e4
commit
c215f43a53
|
|
@ -1,343 +0,0 @@
|
|||
{
|
||||
"cameraMarginInfo": {
|
||||
"leftMarginInFight": 1.5,
|
||||
"rightMarginInFight": 1.5,
|
||||
"topMarginInFight": 0.8999999761581421,
|
||||
"bottomMarginInFight": 0.8999999761581421,
|
||||
"leftMarginInPre": 1.5,
|
||||
"rightMarginInPre": 1.5,
|
||||
"topMarginInInPre": 0.8999999761581421,
|
||||
"bottomMarginInPre": 0.8999999761581421
|
||||
},
|
||||
"position": {
|
||||
"x": 0.0,
|
||||
"y": 0.0,
|
||||
"z": 0.0
|
||||
},
|
||||
"_width": 15,
|
||||
"_height": 7,
|
||||
"environmentType": 0,
|
||||
"BlocksData": [
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": 0
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
},
|
||||
{
|
||||
"TerrainTypeIndex": -1
|
||||
}
|
||||
],
|
||||
"regions": [],
|
||||
"initialCameraPosition": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"showBuffPoints": []
|
||||
}
|
||||
|
|
@ -180,5 +180,37 @@
|
|||
"b": 0.04509303,
|
||||
"a": 0.9490196
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "军团蓝方营地",
|
||||
"selectable": true,
|
||||
"banAttack": false,
|
||||
"crossLevel": 0,
|
||||
"AddBuff": false,
|
||||
"buffUnitType": 0,
|
||||
"buffSideType": 0,
|
||||
"Color": {
|
||||
"r": 0.0309759714,
|
||||
"g": 0.0,
|
||||
"b": 0.990566,
|
||||
"a": 1.0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "军团红方营地",
|
||||
"selectable": true,
|
||||
"banAttack": false,
|
||||
"crossLevel": 0,
|
||||
"AddBuff": false,
|
||||
"buffUnitType": 0,
|
||||
"buffSideType": 0,
|
||||
"Color": {
|
||||
"r": 0.6132076,
|
||||
"g": 0.0,
|
||||
"b": 0.0,
|
||||
"a": 1.0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: db0c5ea5f4ec54747a9d0eb3002fbaa0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,874 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Net.Http.Headers;
|
||||
using CodeStage.AntiCheat.Utils;
|
||||
using Gameplay;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using TGS;
|
||||
using Unity.Mathematics;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public class MapHex
|
||||
{
|
||||
public const float Length = 1.73205f;
|
||||
public const float Radius = 1.5f;
|
||||
|
||||
public int index;
|
||||
public int Nx;
|
||||
public int Nz;
|
||||
|
||||
public int Ax;
|
||||
public int Ay;
|
||||
public int Az;
|
||||
|
||||
public bool CanMove;
|
||||
|
||||
public float Wx;
|
||||
public float Wz;
|
||||
|
||||
public int CityID;
|
||||
|
||||
public void SetData( int nWidth, int nHeight, int nIndex, int type )
|
||||
{
|
||||
//index = Nz * nWidth + Nx
|
||||
index = nIndex;
|
||||
|
||||
Nz = nIndex/nWidth;
|
||||
Nx = nIndex - Nz *nWidth;
|
||||
|
||||
Az = Nz;
|
||||
Ax = Nx-Nz/2;
|
||||
Ay = -Ax-Az;
|
||||
|
||||
Wx = (Nx + Nz * 0.5f - Nz / 2 ) * (Radius*2.0f);
|
||||
Wz = Nz * (Length*1.5f);
|
||||
|
||||
CanMove = type != 0;
|
||||
}
|
||||
|
||||
public override string ToString() {
|
||||
return $"index={index}, NC=({Nx}, {Nz}), AC=({Ax}, {Ay}, {Az}), WC=({Wx}, 0, {Wz}), CanMove={CanMove}, City ID={CityID}";
|
||||
}
|
||||
|
||||
public bool IsMyNext(MapHex hex)
|
||||
{
|
||||
int xOffset = math.abs(hex.Ax- Ax);
|
||||
int zOffset = math.abs(hex.Az-Az);
|
||||
int yOffset = math.abs(hex.Ay-Ay);
|
||||
|
||||
return xOffset <= 1 && zOffset <= 1 && yOffset <= 1;
|
||||
}
|
||||
|
||||
public bool IsMe(MapHex hex)
|
||||
{
|
||||
return hex.Nx == Nx && hex.Nz == Nz;
|
||||
}
|
||||
|
||||
public int Distance(MapHex hex)
|
||||
{
|
||||
int xOffset = math.abs(hex.Ax- Ax);
|
||||
int zOffset = math.abs(hex.Az-Az);
|
||||
int yOffset = math.abs(hex.Ay-Ay);
|
||||
|
||||
return math.max(yOffset, math.max(xOffset, zOffset));
|
||||
}
|
||||
}
|
||||
|
||||
public class PathNode
|
||||
{
|
||||
public MapHex hex;
|
||||
public HexDir dir;
|
||||
|
||||
//public List<PathNode> childs;
|
||||
|
||||
public PathNode parent;
|
||||
|
||||
public CityRoad cr;
|
||||
|
||||
public int crIndex;
|
||||
|
||||
public bool goRight;
|
||||
|
||||
public PathNode()
|
||||
{
|
||||
//childs = new List<PathNode>();
|
||||
}
|
||||
}
|
||||
|
||||
public class CityRoad
|
||||
{
|
||||
public MapHex [] road;
|
||||
|
||||
public void GetNextHex(MapHex hex, out MapHex left, out int leftIndex, out MapHex right, out int rightIndex)
|
||||
{
|
||||
int index = -1;
|
||||
for(int i = 0; i < road.Length; i ++)
|
||||
{
|
||||
if(road[i].IsMe(hex))
|
||||
{
|
||||
index = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(index == -1)
|
||||
{
|
||||
Debug.LogError($"CityRoad GetNextHex not found index, hex={hex}");
|
||||
left = null;
|
||||
right = null;
|
||||
leftIndex = 0;
|
||||
rightIndex = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
leftIndex = index -1;
|
||||
if(leftIndex < 0)
|
||||
leftIndex = road.Length - 1;
|
||||
|
||||
rightIndex = index +1;
|
||||
if(rightIndex >= road.Length)
|
||||
rightIndex = 0;
|
||||
|
||||
left = road[leftIndex];
|
||||
right = road[rightIndex];
|
||||
|
||||
Debug.Log($"GetNextHex 1 rsult, index={index}, leftIndex={leftIndex}, rightIndex={rightIndex}");
|
||||
Debug.Log($"hex={hex}");
|
||||
Debug.Log($"left={left}");
|
||||
Debug.Log($"right={right}");
|
||||
}
|
||||
|
||||
public void GetNextHex(int index, bool goRight, out MapHex next, out int nextIndex)
|
||||
{
|
||||
if(goRight)
|
||||
{
|
||||
index ++;
|
||||
if(index >= road.Length)
|
||||
index = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
index --;
|
||||
if(index < 0)
|
||||
index = road.Length - 1;
|
||||
}
|
||||
|
||||
nextIndex = index;
|
||||
next = road[index];
|
||||
|
||||
Debug.Log($"GetNextHex 2 index={index}, goRight={goRight}, nextIndex={nextIndex}");
|
||||
Debug.Log($"next={next}");
|
||||
}
|
||||
|
||||
public List<MapHex> GetPath(MapHex start, MapHex end)
|
||||
{
|
||||
List<MapHex> p1 = new List<MapHex>();
|
||||
List<MapHex> p2 = new List<MapHex>();
|
||||
|
||||
int indexStart = -1;
|
||||
int indexEnd = -1;
|
||||
for(int i = 0; i < road.Length; i ++)
|
||||
{
|
||||
if(road[i].IsMe(start))
|
||||
{
|
||||
indexStart = i;
|
||||
}
|
||||
else if(road[i].IsMe(end))
|
||||
{
|
||||
indexEnd = i;
|
||||
}
|
||||
}
|
||||
|
||||
if(indexStart == -1 || indexEnd == -1)
|
||||
{
|
||||
Debug.LogError($"CityRoad GetPath not found index, start={start}, end={end}");
|
||||
return null;
|
||||
}
|
||||
|
||||
int indexCheck = indexStart;
|
||||
while(indexCheck != indexEnd)
|
||||
{
|
||||
indexCheck++;
|
||||
if(indexCheck>= road.Length)
|
||||
{
|
||||
indexCheck = 0;
|
||||
}
|
||||
|
||||
p1.Add(road[indexCheck]);
|
||||
}
|
||||
|
||||
indexCheck = indexStart;
|
||||
while(indexCheck != indexEnd)
|
||||
{
|
||||
indexCheck--;
|
||||
if(indexCheck < 0)
|
||||
{
|
||||
indexCheck = road.Length-1;
|
||||
}
|
||||
|
||||
p2.Add(road[indexCheck]);
|
||||
}
|
||||
|
||||
return p1.Count > p2.Count ? p2 : p1;
|
||||
}
|
||||
}
|
||||
|
||||
public enum HexDir
|
||||
{
|
||||
None = 0,
|
||||
RightUp,
|
||||
RightDown,
|
||||
LeftUp,
|
||||
LeftDown,
|
||||
Right,
|
||||
Left,
|
||||
UpRL,
|
||||
DownRL,
|
||||
}
|
||||
|
||||
[ExecuteAlways]
|
||||
public class MapPathfind : MonoBehaviour
|
||||
{
|
||||
public TerrainGridSystem TGS;
|
||||
|
||||
MapData m_mapData;
|
||||
|
||||
public bool Reload;
|
||||
|
||||
public MapHex [] m_hexes;
|
||||
|
||||
// width x轴
|
||||
// height z轴
|
||||
|
||||
public int startNx;
|
||||
public int startNz;
|
||||
|
||||
public int endNx;
|
||||
public int endNz;
|
||||
|
||||
public bool FindPath;
|
||||
|
||||
MapHex m_Start;
|
||||
MapHex m_End;
|
||||
|
||||
Dictionary<int, CityRoad> m_Roads;
|
||||
|
||||
public GameObject PathGo;
|
||||
|
||||
public GameObject RoundGo;
|
||||
|
||||
public GameObject CityGo;
|
||||
|
||||
public GameObject StartGo;
|
||||
public GameObject EndGo;
|
||||
|
||||
PathNode m_EndNode;
|
||||
|
||||
public HashSet<int> m_CloseList;
|
||||
|
||||
public bool DestroyPath;
|
||||
|
||||
void Start()
|
||||
{
|
||||
Reload = true;
|
||||
|
||||
}
|
||||
|
||||
void CreateMap()
|
||||
{
|
||||
m_Roads = new Dictionary<int, CityRoad>();
|
||||
|
||||
string jsonPath = Application.dataPath + "/Config/Maps/MapData_MapsTest.json";
|
||||
string txt = File.ReadAllText(jsonPath);
|
||||
m_mapData = JsonUtility.FromJson<MapData>(txt);
|
||||
|
||||
Debug.Log($"width={m_mapData.Width}, height={m_mapData.Height}, data length={m_mapData.BlocksData.Count}");
|
||||
|
||||
m_hexes = new MapHex[m_mapData.BlocksData.Count];
|
||||
for(int i = 0; i < m_mapData.BlocksData.Count; i ++)
|
||||
{
|
||||
MapHex hex = new MapHex();
|
||||
hex.SetData(m_mapData.Width, m_mapData.Height, i, m_mapData.BlocksData[i].TerrainTypeIndex);
|
||||
m_hexes[i] = hex;
|
||||
Debug.Log(hex.ToString());
|
||||
}
|
||||
|
||||
|
||||
AddCity(1, 10, 21, 1 );
|
||||
AddCity(2, 12, 21, 1 );
|
||||
AddCity(3, 4, 19, 1 );
|
||||
AddCity(4, 16, 19, 1 );
|
||||
AddCity(5, 14, 18, 1 );
|
||||
AddCity(6, 12, 17, 1 );
|
||||
AddCity(7, 4, 16, 1 );
|
||||
AddCity(8, 2, 15, 1 );
|
||||
AddCity(9, 14, 13, 1 );
|
||||
AddCity(10, 6, 12, 1 );
|
||||
AddCity(11, 15, 11, 1 );
|
||||
AddCity(12, 9, 10, 1 );
|
||||
AddCity(13, 9, 6, 1 );
|
||||
|
||||
AddCity(14, 6, 21, 2 );
|
||||
AddCity(15, 16, 16, 2 );
|
||||
AddCity(16, 3, 11, 2 );
|
||||
AddCity(17, 13, 8, 2 );
|
||||
|
||||
AddCity(18, 9, 15, 3 );
|
||||
}
|
||||
|
||||
public void AddCity(int nCityID, int Nx, int Nz, int range )
|
||||
{
|
||||
MapHex center = m_hexes[GetIndex(Nx, Nz)];
|
||||
|
||||
// 找最外一圈路径
|
||||
List<MapHex> RoundRoad = new List<MapHex>();
|
||||
|
||||
// 获取建筑所在的格子
|
||||
int MaxX = center.Ax + range;
|
||||
int MinX = center.Ax - range;
|
||||
int MaxY = center.Ay + range;
|
||||
int MinY = center.Ay - range;
|
||||
int MaxZ = center.Az + range;
|
||||
int MinZ = center.Az - range;
|
||||
|
||||
for(int x = MinX; x <= MaxX; x ++)
|
||||
{
|
||||
for(int y = MinY; y <= MaxY; y ++)
|
||||
{
|
||||
int z = -x-y;
|
||||
if(z >= MinZ && z <= MaxZ)
|
||||
{
|
||||
MapHex hex = GetMapHex(x, y, z);
|
||||
|
||||
if(x == MinX || x == MaxX
|
||||
|| y == MinY || y == MaxY
|
||||
|| z == MinZ || z == MaxZ)
|
||||
{
|
||||
RoundRoad.Add(hex);
|
||||
}
|
||||
else
|
||||
{
|
||||
hex.CityID = nCityID;
|
||||
Debug.Log(hex.ToString());
|
||||
|
||||
/*
|
||||
var go = Instantiate(CityGo);
|
||||
go.transform.SetParent(transform);
|
||||
go.transform.position = new Vector3(hex.Wx, 0, hex.Wz);
|
||||
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int RoadNodeCount = RoundRoad.Count;
|
||||
|
||||
List<MapHex> rounds = new List<MapHex>();
|
||||
MapHex next = RoundRoad[0];
|
||||
rounds.Add(next);
|
||||
RoundRoad.RemoveAt(0);
|
||||
while(RoundRoad.Count > 0)
|
||||
{
|
||||
Debug.Log($"find next, city={nCityID}, count={RoundRoad.Count}, current={next}");
|
||||
MapHex nextHex = null;
|
||||
for(int i = 0; i < RoundRoad.Count; i ++)
|
||||
{
|
||||
if(next.IsMyNext(RoundRoad[i]))
|
||||
{
|
||||
next = RoundRoad[i];
|
||||
RoundRoad.RemoveAt(i);
|
||||
rounds.Add(next);
|
||||
nextHex = next;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(nextHex == null)
|
||||
{
|
||||
Debug.LogError("nextHex not found ...");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(rounds.Count == RoadNodeCount)
|
||||
{
|
||||
CityRoad cr = new CityRoad();
|
||||
cr.road = rounds.ToArray();
|
||||
m_Roads.Add(nCityID, cr);
|
||||
|
||||
/*
|
||||
for(int i = 0; i < cr.road.Length; i ++)
|
||||
{
|
||||
var go = Instantiate(RoundGo);
|
||||
go.transform.SetParent(transform);
|
||||
go.transform.position = new Vector3(cr.road[i].Wx, 0, cr.road[i].Wz);
|
||||
}
|
||||
//*/
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError($"Road create error, city={nCityID}, rounds.Count:{rounds.Count} != RoadNodeCount:{RoadNodeCount}");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Debug.Log("Road Start ========================= count=" +rounds.Count);
|
||||
for(int i = 0; i < rounds.Count; i ++)
|
||||
{
|
||||
Debug.Log(rounds[i]);
|
||||
}
|
||||
Debug.Log("Road End =========================");
|
||||
*/
|
||||
}
|
||||
|
||||
int GetIndex(int Nx, int Nz)
|
||||
{
|
||||
return Nz*m_mapData.Width+Nx;
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if(Reload)
|
||||
{
|
||||
Reload = false;
|
||||
CreateMap();
|
||||
}
|
||||
|
||||
if(FindPath)
|
||||
{
|
||||
|
||||
|
||||
DoFind2();
|
||||
FindPath = false;
|
||||
}
|
||||
|
||||
if(DestroyPath)
|
||||
{
|
||||
DestroyPath = false;
|
||||
//删除本节点下所有的GameObect
|
||||
foreach (Transform child in transform)
|
||||
{
|
||||
DestroyImmediate(child.gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HexDir GetTargetPositionDir(MapHex start, MapHex end)
|
||||
{
|
||||
var dir = GetLineDir(start, end);
|
||||
if(dir != HexDir.None)
|
||||
return dir;
|
||||
|
||||
if(end.Az > start.Az)
|
||||
{
|
||||
if(end.Ax < start.Ax && end.Ay < start.Ay)
|
||||
{
|
||||
return HexDir.UpRL;
|
||||
}
|
||||
else if(end.Ay > start.Ay)
|
||||
{
|
||||
return HexDir.LeftUp;
|
||||
}
|
||||
else
|
||||
{
|
||||
return HexDir.RightUp;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(end.Ax > start.Ax && end.Ay > start.Ay)
|
||||
{
|
||||
return HexDir.DownRL;
|
||||
}
|
||||
else if(end.Ax < start.Ax)
|
||||
{
|
||||
return HexDir.LeftDown;
|
||||
}
|
||||
else
|
||||
{
|
||||
return HexDir.RightDown;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HexDir GetLineDir(MapHex start, MapHex end)
|
||||
{
|
||||
if(start.Ax == end.Ax)
|
||||
{
|
||||
if(end.Az > start.Az)
|
||||
{
|
||||
return HexDir.RightUp;
|
||||
}
|
||||
else
|
||||
{
|
||||
return HexDir.LeftDown;
|
||||
}
|
||||
}
|
||||
else if( start.Az == end.Az)
|
||||
{
|
||||
if(end.Ax > start.Ax)
|
||||
{
|
||||
return HexDir.Right;
|
||||
}
|
||||
else
|
||||
{
|
||||
return HexDir.Left;
|
||||
}
|
||||
}
|
||||
else if( start.Ay == end.Ay)
|
||||
{
|
||||
if(end.Az > start.Az)
|
||||
{
|
||||
return HexDir.LeftUp;
|
||||
}
|
||||
else
|
||||
{
|
||||
return HexDir.RightDown;
|
||||
}
|
||||
}
|
||||
|
||||
return HexDir.None;
|
||||
}
|
||||
|
||||
void AddPathNode(PathNode node, PathNode parent)
|
||||
{
|
||||
PathNode result = null;
|
||||
PathNode check = parent.parent;
|
||||
if(check == null)
|
||||
{
|
||||
node.parent = parent;
|
||||
return;
|
||||
}
|
||||
|
||||
while(check.parent != null)
|
||||
{
|
||||
if(check.hex.IsMyNext(node.hex))
|
||||
{
|
||||
result = check;
|
||||
}
|
||||
|
||||
check = check.parent;
|
||||
}
|
||||
|
||||
if(result != null)
|
||||
{
|
||||
node.parent = result;
|
||||
}
|
||||
else
|
||||
{
|
||||
node.parent = parent;
|
||||
}
|
||||
}
|
||||
|
||||
bool GetNextNode(PathNode currentNode, List<PathNode> openList)
|
||||
{
|
||||
var dir = currentNode.dir;
|
||||
|
||||
var nextHex = GetNextHex(currentNode.hex, dir);
|
||||
if(nextHex != null)
|
||||
{
|
||||
// 下一格是建筑,那当前这一格,肯定就在路点上
|
||||
if(nextHex.CityID > 0)
|
||||
{
|
||||
// 如果当前格没有路点信息,则找左右两个路点作为下一格
|
||||
if(currentNode.cr == null)
|
||||
{
|
||||
m_Roads.TryGetValue(nextHex.CityID, out CityRoad cr);
|
||||
if(cr == null)
|
||||
{
|
||||
Debug.LogError("City road not found, city id=" + nextHex.CityID);
|
||||
return false;
|
||||
}
|
||||
|
||||
cr.GetNextHex(currentNode.hex, out MapHex left, out int leftIndex, out MapHex right, out int rightIndex);
|
||||
if(!m_CloseList.TryGetValue(left.index, out int hexIndex))
|
||||
{
|
||||
PathNode nodeLeft = new PathNode();
|
||||
nodeLeft.hex = left;
|
||||
nodeLeft.dir = GetTargetPositionDir(left, m_End);
|
||||
nodeLeft.cr = cr;
|
||||
nodeLeft.crIndex = leftIndex;
|
||||
nodeLeft.goRight = false;
|
||||
//nodeLeft.parent = currentNode;
|
||||
AddPathNode(nodeLeft, currentNode);
|
||||
if(m_End.IsMe(left))
|
||||
{
|
||||
m_EndNode = nodeLeft;
|
||||
return true;
|
||||
}
|
||||
openList.Add(nodeLeft);
|
||||
}
|
||||
|
||||
if(!m_CloseList.TryGetValue(right.index, out int hexIndex2))
|
||||
{
|
||||
PathNode nodeRight = new PathNode();
|
||||
nodeRight.hex = right;
|
||||
nodeRight.dir = GetTargetPositionDir(right, m_End);
|
||||
nodeRight.cr = cr;
|
||||
nodeRight.crIndex = rightIndex;
|
||||
nodeRight.goRight = true;
|
||||
//nodeRight.parent = currentNode;
|
||||
AddPathNode(nodeRight, currentNode);
|
||||
if(m_End.IsMe(right))
|
||||
{
|
||||
m_EndNode = nodeRight;
|
||||
return true;
|
||||
}
|
||||
openList.Add(nodeRight);
|
||||
}
|
||||
|
||||
}
|
||||
else // 当前格本身就在路点上,则找下一格路点
|
||||
{
|
||||
currentNode.cr.GetNextHex(currentNode.crIndex, currentNode.goRight, out MapHex next, out int nextIndex);
|
||||
if(!m_CloseList.TryGetValue(next.index, out int hexIndex2))
|
||||
{
|
||||
PathNode nodeNext = new PathNode();
|
||||
nodeNext.hex = next;
|
||||
nodeNext.cr = currentNode.cr;
|
||||
nodeNext.dir = GetTargetPositionDir(next, m_End);
|
||||
nodeNext.goRight = currentNode.goRight;
|
||||
nodeNext.crIndex = nextIndex;
|
||||
//nodeNext.parent = currentNode;
|
||||
AddPathNode(nodeNext, currentNode);
|
||||
if(m_End.IsMe(next))
|
||||
{
|
||||
m_EndNode = nodeNext;
|
||||
return true;
|
||||
}
|
||||
openList.Add(nodeNext);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PathNode nextNode = new PathNode();
|
||||
nextNode.hex = nextHex;
|
||||
nextNode.dir = dir;
|
||||
var dirNext = GetLineDir(nextHex, m_End);
|
||||
if(dirNext != HexDir.None)
|
||||
{
|
||||
nextNode.dir = dirNext;
|
||||
}
|
||||
|
||||
nextNode.parent = currentNode;
|
||||
AddPathNode(nextNode, currentNode);
|
||||
if(m_End.IsMe(nextHex))
|
||||
{
|
||||
m_EndNode = nextNode;
|
||||
return true;
|
||||
}
|
||||
|
||||
openList.Add(nextNode);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void DoFind2()
|
||||
{
|
||||
m_EndNode = null;
|
||||
m_CloseList = new HashSet<int>();
|
||||
List<MapHex> m_paths = new List<MapHex>();
|
||||
m_Start = m_hexes[GetIndex(startNx, startNz)];
|
||||
m_End = m_hexes[GetIndex(endNx, endNz)];
|
||||
|
||||
StartGo.transform.position = new Vector3(m_Start.Wx, 0, m_Start.Wz);
|
||||
EndGo.transform.position = new Vector3(m_End.Wx, 0, m_End.Wz);
|
||||
|
||||
List<PathNode> openList = new List<PathNode>();
|
||||
|
||||
PathNode path = new PathNode();
|
||||
path.hex = m_Start;
|
||||
path.dir = GetTargetPositionDir(m_Start, m_End);
|
||||
openList.Add(path);
|
||||
|
||||
List<MapHex> hexList = new List<MapHex>();
|
||||
while(openList.Count > 0)
|
||||
{
|
||||
Debug.Log("START ============================================== openList.Count=" + openList.Count);
|
||||
List<PathNode> newOpenList = new List<PathNode>();
|
||||
for(int i = 0; i < openList.Count; i ++)
|
||||
{
|
||||
hexList.Clear();
|
||||
var node = openList[i];
|
||||
m_CloseList.Add(node.hex.index);
|
||||
|
||||
Debug.Log($"node.dir={node.dir}, node={node.hex}");
|
||||
switch(node.dir)
|
||||
{
|
||||
case HexDir.DownRL:
|
||||
{
|
||||
node.dir = HexDir.LeftDown;
|
||||
if(GetNextNode(node, newOpenList))
|
||||
{
|
||||
Debug.Log("LeftDown go end");
|
||||
goto End;
|
||||
}
|
||||
|
||||
node.dir = HexDir.RightDown;
|
||||
|
||||
if(GetNextNode(node, newOpenList))
|
||||
{
|
||||
Debug.Log("RightDown go end");
|
||||
goto End;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case HexDir.UpRL:
|
||||
{
|
||||
node.dir = HexDir.LeftUp;
|
||||
if(GetNextNode(node, newOpenList))
|
||||
{
|
||||
Debug.Log("LeftUp go end");
|
||||
goto End;
|
||||
}
|
||||
|
||||
node.dir = HexDir.RightUp;
|
||||
if(GetNextNode(node, newOpenList))
|
||||
{
|
||||
Debug.Log("RightUp go end");
|
||||
goto End;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
if(GetNextNode(node, newOpenList))
|
||||
{
|
||||
Debug.Log("default go end");
|
||||
goto End;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
openList.Clear();
|
||||
openList.AddRange(newOpenList);
|
||||
|
||||
Debug.Log("NEXT ============================================== openList.Count=" + openList.Count);
|
||||
}
|
||||
|
||||
End:
|
||||
PathNode pathNode = m_EndNode;
|
||||
while(pathNode.parent != null)
|
||||
{
|
||||
Debug.Log(pathNode.hex);
|
||||
|
||||
var go = Instantiate(PathGo);
|
||||
go.transform.SetParent(transform);
|
||||
go.transform.position = new Vector3(pathNode.hex.Wx, 0, pathNode.hex.Wz);
|
||||
|
||||
pathNode = pathNode.parent;
|
||||
}
|
||||
}
|
||||
|
||||
MapHex GetMapHex(int Ax, int Ay, int Az)
|
||||
{
|
||||
int Nz = Az;
|
||||
int Nx = Ax+Az/2;
|
||||
//Debug.Log($"GetMapHex Ax={Ax}, Ay={Ay}, Az={Az}, Nx={Nx}, Nz={Nz}");
|
||||
|
||||
if(Nx < 0 || Nx > m_mapData.Width-1)
|
||||
{
|
||||
Debug.LogError($"GetMapHex 1 not found Nx={Nx}, Nz={Nz}");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
if(Nz < 0 || Nz > m_mapData.Height-1)
|
||||
{
|
||||
Debug.LogError($"GetMapHex 2 not found Nx={Nx}, Nz={Nz}");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
int index = GetIndex(Nx, Nz);
|
||||
return m_hexes[index];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
MapHex GetNextHex(MapHex hex, HexDir dir)
|
||||
{
|
||||
switch(dir)
|
||||
{
|
||||
case HexDir.RightUp:
|
||||
{
|
||||
//往右上走,Ax不变,Az+1
|
||||
int NextAx = hex.Ax;
|
||||
int NextAz = hex.Az+1;
|
||||
int NextAy = -NextAx-NextAz;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
case HexDir.RightDown:
|
||||
{
|
||||
// 往右下走,Ay不变,Az-1
|
||||
int NextAz = hex.Az-1;
|
||||
int NextAy = hex.Ay;
|
||||
int NextAx = -NextAz-NextAy;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
case HexDir.LeftUp:
|
||||
{
|
||||
//往左上走,Ay不变,Az+1
|
||||
int NextAy = hex.Ay;
|
||||
int NextAz = hex.Az+1;
|
||||
int NextAx = -NextAz-NextAy;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
case HexDir.LeftDown:
|
||||
{
|
||||
//往左下走,Ax不变,Az-1
|
||||
int NextAx = hex.Ax;
|
||||
int NextAz = hex.Az-1;
|
||||
int NextAy = -NextAx-NextAz;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
case HexDir.Right:
|
||||
{
|
||||
//往右走,Az不变,Ay-1
|
||||
int NextAz = hex.Az;
|
||||
int NextAy = hex.Ay-1;
|
||||
int NextAx = -NextAz-NextAy;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
case HexDir.Left:
|
||||
{
|
||||
//往左走,Az不变,Ay+1
|
||||
int NextAz = hex.Az;
|
||||
int NextAy = hex.Ay+1;
|
||||
int NextAx = -NextAz-NextAy;
|
||||
return GetMapHex(NextAx, NextAy, NextAz);
|
||||
}
|
||||
|
||||
default:
|
||||
Debug.LogError("GetNextHex invalid dir, dir=" + dir);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5ede5d19e8a8f45a7a002a20605b51b8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1a541fa428141444bba79c0dfdc41dfa
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: city
|
||||
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: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _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: 1, g: 0, b: 0.9943776, a: 1}
|
||||
- _Color: {r: 1, g: 0, b: 0.99437755, 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: []
|
||||
--- !u!114 &7508293644406122582
|
||||
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: 7
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 798b84ae22b364c16b198bff4f01e0de
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: city_road
|
||||
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: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _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: 1, g: 0.7719945, b: 0.0141509175, a: 1}
|
||||
- _Color: {r: 1, g: 0.7719944, b: 0.0141509175, 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: []
|
||||
--- !u!114 &7508293644406122582
|
||||
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: 7
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b0d1a9f3379f9415e966ac82552f7d42
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: end
|
||||
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: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _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.98039216, g: 0.113496184, b: 0, a: 1}
|
||||
- _Color: {r: 0.98039216, g: 0.11349615, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
--- !u!114 &7508293644406122582
|
||||
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: 7
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c972e82088c8849c594e056481128349
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: path
|
||||
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: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _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.5283019, g: 0.5283019, b: 0.5283019, a: 1}
|
||||
- _Color: {r: 0.5283019, g: 0.5283019, b: 0.5283019, 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: []
|
||||
--- !u!114 &7508293644406122582
|
||||
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: 7
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 601cae65bb8b34376b078252813ce842
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: start
|
||||
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: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _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, g: 0.9811321, b: 0.18570988, a: 1}
|
||||
- _Color: {r: 0, g: 0.9811321, b: 0.18570983, 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: []
|
||||
--- !u!114 &7508293644406122582
|
||||
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: 7
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 84572e4accea840ee9133ce4b690dadf
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
Reference in New Issue