Compare commits
3 Commits
e0a4cf31b2
...
Gameclient
| Author | SHA1 | Date | |
|---|---|---|---|
| 556fdb6090 | |||
| 43a3434e97 | |||
| 48448a9cff |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -303,8 +303,6 @@ PublishScripts/
|
|||||||
*.nupkg
|
*.nupkg
|
||||||
# NuGet Symbol Packages
|
# NuGet Symbol Packages
|
||||||
*.snupkg
|
*.snupkg
|
||||||
# except build/, which is used as an MSBuild target.
|
|
||||||
!**/[Pp]ackages/build/
|
|
||||||
# Uncomment if necessary however generally it will be regenerated when needed
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
#!**/[Pp]ackages/repositories.config
|
#!**/[Pp]ackages/repositories.config
|
||||||
# NuGet v3's project.json files produces more ignorable files
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7eaf47040f6a6ba4bb9df4eab675de30
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a369fde97a303eb4ebfe7de3af10fac4
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8fa0d9c695119af49bd1693054cf3174
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 70729d202603eef42955f52bd64f7c69
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -4,6 +4,7 @@ using Subsystems;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System;
|
using System;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
|
using System.Collections.Generic;
|
||||||
/*
|
/*
|
||||||
GameManager - hlavní tøida pro správu hry
|
GameManager - hlavní tøida pro správu hry
|
||||||
GameManager_Network - subsystém pro správu komunikace se serverem
|
GameManager_Network - subsystém pro správu komunikace se serverem
|
||||||
@@ -20,6 +21,7 @@ public class GameManager : MonoBehaviour
|
|||||||
protected GameManager_UI uiSubsystem;
|
protected GameManager_UI uiSubsystem;
|
||||||
protected GameManager_Map mapSubsystem;
|
protected GameManager_Map mapSubsystem;
|
||||||
protected GameManager_Input inputSubsystem;
|
protected GameManager_Input inputSubsystem;
|
||||||
|
protected GameManager_Game gameSubsystem;
|
||||||
|
|
||||||
protected GameClient gameClient;
|
protected GameClient gameClient;
|
||||||
|
|
||||||
@@ -49,6 +51,9 @@ public class GameManager : MonoBehaviour
|
|||||||
private GameManager_Network _secondNetwork;
|
private GameManager_Network _secondNetwork;
|
||||||
private GameManager_Network _thirdNetwork;
|
private GameManager_Network _thirdNetwork;
|
||||||
|
|
||||||
|
[Header("Tasks")]
|
||||||
|
public List<TaskData> AvailableTasks = new List<TaskData>();
|
||||||
|
public StationSettings settings = new StationSettings();
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
@@ -72,6 +77,7 @@ public class GameManager : MonoBehaviour
|
|||||||
networkSubsystem = new GameManager_Network(gameClient);
|
networkSubsystem = new GameManager_Network(gameClient);
|
||||||
mapSubsystem = new GameManager_Map(gameClient, MapCenterPoint, buildingSettings, pathwaySettings, areaSettings);
|
mapSubsystem = new GameManager_Map(gameClient, MapCenterPoint, buildingSettings, pathwaySettings, areaSettings);
|
||||||
inputSubsystem = new GameManager_Input(gameClient, Player, testMode);
|
inputSubsystem = new GameManager_Input(gameClient, Player, testMode);
|
||||||
|
gameSubsystem = new GameManager_Game(gameClient, Player, MapCenterPoint, AvailableTasks);
|
||||||
networkSubsystem.OpenConection();
|
networkSubsystem.OpenConection();
|
||||||
}
|
}
|
||||||
private void Update()
|
private void Update()
|
||||||
@@ -133,6 +139,10 @@ public class GameManager : MonoBehaviour
|
|||||||
{
|
{
|
||||||
networkSubsystem.StartGame();
|
networkSubsystem.StartGame();
|
||||||
}
|
}
|
||||||
|
public void Interact()
|
||||||
|
{
|
||||||
|
//TODO: Interakce s úkoly
|
||||||
|
}
|
||||||
void OnApplicationQuit()
|
void OnApplicationQuit()
|
||||||
{
|
{
|
||||||
gameClient.Disconnect();
|
gameClient.Disconnect();
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 22bf82e679cf6e1419440d236360ba3b
|
guid: 9e2c3e4ba4e36ea40a686e58feca4d2b
|
||||||
141
Assets/GameManager/GameManager_Game.cs
Normal file
141
Assets/GameManager/GameManager_Game.cs
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
using GeoSus.Client;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using UnityEngine;
|
||||||
|
using static UnityEngine.Rendering.RayTracingAccelerationStructure;
|
||||||
|
|
||||||
|
namespace Subsystems
|
||||||
|
{
|
||||||
|
[System.Serializable]
|
||||||
|
public class StationSettings
|
||||||
|
{
|
||||||
|
public GameObject TaskStationPrefab;
|
||||||
|
public GameObject SabotageStationPrefab;
|
||||||
|
public GameObject MeetingStationPrefab;
|
||||||
|
public GameObject BodyStationPrefab;
|
||||||
|
|
||||||
|
}
|
||||||
|
public class GameManager_Game
|
||||||
|
{
|
||||||
|
private GameClient _gameClient;
|
||||||
|
private GameObject _player;
|
||||||
|
private GameObject _map;
|
||||||
|
private float _range;
|
||||||
|
private List<TaskData> _availableTasks;
|
||||||
|
public List<GameObject> Stations { get; private set; }
|
||||||
|
public List<GameObject> TaskStations { get; private set; } = new List<GameObject>();
|
||||||
|
private StationSettings _stationSettings;
|
||||||
|
public GameManager_Game(GameClient client, GameObject player, GameObject map, List<TaskData> availableTasks, float range = 20f, StationSettings stationSettings = null)
|
||||||
|
{
|
||||||
|
_gameClient = client;
|
||||||
|
_player = player;
|
||||||
|
_map = map;
|
||||||
|
_availableTasks = availableTasks;
|
||||||
|
_range = range;
|
||||||
|
_stationSettings = stationSettings;
|
||||||
|
}
|
||||||
|
public bool CheckSightLine(Vector3 target)
|
||||||
|
{
|
||||||
|
RaycastHit hit;
|
||||||
|
Vector3 direction = target - _player.transform.position;
|
||||||
|
Ray ray = new Ray(new Vector3(_player.transform.position.x, 0.1f, _player.transform.position.z), direction);
|
||||||
|
Physics.Raycast(ray, out hit, _range);
|
||||||
|
if (hit.collider.tag == "Player")
|
||||||
|
{
|
||||||
|
Debug.Log("Target is visible");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Log("Target is not visible");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public void InitializeTaskStations()
|
||||||
|
{
|
||||||
|
for(int i = 0; i < _gameClient.MyTasks.Count; i++)
|
||||||
|
{
|
||||||
|
System.Random rnd = new System.Random();
|
||||||
|
var task = _availableTasks[rnd.Next(0,_availableTasks.Count)];
|
||||||
|
CreateStation(_gameClient.MyTasks[i].Location, StationType.Task, _gameClient.MyTasks[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void CreateStation(Position pos, StationType type)
|
||||||
|
{
|
||||||
|
GameObject stationPrefab = null;
|
||||||
|
PlayerRole? reqRole = null;
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case StationType.Task:
|
||||||
|
stationPrefab = _stationSettings.TaskStationPrefab;
|
||||||
|
reqRole = PlayerRole.Crew;
|
||||||
|
Debug.LogError("Task station creation not fully implemented, using task station prefab as placeholder");
|
||||||
|
break;
|
||||||
|
case StationType.Sabotage:
|
||||||
|
stationPrefab = _stationSettings.SabotageStationPrefab;
|
||||||
|
break;
|
||||||
|
case StationType.Meeting:
|
||||||
|
stationPrefab = _stationSettings.MeetingStationPrefab;
|
||||||
|
break;
|
||||||
|
case StationType.Body:
|
||||||
|
stationPrefab = _stationSettings.BodyStationPrefab;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Debug.LogError("Invalid station type");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var station = UnityEngine.Object.Instantiate(stationPrefab);
|
||||||
|
station.transform.position = pos.ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center);
|
||||||
|
Stations.Add(station);
|
||||||
|
IInteractable interactable = station.GetComponent<IInteractable>();
|
||||||
|
interactable.Location = pos;
|
||||||
|
interactable.InteractionRange = _range;
|
||||||
|
/*Stations = new List<GameObject>();
|
||||||
|
foreach (var task in _gameClient.MyTasks)
|
||||||
|
{
|
||||||
|
System.Random rnd = new System.Random();
|
||||||
|
int index = rnd.Next(0, _availableTasks.Count);
|
||||||
|
var station = UnityEngine.Object.Instantiate(_stationPrefab);
|
||||||
|
ITask TaskSettings = station.GetComponent<ITask>();
|
||||||
|
TaskSettings.TaskID = task.TaskId;
|
||||||
|
TaskSettings.TaskLocation = task.Location;
|
||||||
|
station.transform.position = TaskSettings.TaskLocation.ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center);
|
||||||
|
station.SetActive(false);
|
||||||
|
|
||||||
|
Stations.Add(station);
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
private void CreateStation(Position pos, StationType type, GameTask taskInfo)
|
||||||
|
{
|
||||||
|
GameObject stationPrefab = _stationSettings.TaskStationPrefab;
|
||||||
|
var station = UnityEngine.Object.Instantiate(stationPrefab);
|
||||||
|
station.transform.position = pos.ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center);
|
||||||
|
Stations.Add(station);
|
||||||
|
TaskStation interactable = station.GetComponent<TaskStation>();
|
||||||
|
interactable.Location = pos;
|
||||||
|
interactable.InteractionRange = _range;
|
||||||
|
interactable.TaskID = taskInfo.TaskId;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckForPlayers()
|
||||||
|
{
|
||||||
|
foreach (var player in _gameClient.PlayerPositions.Where(p => p.Value.State == PlayerState.Alive))
|
||||||
|
{
|
||||||
|
if (CheckSightLine(player.Value.Position.ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center)))
|
||||||
|
{
|
||||||
|
Debug.Log($"Player {player.Key} is visible");
|
||||||
|
//TODO: Render player on map
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Log($"Player {player.Key} is not visible");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/GameManager/GameManager_Game.cs.meta
Normal file
2
Assets/GameManager/GameManager_Game.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aba57c59fb2a19141a4868fa6a5c924c
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using GeoSus.Client;
|
using GeoSus.Client;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
@@ -16,292 +16,6 @@ namespace Subsystems
|
|||||||
Running,
|
Running,
|
||||||
Failed
|
Failed
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Position source backend. Selectable at runtime via the GPS overlay
|
|
||||||
/// "Source" button so the user can recover when one path misbehaves on
|
|
||||||
/// their phone:
|
|
||||||
/// Auto - JNI: subscribe to gps + network, pick most recent fix.
|
|
||||||
/// GpsOnly - JNI: subscribe to gps only (network's frequent indoor
|
|
||||||
/// fixes don't drown out the slower-but-precise gps fix).
|
|
||||||
/// NetworkOnly - JNI: subscribe to network only (cell tower / WiFi).
|
|
||||||
/// Useful indoors when no satellite lock is possible.
|
|
||||||
/// UnityInput - Unity's Input.location wrapper. Verified to hang on
|
|
||||||
/// Mi 9T / A20e (which is why JNI exists), but works on
|
|
||||||
/// newer Android where the JNI streaming-callbacks path
|
|
||||||
/// silently doesn't fire (MIUI/HyperOS battery saver,
|
|
||||||
/// approximate-vs-precise permission split, minDistance
|
|
||||||
/// gating on stationary phones).
|
|
||||||
/// EditorWasd - WASD-driven simulated position. Available regardless
|
|
||||||
/// of testMode flag so desktop builds and editor sessions
|
|
||||||
/// can navigate the map without real GPS.
|
|
||||||
/// </summary>
|
|
||||||
public enum PositionSource
|
|
||||||
{
|
|
||||||
Auto,
|
|
||||||
GpsOnly,
|
|
||||||
NetworkOnly,
|
|
||||||
UnityInput,
|
|
||||||
EditorWasd,
|
|
||||||
}
|
|
||||||
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
/// <summary>
|
|
||||||
/// Bridges android.location.LocationListener to managed code. The method
|
|
||||||
/// names here must match Java's LocationListener interface exactly so
|
|
||||||
/// AndroidJavaProxy's reflection dispatcher can find them.
|
|
||||||
/// </summary>
|
|
||||||
internal class AndroidLocationProxy : AndroidJavaProxy
|
|
||||||
{
|
|
||||||
public AndroidLocationProvider Owner { get; set; }
|
|
||||||
public AndroidLocationProxy() : base("android.location.LocationListener") { }
|
|
||||||
|
|
||||||
// Called by Android each time a new fix arrives from the registered provider.
|
|
||||||
public void onLocationChanged(AndroidJavaObject location)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (location == null) return;
|
|
||||||
double lat = location.Call<double>("getLatitude");
|
|
||||||
double lon = location.Call<double>("getLongitude");
|
|
||||||
long t = location.Call<long>("getTime");
|
|
||||||
string provider = "";
|
|
||||||
try { provider = location.Call<string>("getProvider"); } catch { }
|
|
||||||
// Streaming callbacks are LIVE (never cached). The cached path
|
|
||||||
// calls UpdateLocation directly with isCached=true.
|
|
||||||
Owner?.UpdateLocation(lat, lon, t, provider, isCached: false);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("[GPS-JNI] onLocationChanged failed: " + ex.Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Required by the LocationListener interface even if we don't use them.
|
|
||||||
// Missing methods cause java.lang.AbstractMethodError at runtime.
|
|
||||||
public void onStatusChanged(string provider, int status, AndroidJavaObject extras) { }
|
|
||||||
public void onProviderEnabled(string provider) { }
|
|
||||||
public void onProviderDisabled(string provider) { }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Direct wrapper around android.location.LocationManager via JNI, used as
|
|
||||||
/// a replacement for Unity's Input.location on Android when the user picks
|
|
||||||
/// Auto/GpsOnly/NetworkOnly. Subscribed providers are configurable so the
|
|
||||||
/// position-source picker can rewire live without restart.
|
|
||||||
/// </summary>
|
|
||||||
internal class AndroidLocationProvider
|
|
||||||
{
|
|
||||||
private AndroidJavaObject _activity;
|
|
||||||
private AndroidJavaObject _locationManager;
|
|
||||||
private AndroidLocationProxy _gpsListener;
|
|
||||||
private AndroidLocationProxy _networkListener;
|
|
||||||
private double _lat, _lon;
|
|
||||||
private long _lastTimeMillis;
|
|
||||||
private long _lastLiveTimeMillis; // Time of most recent NON-cached fix.
|
|
||||||
private bool _hasFix;
|
|
||||||
private bool _hasLiveFix; // True once any streaming callback fired.
|
|
||||||
private string _activeProvider = "";
|
|
||||||
|
|
||||||
// Captured at Initialize() so the diagnostic can report
|
|
||||||
// "GPS provider DISABLED, only network enabled" etc.
|
|
||||||
private bool _gpsProviderEnabled;
|
|
||||||
private bool _networkProviderEnabled;
|
|
||||||
private bool _gpsLastKnownExists;
|
|
||||||
private bool _networkLastKnownExists;
|
|
||||||
private string _enabledProvidersList = "";
|
|
||||||
|
|
||||||
// Subscription scope - set in Initialize, used in Shutdown to know
|
|
||||||
// which listeners we registered.
|
|
||||||
private bool _subscribedGps;
|
|
||||||
private bool _subscribedNetwork;
|
|
||||||
|
|
||||||
public bool HasFix => _hasFix;
|
|
||||||
public bool HasLiveFix => _hasLiveFix;
|
|
||||||
public long LastLiveTimeMillis => _lastLiveTimeMillis;
|
|
||||||
public long LastTimeMillis => _lastTimeMillis;
|
|
||||||
public double Lat => _lat;
|
|
||||||
public double Lon => _lon;
|
|
||||||
public string ActiveProvider => _activeProvider;
|
|
||||||
public bool GpsProviderEnabled => _gpsProviderEnabled;
|
|
||||||
public bool NetworkProviderEnabled => _networkProviderEnabled;
|
|
||||||
public bool GpsLastKnownExists => _gpsLastKnownExists;
|
|
||||||
public bool NetworkLastKnownExists => _networkLastKnownExists;
|
|
||||||
public string EnabledProvidersList => _enabledProvidersList;
|
|
||||||
public bool SubscribedGps => _subscribedGps;
|
|
||||||
public bool SubscribedNetwork => _subscribedNetwork;
|
|
||||||
|
|
||||||
public bool Initialize(out string error, bool useGps, bool useNetwork)
|
|
||||||
{
|
|
||||||
error = "";
|
|
||||||
try
|
|
||||||
{
|
|
||||||
using (var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
|
|
||||||
{
|
|
||||||
_activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
|
|
||||||
}
|
|
||||||
if (_activity == null) { error = "no current activity"; return false; }
|
|
||||||
|
|
||||||
_locationManager = _activity.Call<AndroidJavaObject>("getSystemService", "location");
|
|
||||||
if (_locationManager == null) { error = "getSystemService(\"location\") returned null"; return false; }
|
|
||||||
|
|
||||||
// Capture provider enable state up front so the diagnostic
|
|
||||||
// can distinguish "provider disabled at OS level" from
|
|
||||||
// "provider enabled but produced no fix yet".
|
|
||||||
_gpsProviderEnabled = SafeIsProviderEnabled("gps");
|
|
||||||
_networkProviderEnabled = SafeIsProviderEnabled("network");
|
|
||||||
_enabledProvidersList = SafeGetEnabledProviders();
|
|
||||||
|
|
||||||
Debug.Log($"[GPS-JNI] init useGps={useGps} useNetwork={useNetwork} gps enabled={_gpsProviderEnabled} network enabled={_networkProviderEnabled} all enabled=[{_enabledProvidersList}]");
|
|
||||||
|
|
||||||
// Try cached last-known fixes from the providers we're about
|
|
||||||
// to subscribe to. If the OS already knows where we are
|
|
||||||
// (e.g. from another app that recently used GPS), we get a
|
|
||||||
// fix at zero cost and zero wait time. Tagged isCached so
|
|
||||||
// the diagnostic can mark them and we know we still need
|
|
||||||
// to wait for a streaming callback.
|
|
||||||
if (useNetwork) TryLastKnown("network", out _networkLastKnownExists);
|
|
||||||
if (useGps) TryLastKnown("gps", out _gpsLastKnownExists);
|
|
||||||
|
|
||||||
_subscribedGps = useGps;
|
|
||||||
_subscribedNetwork = useNetwork;
|
|
||||||
|
|
||||||
if (useGps) _gpsListener = new AndroidLocationProxy { Owner = this };
|
|
||||||
if (useNetwork) _networkListener = new AndroidLocationProxy { Owner = this };
|
|
||||||
|
|
||||||
// requestLocationUpdates must be called on a thread with a
|
|
||||||
// Looper. Use the Activity's UI thread, which always has one.
|
|
||||||
// minTime=1000ms, minDistance=0f - we want updates on every
|
|
||||||
// fix the OS produces. Previously this was 1f which gated
|
|
||||||
// out updates from a stationary phone (MIUI/newer Android
|
|
||||||
// are stricter about this and that's the suspected cause of
|
|
||||||
// "via gps (cached)" sticking forever).
|
|
||||||
_activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
|
|
||||||
{
|
|
||||||
if (useGps)
|
|
||||||
{
|
|
||||||
try { _locationManager.Call("requestLocationUpdates", "gps", 1000L, 0f, _gpsListener); }
|
|
||||||
catch (Exception ex) { Debug.LogWarning("[GPS-JNI] gps subscribe failed: " + ex.Message); }
|
|
||||||
}
|
|
||||||
if (useNetwork)
|
|
||||||
{
|
|
||||||
try { _locationManager.Call("requestLocationUpdates", "network", 1000L, 0f, _networkListener); }
|
|
||||||
catch (Exception ex) { Debug.LogWarning("[GPS-JNI] network subscribe failed: " + ex.Message); }
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
error = "JNI init exception: " + ex.Message;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TryLastKnown(string provider, out bool nonNullReturned)
|
|
||||||
{
|
|
||||||
nonNullReturned = false;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var loc = _locationManager.Call<AndroidJavaObject>("getLastKnownLocation", provider);
|
|
||||||
if (loc != null)
|
|
||||||
{
|
|
||||||
nonNullReturned = true;
|
|
||||||
double lat = loc.Call<double>("getLatitude");
|
|
||||||
double lon = loc.Call<double>("getLongitude");
|
|
||||||
long t = loc.Call<long>("getTime");
|
|
||||||
UpdateLocation(lat, lon, t, provider, isCached: true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.LogWarning($"[GPS-JNI] getLastKnownLocation({provider}) failed: " + ex.Message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SafeIsProviderEnabled(string provider)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return _locationManager.Call<bool>("isProviderEnabled", provider);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.LogWarning($"[GPS-JNI] isProviderEnabled({provider}) failed: " + ex.Message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build a comma-separated list of currently-enabled providers via
|
|
||||||
// LocationManager.getProviders(true). We iterate the returned
|
|
||||||
// java.util.List by index because AndroidJavaObject does not
|
|
||||||
// implement IEnumerable.
|
|
||||||
string SafeGetEnabledProviders()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var list = _locationManager.Call<AndroidJavaObject>("getProviders", true);
|
|
||||||
if (list == null) return "";
|
|
||||||
int size = list.Call<int>("size");
|
|
||||||
var parts = new System.Text.StringBuilder();
|
|
||||||
for (int i = 0; i < size; i++)
|
|
||||||
{
|
|
||||||
var name = list.Call<string>("get", i);
|
|
||||||
if (i > 0) parts.Append(",");
|
|
||||||
parts.Append(name);
|
|
||||||
}
|
|
||||||
return parts.ToString();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("[GPS-JNI] getProviders failed: " + ex.Message);
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateLocation(double lat, double lon, long timeMillis, string provider, bool isCached)
|
|
||||||
{
|
|
||||||
// Ignore older fixes if a newer one is already in hand. This lets
|
|
||||||
// both gps + network listeners feed us without ping-ponging
|
|
||||||
// between stale and fresh data.
|
|
||||||
if (timeMillis < _lastTimeMillis) return;
|
|
||||||
_lat = lat;
|
|
||||||
_lon = lon;
|
|
||||||
_lastTimeMillis = timeMillis;
|
|
||||||
// Active-provider name carries cached/live state in the diagnostic
|
|
||||||
// banner so the user can see at a glance whether streaming has
|
|
||||||
// kicked in or we're still on the initial cached snapshot.
|
|
||||||
_activeProvider = (provider ?? "") + (isCached ? " (cached)" : "");
|
|
||||||
_hasFix = true;
|
|
||||||
if (!isCached)
|
|
||||||
{
|
|
||||||
_hasLiveFix = true;
|
|
||||||
_lastLiveTimeMillis = timeMillis;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Shutdown()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (_locationManager != null)
|
|
||||||
{
|
|
||||||
if (_gpsListener != null) _locationManager.Call("removeUpdates", _gpsListener);
|
|
||||||
if (_networkListener != null) _locationManager.Call("removeUpdates", _networkListener);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("[GPS-JNI] Shutdown failed: " + ex.Message);
|
|
||||||
}
|
|
||||||
_gpsListener = null;
|
|
||||||
_networkListener = null;
|
|
||||||
_locationManager = null;
|
|
||||||
_activity = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
public static class PositonExtensions
|
public static class PositonExtensions
|
||||||
{
|
{
|
||||||
public static Position ToLocal(this Position position, Position center)
|
public static Position ToLocal(this Position position, Position center)
|
||||||
@@ -337,283 +51,34 @@ namespace Subsystems
|
|||||||
private GameObject _player;
|
private GameObject _player;
|
||||||
private bool _testMode;
|
private bool _testMode;
|
||||||
|
|
||||||
// PlayerPrefs key for the user's chosen position source. Persists
|
|
||||||
// across app restarts so a user who flipped to UnityInput because
|
|
||||||
// their phone hated the JNI path doesn't have to flip again every
|
|
||||||
// launch.
|
|
||||||
private const string PrefsSourceKey = "PositionSource_v1";
|
|
||||||
private PositionSource _currentSource = PositionSource.Auto;
|
|
||||||
|
|
||||||
// When the multi-client editor test mode picks a non-host bot as
|
|
||||||
// active, we need the host's WASD path to NOT also move. Set true
|
|
||||||
// by GameManager when active slot != 0.
|
|
||||||
public bool SuppressWasd = false;
|
|
||||||
|
|
||||||
private GPSState _GPSState = GPSState.Uninitialized;
|
private GPSState _GPSState = GPSState.Uninitialized;
|
||||||
private float _speed = 0.00001f;
|
private float _speed = 0.00001f;
|
||||||
private Position _mapCenter;
|
private Position _mapCenter;
|
||||||
private CoroutineHost _coroutineHost;
|
private CoroutineHost _coroutineHost = new CoroutineHost();
|
||||||
|
|
||||||
private int _gpsRetryCount = 0;
|
|
||||||
private const int _maxGpsRetries = 5;
|
|
||||||
private float _lastPositionSendTime;
|
|
||||||
private const float _positionKeepAliveSeconds = 1.0f;
|
|
||||||
|
|
||||||
// Diagnostic state. We capture *why* GPS init failed so the UI can
|
|
||||||
// surface it to the user without requiring logcat. Older Android
|
|
||||||
// phones (Mi 9T, A20e) hit silent failure modes that are impossible
|
|
||||||
// to distinguish from "still warming up" without this.
|
|
||||||
private string _lastGpsError = "";
|
|
||||||
private float _gpsInitStartTime = -1f;
|
|
||||||
// Bump from the original 20s. Cold-start GPS on older Android can
|
|
||||||
// easily exceed 20s indoors or under cloud cover - by the time the
|
|
||||||
// user notices nothing is happening, we've already given up.
|
|
||||||
private const int _gpsInitTimeoutSeconds = 60;
|
|
||||||
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
// JNI-backed location provider, used for Auto/GpsOnly/NetworkOnly.
|
|
||||||
// UnityInput uses Input.location instead and leaves this null.
|
|
||||||
private AndroidLocationProvider _androidProvider;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>Last known GPS position (for CreateLobby centre point)</summary>
|
|
||||||
public Position? LastKnownPosition => _currentPosition.Lat != 0 || _currentPosition.Lon != 0 ? _currentPosition : (Position?)null;
|
|
||||||
|
|
||||||
/// <summary>Current GPS state machine value (debug/diagnostic).</summary>
|
|
||||||
public string GpsStateName => _GPSState.ToString();
|
|
||||||
|
|
||||||
/// <summary>Last GPS error reason captured during init (empty if none).</summary>
|
|
||||||
public string LastGpsError => _lastGpsError ?? "";
|
|
||||||
|
|
||||||
/// <summary>Retry count out of max (debug/diagnostic).</summary>
|
|
||||||
public string GpsRetryProgress => $"{_gpsRetryCount}/{_maxGpsRetries}";
|
|
||||||
|
|
||||||
/// <summary>Currently selected position source (for UI cycle button).</summary>
|
|
||||||
public PositionSource CurrentSource => _currentSource;
|
|
||||||
|
|
||||||
/// <summary>Display name for the current source (for UI label).</summary>
|
|
||||||
public string CurrentSourceName
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
switch (_currentSource)
|
|
||||||
{
|
|
||||||
case PositionSource.Auto: return "Auto (GPS+Net)";
|
|
||||||
case PositionSource.GpsOnly: return "GPS only";
|
|
||||||
case PositionSource.NetworkOnly: return "Network only";
|
|
||||||
case PositionSource.UnityInput: return "Unity Input";
|
|
||||||
case PositionSource.EditorWasd: return "WASD";
|
|
||||||
default: return _currentSource.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Human-readable one-line GPS status for on-screen overlay. Designed
|
|
||||||
/// to be visible without ADB so users can self-diagnose permission
|
|
||||||
/// vs. timeout vs. device-disabled vs. running-but-no-fix-yet.
|
|
||||||
/// </summary>
|
|
||||||
public string GpsDiagnostic
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (_currentSource == PositionSource.EditorWasd)
|
|
||||||
{
|
|
||||||
if (_currentPosition.Lat == 0 && _currentPosition.Lon == 0)
|
|
||||||
return "WASD: waiting for map center";
|
|
||||||
return $"WASD lat={_currentPosition.Lat:F5} lon={_currentPosition.Lon:F5}";
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (_GPSState)
|
|
||||||
{
|
|
||||||
case GPSState.Uninitialized:
|
|
||||||
return "Uninitialized (will start on first lobby action)";
|
|
||||||
case GPSState.Initializing:
|
|
||||||
{
|
|
||||||
float elapsed = _gpsInitStartTime >= 0 ? Time.time - _gpsInitStartTime : 0;
|
|
||||||
string providers = "";
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
if (_androidProvider != null && !string.IsNullOrEmpty(_androidProvider.EnabledProvidersList))
|
|
||||||
providers = $" providers=[{_androidProvider.EnabledProvidersList}]";
|
|
||||||
#endif
|
|
||||||
return $"Initializing ({elapsed:F1}s / max {_gpsInitTimeoutSeconds}s){providers}";
|
|
||||||
}
|
|
||||||
case GPSState.Running:
|
|
||||||
{
|
|
||||||
string suffix = "";
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
if (_androidProvider != null)
|
|
||||||
{
|
|
||||||
string p = _androidProvider.ActiveProvider;
|
|
||||||
if (!string.IsNullOrEmpty(p)) suffix = " via " + p;
|
|
||||||
// Show how stale the most recent fix is (ms-level
|
|
||||||
// resolution) so "stuck on cached" is obvious at
|
|
||||||
// a glance: "via gps (cached) [no live, 47s old]".
|
|
||||||
if (!_androidProvider.HasLiveFix)
|
|
||||||
{
|
|
||||||
long now = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
|
||||||
long ageMs = now - _androidProvider.LastTimeMillis;
|
|
||||||
if (_androidProvider.LastTimeMillis > 0 && ageMs > 0)
|
|
||||||
suffix += $" [no live, {ageMs / 1000}s old]";
|
|
||||||
else
|
|
||||||
suffix += " [no live]";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
long now = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
|
||||||
long ageMs = now - _androidProvider.LastLiveTimeMillis;
|
|
||||||
if (ageMs > 5000) suffix += $" [live {ageMs / 1000}s old]";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (_currentPosition.Lat == 0 && _currentPosition.Lon == 0)
|
|
||||||
return "Running but no fix yet (waiting for satellites)" + suffix;
|
|
||||||
return $"Running lat={_currentPosition.Lat:F5} lon={_currentPosition.Lon:F5}" + suffix;
|
|
||||||
}
|
|
||||||
case GPSState.Failed:
|
|
||||||
return $"Failed: {(_lastGpsError ?? "unknown")} (retries {GpsRetryProgress})";
|
|
||||||
default:
|
|
||||||
return "?";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public GameManager_Input(GameClient gameClient, GameObject player, bool testMode)
|
public GameManager_Input(GameClient gameClient, GameObject player, bool testMode)
|
||||||
{
|
{
|
||||||
_gameClient = gameClient;
|
_gameClient = gameClient;
|
||||||
_player = player;
|
_player = player;
|
||||||
_testMode = testMode;
|
_testMode = testMode;
|
||||||
// CoroutineHost needs a MonoBehaviour on a real GameObject
|
|
||||||
var hostGO = new UnityEngine.GameObject("_CoroutineHost");
|
|
||||||
UnityEngine.Object.DontDestroyOnLoad(hostGO);
|
|
||||||
_coroutineHost = hostGO.AddComponent<CoroutineHost>();
|
|
||||||
|
|
||||||
// Restore the user's last picked source. Default depends on
|
|
||||||
// platform: editor defaults to EditorWasd (no GPS hardware in
|
|
||||||
// editor anyway); device defaults to Auto.
|
|
||||||
string saved = PlayerPrefs.GetString(PrefsSourceKey, "");
|
|
||||||
if (!string.IsNullOrEmpty(saved) && Enum.TryParse(saved, out PositionSource parsed))
|
|
||||||
{
|
|
||||||
_currentSource = parsed;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
_currentSource = PositionSource.EditorWasd;
|
|
||||||
#else
|
|
||||||
_currentSource = PositionSource.Auto;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// Legacy testMode flag forces EditorWasd. New code paths should
|
|
||||||
// use SwitchPositionSource(EditorWasd) instead, but we keep the
|
|
||||||
// old behavior for backward compatibility with the inspector flag.
|
|
||||||
if (_testMode) _currentSource = PositionSource.EditorWasd;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Called from OnSceneLoaded when Client.unity loads so the
|
|
||||||
/// Player capsule (which lives in Client.unity) can be wired at runtime.</summary>
|
|
||||||
public void SetPlayerObject(GameObject player) { _player = player; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Switch the active position source backend live. Tears down the
|
|
||||||
/// current backend's listeners (JNI proxies, Input.location), resets
|
|
||||||
/// the state machine, and kicks off init for the new source. Persists
|
|
||||||
/// the choice to PlayerPrefs.
|
|
||||||
/// </summary>
|
|
||||||
public void SwitchPositionSource(PositionSource newSource)
|
|
||||||
{
|
|
||||||
if (_currentSource == newSource) return;
|
|
||||||
Debug.Log($"[GPS] SwitchPositionSource {_currentSource} -> {newSource}");
|
|
||||||
|
|
||||||
// Tear down whatever's running.
|
|
||||||
ShutdownCurrentBackend();
|
|
||||||
|
|
||||||
_currentSource = newSource;
|
|
||||||
PlayerPrefs.SetString(PrefsSourceKey, newSource.ToString());
|
|
||||||
PlayerPrefs.Save();
|
|
||||||
|
|
||||||
_GPSState = GPSState.Uninitialized;
|
|
||||||
_gpsRetryCount = 0;
|
|
||||||
_lastGpsError = "";
|
|
||||||
_gpsInitStartTime = -1f;
|
|
||||||
// Don't clear _currentPosition - the user has presumably been
|
|
||||||
// playing somewhere. Map markers/avatar position can stay until
|
|
||||||
// the next fix arrives from the new source.
|
|
||||||
|
|
||||||
EnsureGPSStarted();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>Cycle through the available sources for tap-to-cycle UI.</summary>
|
|
||||||
public void CycleNextPositionSource()
|
|
||||||
{
|
|
||||||
var values = (PositionSource[])Enum.GetValues(typeof(PositionSource));
|
|
||||||
int idx = Array.IndexOf(values, _currentSource);
|
|
||||||
var next = values[(idx + 1) % values.Length];
|
|
||||||
SwitchPositionSource(next);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ShutdownCurrentBackend()
|
|
||||||
{
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
if (_androidProvider != null)
|
|
||||||
{
|
|
||||||
_androidProvider.Shutdown();
|
|
||||||
_androidProvider = null;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
// Stop Unity Input.location too, in case it was running.
|
|
||||||
try { Input.location.Stop(); } catch { }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Kick off GPS initialization if it hasn't started yet. Safe to call
|
|
||||||
/// repeatedly. Hosts must call this from the lobby setup screen so
|
|
||||||
/// that by the time they click "Create Lobby" we have a real GPS
|
|
||||||
/// fix to use as the play-area center, instead of falling back to
|
|
||||||
/// the hardcoded coordinates.
|
|
||||||
/// </summary>
|
|
||||||
public void EnsureGPSStarted()
|
|
||||||
{
|
|
||||||
if (_currentSource == PositionSource.EditorWasd) return;
|
|
||||||
if (_coroutineHost == null) return;
|
|
||||||
// Allow tapping "Create Lobby" again (or any caller of this
|
|
||||||
// method) to retry from Failed up to _maxGpsRetries times.
|
|
||||||
if (_GPSState == GPSState.Uninitialized)
|
|
||||||
{
|
|
||||||
_coroutineHost.StartCoroutine(InitiallizeGPS());
|
|
||||||
}
|
|
||||||
else if (_GPSState == GPSState.Failed && _gpsRetryCount < _maxGpsRetries)
|
|
||||||
{
|
|
||||||
_gpsRetryCount++;
|
|
||||||
_coroutineHost.StartCoroutine(InitiallizeGPS());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public void positionCheck()
|
public void positionCheck()
|
||||||
{
|
{
|
||||||
var state = _gameClient?.CurrentLobbyState;
|
|
||||||
if (state == null || state.Phase != GamePhase.Playing)
|
|
||||||
return;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (_currentSource == PositionSource.EditorWasd)
|
if (_gameClient.CurrentLobbyState.Phase == GamePhase.Playing)
|
||||||
{
|
{
|
||||||
if (_currentPosition == new Position(0, 0))
|
if (_testMode)
|
||||||
{
|
{
|
||||||
if (state.MapData == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
|
if (_currentPosition == null || _currentPosition == new Position(0, 0))
|
||||||
|
{
|
||||||
//Init blok
|
//Init blok
|
||||||
_currentPosition = state.MapData.Center;
|
_currentPosition = _gameClient.CurrentLobbyState.MapData.Center;
|
||||||
_mapCenter = state.MapData.Center;
|
_mapCenter = _gameClient.CurrentLobbyState.MapData.Center;
|
||||||
_lastSentPosition = _currentPosition;
|
_lastSentPosition = _currentPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SuppressWasd)
|
|
||||||
TestPlayerPosition();
|
TestPlayerPosition();
|
||||||
else
|
|
||||||
TrySendCurrentPosition(); // keep-alive only
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -628,84 +93,54 @@ namespace Subsystems
|
|||||||
}
|
}
|
||||||
else if (_GPSState == GPSState.Running)
|
else if (_GPSState == GPSState.Running)
|
||||||
{
|
{
|
||||||
EnsureMapCenter();
|
try
|
||||||
TrySendCurrentPosition();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
Debug.Log("GPS failed, trying again...");
|
if (_currentPosition != _lastSentPosition)
|
||||||
if (_gpsRetryCount < _maxGpsRetries)
|
|
||||||
{
|
{
|
||||||
_gpsRetryCount++;
|
_gameClient.UpdatePosition(_currentPosition);
|
||||||
_GPSState = GPSState.Uninitialized;
|
_lastSentPosition = _currentPosition;
|
||||||
}
|
_player.transform.position = _currentPosition.ToLocalVector3(_mapCenter);
|
||||||
else
|
_player.transform.rotation = Quaternion.Euler(0, (float)CalculateHeading(_lastSentPosition.ToLocalVector3(_mapCenter), _currentPosition.ToLocalVector3(_mapCenter)), 0);
|
||||||
{
|
|
||||||
Debug.LogWarning("GPS unavailable after max retries. Using last known position.");
|
|
||||||
// Keep _GPSState = Failed so we stop retrying
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.LogWarning($"[Input] positionCheck failed: {ex.Message}");
|
Debug.Log(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
private void EnsureMapCenter()
|
|
||||||
{
|
{
|
||||||
if (_mapCenter.Lat != 0 || _mapCenter.Lon != 0)
|
Debug.Log("GPS failed, trying again...");
|
||||||
return;
|
_GPSState = GPSState.Uninitialized;
|
||||||
|
|
||||||
var md = _gameClient?.CurrentLobbyState?.MapData;
|
|
||||||
if (md != null)
|
|
||||||
_mapCenter = md.Center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TrySendCurrentPosition()
|
|
||||||
{
|
|
||||||
bool moved = _currentPosition != _lastSentPosition;
|
|
||||||
bool keepAliveDue = (Time.time - _lastPositionSendTime) >= _positionKeepAliveSeconds;
|
|
||||||
if (!moved && !keepAliveDue)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var previous = _lastSentPosition;
|
|
||||||
_gameClient.UpdatePosition(_currentPosition);
|
|
||||||
_lastSentPosition = _currentPosition;
|
|
||||||
_lastPositionSendTime = Time.time;
|
|
||||||
|
|
||||||
if (_player == null || (_mapCenter.Lat == 0 && _mapCenter.Lon == 0))
|
|
||||||
return;
|
|
||||||
|
|
||||||
var localCurrent = _currentPosition.ToLocalVector3(_mapCenter);
|
|
||||||
_player.transform.position = localCurrent;
|
|
||||||
|
|
||||||
if (previous.Lat == 0 && previous.Lon == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var heading = CalculateHeading(previous.ToLocalVector3(_mapCenter), localCurrent);
|
|
||||||
if (heading.HasValue)
|
|
||||||
_player.transform.rotation = Quaternion.Euler(0, (float)heading.Value, 0);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (NullReferenceException ex) { Debug.Log(ex); }
|
||||||
|
}
|
||||||
private void TestPlayerPosition()
|
private void TestPlayerPosition()
|
||||||
{
|
{
|
||||||
double x = Input.GetAxis("Horizontal");
|
double x = Input.GetAxis("Horizontal");
|
||||||
double y = Input.GetAxis("Vertical");
|
double y = Input.GetAxis("Vertical");
|
||||||
|
Debug.Log($"Input: {x}, {y}");
|
||||||
_currentPosition = new Position( _lastSentPosition.Lat + y * _speed, _lastSentPosition.Lon + x * _speed);
|
_currentPosition = new Position( _lastSentPosition.Lat + y * _speed, _lastSentPosition.Lon + x * _speed);
|
||||||
|
Debug.Log($"Current Position: {_currentPosition.Lat}, {_currentPosition.Lon}");
|
||||||
var localCurrent = _currentPosition.ToLocalVector3(_mapCenter);
|
var localCurrent = _currentPosition.ToLocalVector3(_mapCenter);
|
||||||
|
Debug.Log($"Local Current Position: {localCurrent}");
|
||||||
var heading = CalculateHeading(_lastSentPosition.ToLocalVector3(_mapCenter), localCurrent);
|
var heading = CalculateHeading(_lastSentPosition.ToLocalVector3(_mapCenter), localCurrent);
|
||||||
if (heading != null)
|
if (heading != null)
|
||||||
{
|
{
|
||||||
if (_player != null)
|
Debug.Log($"Heading: {heading}");
|
||||||
_player.transform.rotation = Quaternion.Euler(0, (float)heading, 0);
|
_player.transform.rotation = Quaternion.Euler(0, (float)heading, 0);
|
||||||
}
|
}
|
||||||
if (_player != null)
|
|
||||||
_player.transform.position = localCurrent;
|
_player.transform.position = localCurrent;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TrySendCurrentPosition();
|
if (_currentPosition != _lastSentPosition)
|
||||||
|
{
|
||||||
|
_gameClient.UpdatePosition(_currentPosition);
|
||||||
|
_lastSentPosition = _currentPosition;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@@ -715,212 +150,105 @@ namespace Subsystems
|
|||||||
}
|
}
|
||||||
private double? CalculateHeading(Vector3 first, Vector3 second)
|
private double? CalculateHeading(Vector3 first, Vector3 second)
|
||||||
{
|
{
|
||||||
if ((first - second).magnitude < 0.0001f) return null;
|
double? heading = null;
|
||||||
float dx = second.x - first.x;
|
if ((first - second).magnitude == 0)
|
||||||
float dz = second.z - first.z;
|
{
|
||||||
float heading = Mathf.Atan2(dx, dz) * Mathf.Rad2Deg;
|
return null;
|
||||||
if (heading < 0) heading += 360f;
|
}
|
||||||
|
else if (first.x == second.x && first.z < second.z)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else if (first.x == second.x && first.z > second.z)
|
||||||
|
{
|
||||||
|
return 180;
|
||||||
|
}
|
||||||
|
else if (first.x > second.x && first.z == second.z)
|
||||||
|
{
|
||||||
|
return 270;
|
||||||
|
}
|
||||||
|
else if (first.x < second.x && first.z == second.z)
|
||||||
|
{
|
||||||
|
return 90;
|
||||||
|
}
|
||||||
|
else if (first.x < second.x && first.z < second.z)
|
||||||
|
{
|
||||||
|
heading = Math.Asin((second.z - first.z) / first.DistanceTo(second));
|
||||||
|
return (heading * 180) / Math.PI;
|
||||||
|
}
|
||||||
|
else if (first.x < second.x && first.z > second.z)
|
||||||
|
{
|
||||||
|
heading = Math.Asin((second.z - first.z) / first.DistanceTo(second));
|
||||||
|
return (heading * 180) / Math.PI + 180;
|
||||||
|
}
|
||||||
|
else if (first.x > second.x && first.z < second.z)
|
||||||
|
{
|
||||||
|
heading = Math.Asin((second.z - first.z) / first.DistanceTo(second));
|
||||||
|
return (heading * 180) / Math.PI - 90;
|
||||||
|
}
|
||||||
|
else if (first.x > second.x && first.z > second.z)
|
||||||
|
{
|
||||||
|
heading = Math.Asin((second.z - first.z) / first.DistanceTo(second));
|
||||||
|
return (heading * 180) / Math.PI - 90;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return heading;
|
return heading;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
IEnumerator InitiallizeGPS()
|
IEnumerator InitiallizeGPS()
|
||||||
{
|
{
|
||||||
_GPSState = GPSState.Initializing;
|
_GPSState = GPSState.Initializing;
|
||||||
_gpsInitStartTime = Time.time;
|
|
||||||
_lastGpsError = "";
|
|
||||||
|
|
||||||
#if UNITY_ANDROID
|
|
||||||
// Request fine location permission if not already granted.
|
|
||||||
// On Android 12+ a "precise" toggle exists separately from coarse,
|
|
||||||
// but Unity's FineLocation request covers both for our purposes.
|
|
||||||
if (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(UnityEngine.Android.Permission.FineLocation))
|
|
||||||
{
|
|
||||||
UnityEngine.Android.Permission.RequestUserPermission(UnityEngine.Android.Permission.FineLocation);
|
|
||||||
// Wait up to 10 seconds for user to respond to the permission dialog
|
|
||||||
float waited = 0f;
|
|
||||||
while (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(UnityEngine.Android.Permission.FineLocation) && waited < 10f)
|
|
||||||
{
|
|
||||||
yield return new WaitForSeconds(0.5f);
|
|
||||||
waited += 0.5f;
|
|
||||||
}
|
|
||||||
if (!UnityEngine.Android.Permission.HasUserAuthorizedPermission(UnityEngine.Android.Permission.FineLocation))
|
|
||||||
{
|
|
||||||
_lastGpsError = "Permission denied (fine location)";
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
// Choose subscription scope based on selected source. UnityInput
|
|
||||||
// skips JNI entirely and falls through to the Input.location path
|
|
||||||
// below (the same path iOS / editor use).
|
|
||||||
if (_currentSource == PositionSource.Auto ||
|
|
||||||
_currentSource == PositionSource.GpsOnly ||
|
|
||||||
_currentSource == PositionSource.NetworkOnly)
|
|
||||||
{
|
|
||||||
bool useGps = (_currentSource != PositionSource.NetworkOnly);
|
|
||||||
bool useNetwork = (_currentSource != PositionSource.GpsOnly);
|
|
||||||
|
|
||||||
if (_androidProvider != null)
|
|
||||||
{
|
|
||||||
_androidProvider.Shutdown();
|
|
||||||
_androidProvider = null;
|
|
||||||
}
|
|
||||||
_androidProvider = new AndroidLocationProvider();
|
|
||||||
if (!_androidProvider.Initialize(out var initError, useGps, useNetwork))
|
|
||||||
{
|
|
||||||
_lastGpsError = "Native LocationManager failed: " + initError;
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_androidProvider = null;
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fast-fail if neither subscribed provider is enabled at OS
|
|
||||||
// level. Waiting 60s for fixes from disabled providers is
|
|
||||||
// pointless - tell the user immediately what's wrong.
|
|
||||||
bool anyUsableEnabled =
|
|
||||||
(useGps && _androidProvider.GpsProviderEnabled) ||
|
|
||||||
(useNetwork && _androidProvider.NetworkProviderEnabled);
|
|
||||||
if (!anyUsableEnabled)
|
|
||||||
{
|
|
||||||
string which = useGps && useNetwork ? "gps + network"
|
|
||||||
: useGps ? "gps"
|
|
||||||
: "network";
|
|
||||||
_lastGpsError = $"{which} provider DISABLED at OS level. Open Settings > Location and switch it ON. Or tap [Source] to try a different backend.";
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_androidProvider.Shutdown();
|
|
||||||
_androidProvider = null;
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for the first fix (cached or live).
|
|
||||||
int maxWaitJni = _gpsInitTimeoutSeconds;
|
|
||||||
while (!_androidProvider.HasFix && maxWaitJni > 0)
|
|
||||||
{
|
|
||||||
yield return new WaitForSeconds(1);
|
|
||||||
maxWaitJni--;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!_androidProvider.HasFix)
|
|
||||||
{
|
|
||||||
string enabled = _androidProvider.EnabledProvidersList ?? "";
|
|
||||||
string gpsState = _androidProvider.GpsProviderEnabled ? "ON" : "OFF";
|
|
||||||
string netState = _androidProvider.NetworkProviderEnabled ? "ON" : "OFF";
|
|
||||||
string lastKnown = $"lastKnown[gps={(_androidProvider.GpsLastKnownExists ? "yes" : "no")}, net={(_androidProvider.NetworkLastKnownExists ? "yes" : "no")}]";
|
|
||||||
|
|
||||||
_lastGpsError = $"Timeout {_gpsInitTimeoutSeconds}s on {_currentSource}. enabled=[{enabled}] gps={gpsState} net={netState} {lastKnown}. Try [Source] cycle to switch backends.";
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_androidProvider.Shutdown();
|
|
||||||
_androidProvider = null;
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_currentPosition = new Position(_androidProvider.Lat, _androidProvider.Lon);
|
|
||||||
_GPSState = GPSState.Running;
|
|
||||||
_gpsRetryCount = 0;
|
|
||||||
_coroutineHost.StartCoroutine(AndroidGPSService());
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// _currentSource == UnityInput on Android: fall through to the
|
|
||||||
// Input.location path below. This is the recovery path for
|
|
||||||
// newer Android phones where JNI's streaming-callbacks don't
|
|
||||||
// fire (MIUI/HyperOS background restrictions, approximate-vs-
|
|
||||||
// precise permission, minDistance gating on stationary phones).
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// iOS / editor / non-Android / Android-with-UnityInput-source:
|
|
||||||
// use Unity's Input.location.
|
|
||||||
if (!Input.location.isEnabledByUser)
|
if (!Input.location.isEnabledByUser)
|
||||||
{
|
{
|
||||||
_lastGpsError = "Location services not enabled by user";
|
Debug.LogError("Location not enabled on device or app does not have permission to access location");
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
}
|
||||||
|
// Starts the location service.
|
||||||
|
|
||||||
float desiredAccuracyInMeters = 5f;
|
float desiredAccuracyInMeters = 10f;
|
||||||
float updateDistanceInMeters = 1f;
|
float updateDistanceInMeters = 10f;
|
||||||
|
|
||||||
Input.location.Start(desiredAccuracyInMeters, updateDistanceInMeters);
|
Input.location.Start(desiredAccuracyInMeters, updateDistanceInMeters);
|
||||||
|
|
||||||
int maxWait = _gpsInitTimeoutSeconds;
|
// Waits until the location service initializes
|
||||||
|
int maxWait = 20;
|
||||||
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0)
|
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0)
|
||||||
{
|
{
|
||||||
yield return new WaitForSeconds(1);
|
yield return new WaitForSeconds(1);
|
||||||
maxWait--;
|
maxWait--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If the service didn't initialize in 20 seconds this cancels location service use.
|
||||||
if (maxWait < 1)
|
if (maxWait < 1)
|
||||||
{
|
{
|
||||||
_lastGpsError = $"Timed out after {_gpsInitTimeoutSeconds}s waiting for first fix (try moving outdoors, or tap [Source] to try a different backend)";
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_GPSState = GPSState.Failed;
|
_GPSState = GPSState.Failed;
|
||||||
|
Debug.LogError("Timed out");
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Input.location.status == LocationServiceStatus.Failed)
|
|
||||||
{
|
|
||||||
_lastGpsError = "Unity Input.location reported Failed status";
|
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_GPSState = GPSState.Running;
|
_GPSState = GPSState.Running;
|
||||||
_gpsRetryCount = 0;
|
yield return _coroutineHost.StartCoroutine(GPSService());
|
||||||
_coroutineHost.StartCoroutine(GPSService());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_ANDROID && !UNITY_EDITOR
|
|
||||||
/// <summary>
|
|
||||||
/// Mirrors the JNI provider's most recent fix into _currentPosition
|
|
||||||
/// every 0.5s so the rest of the game (which polls _currentPosition
|
|
||||||
/// indirectly via LastKnownPosition / TrySendCurrentPosition) keeps
|
|
||||||
/// working unchanged. Replaces GPSService on Android.
|
|
||||||
/// </summary>
|
|
||||||
IEnumerator AndroidGPSService()
|
|
||||||
{
|
|
||||||
while (_GPSState == GPSState.Running && _androidProvider != null)
|
|
||||||
{
|
|
||||||
if (_androidProvider.HasFix)
|
|
||||||
{
|
|
||||||
_currentPosition = new Position(_androidProvider.Lat, _androidProvider.Lon);
|
|
||||||
}
|
|
||||||
yield return new WaitForSeconds(0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Loop ended (state != Running or provider disposed). Clean up
|
|
||||||
// listeners so we don't leak across retries.
|
|
||||||
if (_androidProvider != null)
|
|
||||||
{
|
|
||||||
_androidProvider.Shutdown();
|
|
||||||
_androidProvider = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
IEnumerator GPSService()
|
IEnumerator GPSService()
|
||||||
{
|
{
|
||||||
while (_GPSState == GPSState.Running)
|
// Check if the user has location service enabled.
|
||||||
{
|
|
||||||
|
|
||||||
|
// If the connection failed this cancels location service use.
|
||||||
if (Input.location.status == LocationServiceStatus.Failed)
|
if (Input.location.status == LocationServiceStatus.Failed)
|
||||||
{
|
{
|
||||||
_lastGpsError = "Location service died after init (provider stopped)";
|
Debug.LogError("Unable to determine device location");
|
||||||
Debug.LogError("[GPS] " + _lastGpsError);
|
|
||||||
_GPSState = GPSState.Failed;
|
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// If the connection succeeded, this retrieves the device's current location and displays it in the Console window.
|
||||||
|
_currentPosition = new Position(Input.location.lastData.latitude, Input.location.lastData.longitude);
|
||||||
|
Debug.Log("Location: " + Input.location.lastData.latitude + " " + Input.location.lastData.longitude + " " + Input.location.lastData.altitude + " " + Input.location.lastData.horizontalAccuracy + " " + Input.location.lastData.timestamp);
|
||||||
|
yield return new WaitForSeconds(5f);
|
||||||
|
}
|
||||||
|
|
||||||
// Keep current GPS position fresh; sending is throttled in positionCheck().
|
// Stops the location service if there is no need to query location updates continuously.
|
||||||
var data = Input.location.lastData;
|
yield return _coroutineHost.StartCoroutine(GPSService());
|
||||||
_currentPosition = new Position(data.latitude, data.longitude);
|
|
||||||
yield return new WaitForSeconds(0.5f);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,8 +3,9 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using TMPro;
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Localization.Pseudo;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
|
||||||
@@ -12,8 +13,8 @@ namespace Subsystems{
|
|||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class BuildingSettings
|
public class BuildingSettings
|
||||||
{
|
{
|
||||||
public Material ResidentialBuildingsMat;
|
public Material ResidentalBuildingsMat;
|
||||||
public float ResidentialBuildingHeight;
|
public float ResidentalBuildingHeight;
|
||||||
public Material CommercialBuildingsMat;
|
public Material CommercialBuildingsMat;
|
||||||
public float CommercialBuildingHeight;
|
public float CommercialBuildingHeight;
|
||||||
public Material IndustrialBuildingsMat;
|
public Material IndustrialBuildingsMat;
|
||||||
@@ -65,43 +66,6 @@ namespace Subsystems{
|
|||||||
private PathwaySettings _pathwaySettings;
|
private PathwaySettings _pathwaySettings;
|
||||||
private AreaSettings _areaSettings;
|
private AreaSettings _areaSettings;
|
||||||
private const float _metersPerUnit = 1f;
|
private const float _metersPerUnit = 1f;
|
||||||
|
|
||||||
// ── Layer Y separation (single source of truth for vertical stacking) ───
|
|
||||||
// Areas at the bottom, paths above areas, buildings extruded upward from
|
|
||||||
// their own base, POIs floating well above everything else. Z-fighting
|
|
||||||
// happens when adjacent geometry shares a Y; these constants keep each
|
|
||||||
// logical layer at a distinct elevation.
|
|
||||||
private const float kAreaBaseY = 0.10f;
|
|
||||||
private const float kPathY = 0.30f;
|
|
||||||
private const float kBuildingBaseY = 0.50f;
|
|
||||||
private const float kPoiY = 2.00f;
|
|
||||||
|
|
||||||
// Render-queue forcing was tried in P3 to disambiguate same-Y geometry
|
|
||||||
// but turned out to be the cause of the "blank map in mobile game view,
|
|
||||||
// fine in scene view" regression: forcing transparent-class shaders
|
|
||||||
// (default queue 3000+) into the Geometry range (2000-2150) breaks
|
|
||||||
// their depth-write/blend assumptions on mobile shader paths. The
|
|
||||||
// editor's scene view masks it because it uses different render paths
|
|
||||||
// and post-process is off there. Queue forcing removed in P8;
|
|
||||||
// disambiguation is now via Y-layering + per-area Y-stagger alone,
|
|
||||||
// which the depth buffer resolves correctly even on weak mobile GPUs.
|
|
||||||
|
|
||||||
// ── Marker sizing (top-down camera, units = meters) ─────────────────
|
|
||||||
// The camera's orthographic size pushes "1 meter" to a small fraction
|
|
||||||
// of the screen. Markers need to be visibly larger than buildings'
|
|
||||||
// footprints for instant recognition.
|
|
||||||
private const float kMarkerHeight = 8f; // pillar height
|
|
||||||
private const float kMarkerRadius = 3f; // pillar radius (cylinder X/Z)
|
|
||||||
private const float kMarkerY = 4f; // base Y so pillar centers ~mid-height
|
|
||||||
private const float kLabelY = 9f; // text label sits above pillar top
|
|
||||||
private const float kLabelFontSize = 14f; // 3D text size in world units
|
|
||||||
|
|
||||||
// Runtime marker collections
|
|
||||||
private Dictionary<string, GameObject> _taskMarkers = new Dictionary<string, GameObject>();
|
|
||||||
private Dictionary<string, GameObject> _bodyMarkers = new Dictionary<string, GameObject>();
|
|
||||||
private Dictionary<string, GameObject> _playerAvatars = new Dictionary<string, GameObject>();
|
|
||||||
private List<GameObject> _sabotageMarkers = new List<GameObject>();
|
|
||||||
|
|
||||||
public GameManager_Map(GameClient gameClient, GameObject mapCenterPoint, BuildingSettings buildingSettings, PathwaySettings pathwaySettings, AreaSettings areaSettings)
|
public GameManager_Map(GameClient gameClient, GameObject mapCenterPoint, BuildingSettings buildingSettings, PathwaySettings pathwaySettings, AreaSettings areaSettings)
|
||||||
{
|
{
|
||||||
_gameClient = gameClient;
|
_gameClient = gameClient;
|
||||||
@@ -110,25 +74,8 @@ namespace Subsystems{
|
|||||||
_pathwaySettings = pathwaySettings;
|
_pathwaySettings = pathwaySettings;
|
||||||
_areaSettings = areaSettings;
|
_areaSettings = areaSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSceneReady => _mapCenterPoint != null;
|
|
||||||
|
|
||||||
/// <summary>Called from OnSceneLoaded when Client.unity is loaded so the
|
|
||||||
/// MapCenterPoint (which lives in Client.unity) can be wired at runtime.</summary>
|
|
||||||
public void SetMapCenterPoint(GameObject go) { _mapCenterPoint = go; }
|
|
||||||
public void BuildMap()
|
public void BuildMap()
|
||||||
{
|
{
|
||||||
if (_mapCenterPoint == null)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("[Map] BuildMap skipped: MapCenterPoint is not yet bound.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (_gameClient?.CurrentLobbyState?.MapData == null)
|
|
||||||
{
|
|
||||||
Debug.LogWarning("[Map] BuildMap skipped: no MapData in CurrentLobbyState.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearChildren();
|
ClearChildren();
|
||||||
_centerPosition = _gameClient.CurrentLobbyState.MapData.Center;
|
_centerPosition = _gameClient.CurrentLobbyState.MapData.Center;
|
||||||
GameObject buildingsRoot = new GameObject("Buildings");
|
GameObject buildingsRoot = new GameObject("Buildings");
|
||||||
@@ -162,133 +109,7 @@ namespace Subsystems{
|
|||||||
GameObject a = BuildAreaMesh(area);
|
GameObject a = BuildAreaMesh(area);
|
||||||
a.transform.parent = areaRoot.transform;
|
a.transform.parent = areaRoot.transform;
|
||||||
}
|
}
|
||||||
|
//TODO: POIs
|
||||||
GameObject poiRoot = new GameObject("POIs");
|
|
||||||
poiRoot.transform.parent = _mapCenterPoint.transform;
|
|
||||||
int poiCount = 0;
|
|
||||||
foreach (var poi in _gameClient.CurrentLobbyState.MapData.GetPOIs())
|
|
||||||
{
|
|
||||||
GameObject p = BuildPOIMarker(poi);
|
|
||||||
if (p != null) { p.transform.parent = poiRoot.transform; poiCount++; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Diagnostic - if the user reports "map missing in game view" but
|
|
||||||
// the counts here are non-zero, the bug is camera/culling related,
|
|
||||||
// not a build issue.
|
|
||||||
int buildings = _gameClient.CurrentLobbyState.MapData.GetBuildings()?.Count ?? 0;
|
|
||||||
int paths = _gameClient.CurrentLobbyState.MapData.GetPathways()?.Count ?? 0;
|
|
||||||
int areas = _gameClient.CurrentLobbyState.MapData.GetAreas()?.Count ?? 0;
|
|
||||||
Debug.Log($"[Map] BuildMap done: {buildings} buildings, {paths} paths, " +
|
|
||||||
$"{areas} areas, {poiCount} POIs. MapCenterPoint={_mapCenterPoint.name} " +
|
|
||||||
$"layer={_mapCenterPoint.layer} pos={_mapCenterPoint.transform.position} " +
|
|
||||||
$"scale={_mapCenterPoint.transform.localScale}");
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Build a tall, brightly-colored pillar for a Point of Interest with
|
|
||||||
/// a 3D text label above it (e.g. "FOOD", "SHOP"). The label is laid
|
|
||||||
/// flat on the XZ plane facing UP so it reads correctly under the
|
|
||||||
/// orthogonal top-down camera.
|
|
||||||
/// </summary>
|
|
||||||
private GameObject BuildPOIMarker(MapPOI poi)
|
|
||||||
{
|
|
||||||
if (poi == null) return null;
|
|
||||||
var color = ColorForPOI(poi.POIType);
|
|
||||||
string label = LabelForPOI(poi.POIType);
|
|
||||||
var pos = poi.Location.ToLocalVector3(_centerPosition);
|
|
||||||
return CreateMarkerWithLabel($"POI_{poi.POIType}_{poi.Id}", pos, color, label);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shared marker builder: tall colored cylinder pillar + 3D text label
|
|
||||||
/// above it. Used by POIs, tasks, bodies, and sabotage stations so
|
|
||||||
/// they all share a visual language ("colored pillar with a name").
|
|
||||||
/// </summary>
|
|
||||||
private GameObject CreateMarkerWithLabel(string name, Vector3 worldPos, Color color, string label)
|
|
||||||
{
|
|
||||||
var go = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
|
||||||
go.name = name;
|
|
||||||
|
|
||||||
// Strip the auto-added collider - markers are visual only.
|
|
||||||
var col = go.GetComponent<Collider>();
|
|
||||||
if (col != null) UnityEngine.Object.Destroy(col);
|
|
||||||
|
|
||||||
go.transform.position = worldPos + Vector3.up * kMarkerY;
|
|
||||||
// Cylinder's default unit is 2 tall, 1 wide. Scale Y by half of
|
|
||||||
// kMarkerHeight (built-in is 2 units), X/Z by kMarkerRadius.
|
|
||||||
go.transform.localScale = new Vector3(kMarkerRadius, kMarkerHeight * 0.5f, kMarkerRadius);
|
|
||||||
|
|
||||||
var mr = go.GetComponent<MeshRenderer>();
|
|
||||||
if (mr != null)
|
|
||||||
{
|
|
||||||
// One .material access -> single clone of the primitive's
|
|
||||||
// default mat. Don't touch renderQueue (P3 regression cause).
|
|
||||||
var inst = mr.material;
|
|
||||||
if (inst != null) inst.color = color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3D text label - lays flat on top of the pillar facing up.
|
|
||||||
// Parented to the marker so it follows position changes.
|
|
||||||
var labelGO = new GameObject("Label");
|
|
||||||
labelGO.transform.SetParent(go.transform, worldPositionStays: false);
|
|
||||||
// Local Y offset: pillar's local scale Y is kMarkerHeight/2, but
|
|
||||||
// the cylinder primitive is 2 units tall in local space, so its
|
|
||||||
// top is at local +1. Label sits a hair above that.
|
|
||||||
labelGO.transform.localPosition = new Vector3(0, 1.05f, 0);
|
|
||||||
// Rotate 90 around X so the text quad's normal points +Y (toward
|
|
||||||
// the top-down camera). The default TMP forward is +Z.
|
|
||||||
labelGO.transform.localRotation = Quaternion.Euler(90f, 0f, 0f);
|
|
||||||
// Compensate for the cylinder's non-uniform parent scale so the
|
|
||||||
// text size in world units matches kLabelFontSize regardless of
|
|
||||||
// how the pillar was scaled.
|
|
||||||
labelGO.transform.localScale = new Vector3(
|
|
||||||
1f / kMarkerRadius,
|
|
||||||
1f / (kMarkerHeight * 0.5f),
|
|
||||||
1f / kMarkerRadius);
|
|
||||||
|
|
||||||
var tmp = labelGO.AddComponent<TextMeshPro>();
|
|
||||||
tmp.text = label;
|
|
||||||
tmp.fontSize = kLabelFontSize;
|
|
||||||
tmp.color = Color.white;
|
|
||||||
tmp.fontStyle = FontStyles.Bold;
|
|
||||||
tmp.alignment = TextAlignmentOptions.Center;
|
|
||||||
tmp.outlineColor = Color.black;
|
|
||||||
tmp.outlineWidth = 0.25f;
|
|
||||||
// Reasonable bounds so the text mesh isn't auto-clipped.
|
|
||||||
var rt = tmp.rectTransform;
|
|
||||||
rt.sizeDelta = new Vector2(20, 4);
|
|
||||||
|
|
||||||
return go;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Color ColorForPOI(MapPOIType type)
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case MapPOIType.FoodDrink: return new Color(1.00f, 0.55f, 0.00f); // orange
|
|
||||||
case MapPOIType.Shop: return new Color(0.20f, 0.60f, 1.00f); // blue
|
|
||||||
case MapPOIType.Health: return new Color(0.96f, 0.27f, 0.27f); // red
|
|
||||||
case MapPOIType.Transport: return new Color(0.85f, 0.85f, 0.20f); // yellow
|
|
||||||
case MapPOIType.Culture: return new Color(0.65f, 0.30f, 0.95f); // purple
|
|
||||||
case MapPOIType.Landmark: return new Color(0.95f, 0.85f, 0.40f); // gold
|
|
||||||
case MapPOIType.Recreation: return new Color(0.30f, 0.85f, 0.30f); // green
|
|
||||||
default: return new Color(0.75f, 0.75f, 0.80f); // muted grey
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string LabelForPOI(MapPOIType type)
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case MapPOIType.FoodDrink: return "FOOD";
|
|
||||||
case MapPOIType.Shop: return "SHOP";
|
|
||||||
case MapPOIType.Health: return "HEALTH";
|
|
||||||
case MapPOIType.Transport: return "TRANSIT";
|
|
||||||
case MapPOIType.Culture: return "CULTURE";
|
|
||||||
case MapPOIType.Landmark: return "LANDMARK";
|
|
||||||
case MapPOIType.Recreation: return "PARK";
|
|
||||||
default: return "POI";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void ClearChildren()
|
void ClearChildren()
|
||||||
{
|
{
|
||||||
@@ -305,24 +126,23 @@ namespace Subsystems{
|
|||||||
{
|
{
|
||||||
var building = new GameObject($"Building_{b.Name ?? "Unknown"}");
|
var building = new GameObject($"Building_{b.Name ?? "Unknown"}");
|
||||||
|
|
||||||
// Výpočet středu budovy. Lift the base above kPathY so building
|
// Výpočet středu budovy
|
||||||
// walls visibly extrude *upward* from above the road/area layer
|
|
||||||
// instead of starting at ground (which made them clip into paved
|
|
||||||
// areas that share their footprint).
|
|
||||||
Vector3 center = CalculatePolygonCenter(b.Outline);
|
Vector3 center = CalculatePolygonCenter(b.Outline);
|
||||||
building.transform.position = center + Vector3.up * kBuildingBaseY;
|
building.transform.position = center;
|
||||||
|
|
||||||
// Vytvoření mesh pro budovu
|
// Vytvoření mesh pro budovu
|
||||||
MeshFilter meshFilter = building.AddComponent<MeshFilter>();
|
MeshFilter meshFilter = building.AddComponent<MeshFilter>();
|
||||||
MeshRenderer meshRenderer = building.AddComponent<MeshRenderer>();
|
MeshRenderer meshRenderer = building.AddComponent<MeshRenderer>();
|
||||||
|
MeshCollider meshCollider = building.AddComponent<MeshCollider>();
|
||||||
|
building.tag = "Map";
|
||||||
|
|
||||||
float height;
|
float height;
|
||||||
Material mat;
|
Material mat;
|
||||||
switch (b.BuildingType.ToLower())
|
switch (b.BuildingType.ToLower())
|
||||||
{
|
{
|
||||||
case "residential":
|
case "residential":
|
||||||
mat = _buildingSettings.ResidentialBuildingsMat;
|
mat = _buildingSettings.ResidentalBuildingsMat;
|
||||||
height = _buildingSettings.ResidentialBuildingHeight;
|
height = _buildingSettings.ResidentalBuildingHeight;
|
||||||
break;
|
break;
|
||||||
case "commercial":
|
case "commercial":
|
||||||
mat = _buildingSettings.CommercialBuildingsMat;
|
mat = _buildingSettings.CommercialBuildingsMat;
|
||||||
@@ -339,14 +159,11 @@ namespace Subsystems{
|
|||||||
}
|
}
|
||||||
Mesh mesh = CreateExtrudedPolygonMesh(b.Outline, height);
|
Mesh mesh = CreateExtrudedPolygonMesh(b.Outline, height);
|
||||||
meshFilter.mesh = mesh;
|
meshFilter.mesh = mesh;
|
||||||
|
meshCollider.sharedMesh = mesh;
|
||||||
|
|
||||||
//TODO: material by type
|
//TODO: material by type
|
||||||
// Použijeme barvu podle typu budovy. Use sharedMaterial to keep
|
// Použijeme barvu podle typu budovy
|
||||||
// the project's Material asset reference - no clone, no leak.
|
meshRenderer.material = mat;
|
||||||
// Y-position alone disambiguates building geometry from area/path
|
|
||||||
// layers; we don't need renderQueue overrides (which broke mobile
|
|
||||||
// rendering for transparent-class shaders in P3).
|
|
||||||
meshRenderer.sharedMaterial = mat;
|
|
||||||
|
|
||||||
// Přidání collideru pro interakci
|
// Přidání collideru pro interakci
|
||||||
building.AddComponent<MeshCollider>();
|
building.AddComponent<MeshCollider>();
|
||||||
@@ -355,6 +172,7 @@ namespace Subsystems{
|
|||||||
GameObject BuildPathwayMesh(MapPathway w)
|
GameObject BuildPathwayMesh(MapPathway w)
|
||||||
{
|
{
|
||||||
var path = new GameObject($"Path_{w.Name ?? "Unknown"}");
|
var path = new GameObject($"Path_{w.Name ?? "Unknown"}");
|
||||||
|
path.tag = "Map";
|
||||||
|
|
||||||
// Použijeme LineRenderer pro jednoduchost
|
// Použijeme LineRenderer pro jednoduchost
|
||||||
LineRenderer line = path.AddComponent<LineRenderer>();
|
LineRenderer line = path.AddComponent<LineRenderer>();
|
||||||
@@ -405,19 +223,15 @@ namespace Subsystems{
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sharedMaterial avoids the LineRenderer cloning the project's
|
line.material = mat;
|
||||||
// shared path Material on every BuildMap call. Queue overrides
|
|
||||||
// dropped (P3 mobile-render regression cause).
|
|
||||||
line.sharedMaterial = mat;
|
|
||||||
line.widthMultiplier = width;
|
line.widthMultiplier = width;
|
||||||
|
|
||||||
// Nastavení bodů cesty - kPathY sits above all area polygons but
|
// Nastavení bodů cesty
|
||||||
// below building bases, so paths visibly run on top of areas.
|
|
||||||
line.positionCount = w.Points.Count;
|
line.positionCount = w.Points.Count;
|
||||||
for (int i = 0; i < w.Points.Count; i++)
|
for (int i = 0; i < w.Points.Count; i++)
|
||||||
{
|
{
|
||||||
Vector3 pos = w.Points[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center);
|
Vector3 pos = w.Points[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center);
|
||||||
pos.y = kPathY;
|
pos.y = 0.1f; // Mírně nad zemí
|
||||||
line.SetPosition(i, pos);
|
line.SetPosition(i, pos);
|
||||||
}
|
}
|
||||||
return path;
|
return path;
|
||||||
@@ -425,6 +239,7 @@ namespace Subsystems{
|
|||||||
GameObject BuildAreaMesh(MapArea a)
|
GameObject BuildAreaMesh(MapArea a)
|
||||||
{
|
{
|
||||||
var area = new GameObject($"Area_{a.Name ?? "Unknown"}");
|
var area = new GameObject($"Area_{a.Name ?? "Unknown"}");
|
||||||
|
area.tag = "Map";
|
||||||
|
|
||||||
MeshFilter meshFilter = area.AddComponent<MeshFilter>();
|
MeshFilter meshFilter = area.AddComponent<MeshFilter>();
|
||||||
MeshRenderer meshRenderer = area.AddComponent<MeshRenderer>();
|
MeshRenderer meshRenderer = area.AddComponent<MeshRenderer>();
|
||||||
@@ -460,58 +275,13 @@ namespace Subsystems{
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sharedMaterial: no per-area material clone. Render-queue forcing
|
meshRenderer.material = mat;
|
||||||
// dropped in P8 (caused mobile-render regression). The Y-stagger
|
|
||||||
// below alone now drives "smaller polygon on top of larger one"
|
|
||||||
// depth ordering - which is what the depth buffer was always
|
|
||||||
// designed to do, and works on mobile GPUs with weak precision
|
|
||||||
// because the stagger spread (0.04 units) is well above any
|
|
||||||
// reasonable depth-buffer epsilon.
|
|
||||||
meshRenderer.sharedMaterial = mat;
|
|
||||||
|
|
||||||
// Y stagger: smaller polygons sit a hair higher than larger ones,
|
area.transform.position = new Vector3(0, 0.05f, 0); // Těsně nad zemí
|
||||||
// so depth-test draws them on top of bigger area polygons they sit
|
|
||||||
// inside (e.g. a playground inside a park). Total spread is 0.04
|
|
||||||
// units - visually invisible but plenty for the depth buffer.
|
|
||||||
float yStagger = ComputeAreaYStagger(a.Outline);
|
|
||||||
area.transform.position = new Vector3(0, kAreaBaseY + yStagger, 0);
|
|
||||||
|
|
||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
|
//TODO: POIs
|
||||||
/// <summary>
|
|
||||||
/// Returns a non-negative size proxy used to bucket areas by footprint.
|
|
||||||
/// Larger polygons return higher numbers; used inversely for queue/Y.
|
|
||||||
/// </summary>
|
|
||||||
private float AreaSizeBucket(List<Position> outline)
|
|
||||||
{
|
|
||||||
if (outline == null || outline.Count < 3) return 1f;
|
|
||||||
// Cheap bbox area in lat-lon space scaled by 1e6 - we only need a
|
|
||||||
// monotonic ordering, not a real geographic area.
|
|
||||||
double minLat = outline[0].Lat, maxLat = outline[0].Lat;
|
|
||||||
double minLon = outline[0].Lon, maxLon = outline[0].Lon;
|
|
||||||
for (int i = 1; i < outline.Count; i++)
|
|
||||||
{
|
|
||||||
if (outline[i].Lat < minLat) minLat = outline[i].Lat;
|
|
||||||
if (outline[i].Lat > maxLat) maxLat = outline[i].Lat;
|
|
||||||
if (outline[i].Lon < minLon) minLon = outline[i].Lon;
|
|
||||||
if (outline[i].Lon > maxLon) maxLon = outline[i].Lon;
|
|
||||||
}
|
|
||||||
double bbox = (maxLat - minLat) * (maxLon - minLon) * 1e6;
|
|
||||||
return (float)System.Math.Max(0.001, bbox);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Smaller areas get a higher Y so they render on top of any larger
|
|
||||||
/// area they overlap. Returns a value in [0, 0.04] units.
|
|
||||||
/// </summary>
|
|
||||||
private float ComputeAreaYStagger(List<Position> outline)
|
|
||||||
{
|
|
||||||
float bucket = AreaSizeBucket(outline);
|
|
||||||
// Inverse mapping: huge area -> 0, tiny area -> 0.04.
|
|
||||||
float t = Mathf.Clamp01(1f - bucket / (bucket + 50f));
|
|
||||||
return t * 0.04f;
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Polygon Utils
|
#region Polygon Utils
|
||||||
private Vector3 CalculatePolygonCenter(List<Position> points)
|
private Vector3 CalculatePolygonCenter(List<Position> points)
|
||||||
@@ -523,52 +293,19 @@ namespace Subsystems{
|
|||||||
}
|
}
|
||||||
return center / points.Count;
|
return center / points.Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Signed XZ shoelace area for a polygon expressed in local Vector3.
|
|
||||||
/// Positive = CCW (Unity left-handed Y-up: upward-facing normal),
|
|
||||||
/// negative = CW (downward-facing normal -> top face invisible from
|
|
||||||
/// above unless we reverse the winding before triangulating).
|
|
||||||
/// </summary>
|
|
||||||
private static float PolygonSignedAreaXZ(List<Vector3> verts)
|
|
||||||
{
|
|
||||||
float area = 0f;
|
|
||||||
int n = verts.Count;
|
|
||||||
for (int i = 0; i < n; i++)
|
|
||||||
{
|
|
||||||
var a = verts[i];
|
|
||||||
var b = verts[(i + 1) % n];
|
|
||||||
area += (b.x - a.x) * (a.z + b.z);
|
|
||||||
}
|
|
||||||
return area * 0.5f;
|
|
||||||
}
|
|
||||||
private Mesh CreateExtrudedPolygonMesh(List<Position> outline, float height)
|
private Mesh CreateExtrudedPolygonMesh(List<Position> outline, float height)
|
||||||
{
|
{
|
||||||
Mesh mesh = new Mesh();
|
Mesh mesh = new Mesh();
|
||||||
|
|
||||||
// Reject degenerates - Recast/Overpass can hand back 1-2 vertex
|
|
||||||
// outlines on broken ways. Empty mesh -> renderer draws nothing,
|
|
||||||
// safer than a malformed triangle list.
|
|
||||||
if (outline == null || outline.Count < 3) return mesh;
|
|
||||||
|
|
||||||
// Convert to local space first so we can run a winding check, then
|
|
||||||
// reverse if needed. Without this, CW outlines from Overpass yield
|
|
||||||
// downward-facing top normals and the building roof is invisible
|
|
||||||
// from the top-down map camera.
|
|
||||||
int vertexCount = outline.Count;
|
int vertexCount = outline.Count;
|
||||||
var localVerts = new List<Vector3>(vertexCount);
|
|
||||||
Vector3 center = CalculatePolygonCenter(outline);
|
|
||||||
for (int i = 0; i < vertexCount; i++)
|
|
||||||
localVerts.Add(outline[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center) - center);
|
|
||||||
|
|
||||||
if (PolygonSignedAreaXZ(localVerts) < 0f)
|
|
||||||
localVerts.Reverse();
|
|
||||||
|
|
||||||
// Vertices - spodní a horní podstava
|
// Vertices - spodní a horní podstava
|
||||||
Vector3[] vertices = new Vector3[vertexCount * 2];
|
Vector3[] vertices = new Vector3[vertexCount * 2];
|
||||||
|
Vector3 center = CalculatePolygonCenter(outline);
|
||||||
|
|
||||||
for (int i = 0; i < vertexCount; i++)
|
for (int i = 0; i < vertexCount; i++)
|
||||||
{
|
{
|
||||||
Vector3 pos = localVerts[i];
|
Vector3 pos = outline[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center) - center;
|
||||||
vertices[i] = pos; // Spodní
|
vertices[i] = pos; // Spodní
|
||||||
vertices[i + vertexCount] = pos + Vector3.up * height; // Horní
|
vertices[i + vertexCount] = pos + Vector3.up * height; // Horní
|
||||||
}
|
}
|
||||||
@@ -612,31 +349,26 @@ namespace Subsystems{
|
|||||||
{
|
{
|
||||||
Mesh mesh = new Mesh();
|
Mesh mesh = new Mesh();
|
||||||
|
|
||||||
// Reject degenerates (matches CreateExtrudedPolygonMesh).
|
|
||||||
if (outline == null || outline.Count < 3) return mesh;
|
|
||||||
|
|
||||||
int vertexCount = outline.Count;
|
int vertexCount = outline.Count;
|
||||||
var localVerts = new List<Vector3>(vertexCount);
|
Vector3[] vertices = new Vector3[vertexCount];
|
||||||
Vector3 center = CalculatePolygonCenter(outline);
|
Vector3 center = CalculatePolygonCenter(outline);
|
||||||
|
|
||||||
for (int i = 0; i < vertexCount; i++)
|
for (int i = 0; i < vertexCount; i++)
|
||||||
localVerts.Add(outline[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center) - center);
|
{
|
||||||
|
vertices[i] = outline[i].ToLocalVector3(_gameClient.CurrentLobbyState.MapData.Center) - center;
|
||||||
// Force CCW so RecalculateNormals produces an upward-facing normal.
|
}
|
||||||
// CW polygons from Overpass would otherwise render as black voids
|
|
||||||
// when the top-down camera looks at their back face.
|
|
||||||
if (PolygonSignedAreaXZ(localVerts) < 0f)
|
|
||||||
localVerts.Reverse();
|
|
||||||
|
|
||||||
Vector3[] vertices = localVerts.ToArray();
|
|
||||||
|
|
||||||
// Triangulace - fan pattern
|
// Triangulace - fan pattern
|
||||||
List<int> triangles = new List<int>();
|
List<int> triangles = new List<int>();
|
||||||
|
if (vertexCount >= 3)
|
||||||
|
{
|
||||||
for (int i = 1; i < vertexCount - 1; i++)
|
for (int i = 1; i < vertexCount - 1; i++)
|
||||||
{
|
{
|
||||||
triangles.Add(0);
|
triangles.Add(0);
|
||||||
triangles.Add(i);
|
triangles.Add(i);
|
||||||
triangles.Add(i + 1);
|
triangles.Add(i + 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mesh.vertices = vertices;
|
mesh.vertices = vertices;
|
||||||
mesh.triangles = triangles.ToArray();
|
mesh.triangles = triangles.ToArray();
|
||||||
@@ -645,164 +377,5 @@ namespace Subsystems{
|
|||||||
return mesh;
|
return mesh;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Markers
|
|
||||||
|
|
||||||
public void CreateTaskMarkers(List<GeoSus.Client.GameTask> tasks)
|
|
||||||
{
|
|
||||||
if (_mapCenterPoint == null) return;
|
|
||||||
if (_centerPosition.Lat == 0 && _centerPosition.Lon == 0)
|
|
||||||
{
|
|
||||||
var md = _gameClient?.CurrentLobbyState?.MapData;
|
|
||||||
if (md != null) _centerPosition = md.Center;
|
|
||||||
}
|
|
||||||
if (_centerPosition.Lat == 0 && _centerPosition.Lon == 0) return;
|
|
||||||
var taskColor = new Color(0.20f, 0.95f, 0.55f); // bright green - "GO HERE"
|
|
||||||
foreach (var task in tasks)
|
|
||||||
{
|
|
||||||
if (_taskMarkers.ContainsKey(task.TaskId)) continue;
|
|
||||||
var pos = task.Location.ToLocalVector3(_centerPosition);
|
|
||||||
var go = CreateMarkerWithLabel($"Task_{task.TaskId}", pos, taskColor, "TASK");
|
|
||||||
go.transform.parent = _mapCenterPoint.transform;
|
|
||||||
|
|
||||||
// Pulsing point light so the task literally glows on the map.
|
|
||||||
var light = go.AddComponent<Light>();
|
|
||||||
light.color = taskColor;
|
|
||||||
light.intensity = 3f;
|
|
||||||
light.range = 25f;
|
|
||||||
_taskMarkers[task.TaskId] = go;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void RemoveTaskMarker(string taskId)
|
|
||||||
{
|
|
||||||
if (_taskMarkers.TryGetValue(taskId, out var go))
|
|
||||||
{
|
|
||||||
UnityEngine.Object.Destroy(go);
|
|
||||||
_taskMarkers.Remove(taskId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CreateBodyMarker(string bodyId, Position location)
|
|
||||||
{
|
|
||||||
if (_mapCenterPoint == null) return;
|
|
||||||
if (_bodyMarkers.ContainsKey(bodyId)) return;
|
|
||||||
var pos = location.ToLocalVector3(_centerPosition);
|
|
||||||
// Bright red pillar with "BODY" label - players need to see this
|
|
||||||
// from across the map to call it in.
|
|
||||||
var go = CreateMarkerWithLabel($"Body_{bodyId}", pos,
|
|
||||||
new Color(0.96f, 0.18f, 0.18f), "BODY");
|
|
||||||
go.transform.parent = _mapCenterPoint?.transform;
|
|
||||||
_bodyMarkers[bodyId] = go;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ClearBodyMarkers()
|
|
||||||
{
|
|
||||||
foreach (var go in _bodyMarkers.Values)
|
|
||||||
if (go) UnityEngine.Object.Destroy(go);
|
|
||||||
_bodyMarkers.Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ── Player avatar sizing ────────────────────────────────────────────
|
|
||||||
// The default Unity capsule primitive is 2m tall in local space. The
|
|
||||||
// map camera defaults to 150m orthographic-ish height (see
|
|
||||||
// MapCameraController), so anything smaller than ~3m world-size is a
|
|
||||||
// pixel on screen. Original code used scale=0.4 (~0.8m capsule) which
|
|
||||||
// was invisible. Markers (POIs/tasks/bodies) are 8m pillars; players
|
|
||||||
// need to be visibly distinct from those AND from each other. The
|
|
||||||
// local player gets a halo light + larger scale so the user can find
|
|
||||||
// themselves on the map at a glance.
|
|
||||||
private const float kLocalPlayerScale = 4f; // ~8m capsule (matches marker height)
|
|
||||||
private const float kRemotePlayerScale = 2f; // ~4m capsule (smaller than markers)
|
|
||||||
private const float kLocalPlayerHaloRange = 18f;
|
|
||||||
private const float kLocalPlayerHaloIntensity = 2.5f;
|
|
||||||
|
|
||||||
public void UpdatePlayerAvatars(Dictionary<string, PlayerPositionInfo> positions, string myUuid)
|
|
||||||
{
|
|
||||||
if (_mapCenterPoint == null) return;
|
|
||||||
if (_centerPosition.Lat == 0 && _centerPosition.Lon == 0)
|
|
||||||
{
|
|
||||||
var md = _gameClient?.CurrentLobbyState?.MapData;
|
|
||||||
if (md != null) _centerPosition = md.Center;
|
|
||||||
}
|
|
||||||
if (_centerPosition.Lat == 0 && _centerPosition.Lon == 0) return;
|
|
||||||
foreach (var kvp in positions)
|
|
||||||
{
|
|
||||||
string uuid = kvp.Key;
|
|
||||||
var info = kvp.Value;
|
|
||||||
bool isLocal = uuid == myUuid;
|
|
||||||
if (!_playerAvatars.TryGetValue(uuid, out var go) || go == null)
|
|
||||||
{
|
|
||||||
go = GameObject.CreatePrimitive(PrimitiveType.Capsule);
|
|
||||||
go.name = $"Player_{uuid.Substring(0, Mathf.Min(8, uuid.Length))}";
|
|
||||||
go.transform.parent = _mapCenterPoint?.transform;
|
|
||||||
// Strip the auto-collider - avatars are visual only and the
|
|
||||||
// collider would interact with the map's MeshColliders.
|
|
||||||
var col = go.GetComponent<Collider>();
|
|
||||||
if (col != null) UnityEngine.Object.Destroy(col);
|
|
||||||
|
|
||||||
float scale = isLocal ? kLocalPlayerScale : kRemotePlayerScale;
|
|
||||||
go.transform.localScale = Vector3.one * scale;
|
|
||||||
|
|
||||||
if (isLocal)
|
|
||||||
{
|
|
||||||
// Halo light around the local player so the user can
|
|
||||||
// find themselves at a glance even at the widest zoom.
|
|
||||||
// Range/intensity tuned so it reads as "this is me"
|
|
||||||
// without bleeding far enough to drown POI markers.
|
|
||||||
var halo = go.AddComponent<Light>();
|
|
||||||
halo.color = new Color(0.30f, 1.00f, 0.55f); // matches green capsule color
|
|
||||||
halo.intensity = kLocalPlayerHaloIntensity;
|
|
||||||
halo.range = kLocalPlayerHaloRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
_playerAvatars[uuid] = go;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lift the avatar so the bottom of the capsule sits roughly at
|
|
||||||
// ground level despite the larger scale. Capsule's local pivot
|
|
||||||
// is at center, height = 2 * localScale.y world units, so we
|
|
||||||
// raise by half the local height.
|
|
||||||
float halfHeight = (isLocal ? kLocalPlayerScale : kRemotePlayerScale);
|
|
||||||
go.transform.position = info.Position.ToLocalVector3(_centerPosition)
|
|
||||||
+ Vector3.up * halfHeight;
|
|
||||||
|
|
||||||
var mr = go.GetComponent<MeshRenderer>();
|
|
||||||
if (mr)
|
|
||||||
{
|
|
||||||
if (isLocal) mr.material.color = new Color(0.30f, 1.00f, 0.55f);
|
|
||||||
else if (info.State == GeoSus.Client.PlayerState.Dead) mr.material.color = Color.grey;
|
|
||||||
else mr.material.color = Color.white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void CreateSabotageMarkers(List<RepairStationInfo> stations)
|
|
||||||
{
|
|
||||||
var color = new Color(1.0f, 0.55f, 0.0f); // strong orange = repair urgency
|
|
||||||
foreach (var station in stations)
|
|
||||||
{
|
|
||||||
var pos = station.Location.ToLocalVector3(_centerPosition);
|
|
||||||
var go = CreateMarkerWithLabel($"Sabotage_{station.StationId}", pos,
|
|
||||||
color, "REPAIR");
|
|
||||||
go.transform.parent = _mapCenterPoint?.transform;
|
|
||||||
|
|
||||||
// Repair stations also pulse light so impostors and crew see
|
|
||||||
// the urgency from across the map.
|
|
||||||
var light = go.AddComponent<Light>();
|
|
||||||
light.color = color;
|
|
||||||
light.intensity = 4f;
|
|
||||||
light.range = 30f;
|
|
||||||
_sabotageMarkers.Add(go);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ClearSabotageMarkers()
|
|
||||||
{
|
|
||||||
foreach (var go in _sabotageMarkers)
|
|
||||||
if (go) UnityEngine.Object.Destroy(go);
|
|
||||||
_sabotageMarkers.Clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,6 +105,10 @@ namespace Subsystems
|
|||||||
case "MapDataError":
|
case "MapDataError":
|
||||||
Debug.Log("Received MapData server error");
|
Debug.Log("Received MapData server error");
|
||||||
break;
|
break;
|
||||||
|
case "SabotageStarted":
|
||||||
|
Debug.Log("Sabotage started");
|
||||||
|
HandleSabotageStarted(gameEvent);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Debug.Log("Received GameEvent of type: " + gameEvent.EventType);
|
Debug.Log("Received GameEvent of type: " + gameEvent.EventType);
|
||||||
break;
|
break;
|
||||||
@@ -157,6 +161,36 @@ namespace Subsystems
|
|||||||
_gameClient.StartGame();
|
_gameClient.StartGame();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#region GameEvent Handlers
|
||||||
|
private void HandleSabotageStarted(GameEvent gameEvent)
|
||||||
|
{
|
||||||
|
SabotageStartedPayload payload = gameEvent.GetPayload<SabotageStartedPayload>();
|
||||||
|
switch (payload.Type)
|
||||||
|
{
|
||||||
|
case SabotageType.CommsBlackout:
|
||||||
|
for(int i = 0;i < payload.RequiredSimultaneousRepairs; i++)
|
||||||
|
{
|
||||||
|
//create stations
|
||||||
|
}
|
||||||
|
//Ui.alert
|
||||||
|
//DisableComms
|
||||||
|
return;
|
||||||
|
case SabotageType.CriticalMeltdown:
|
||||||
|
for (int i = 0; i < payload.RequiredSimultaneousRepairs; i++)
|
||||||
|
{
|
||||||
|
//create stations
|
||||||
|
}
|
||||||
|
//UI.alert
|
||||||
|
//UI Time remain
|
||||||
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
|
Debug.Log($"Sabotage of unknown type: {payload.Type}");
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 989e9292fe24c2a4ba95ceae191dd330
|
guid: 9c2032ed1184ad7418cc415edf97b69e
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: cbe0afd6cfb57b44781533cfa4ce4196
|
guid: f575016e02384774d88b46ed7f09579f
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: feb806f8c9bbde347862d714c4e96c61
|
|
||||||
@@ -6,16 +6,20 @@ using UnityEngine;
|
|||||||
{
|
{
|
||||||
Task //TODO: Typy úkolù
|
Task //TODO: Typy úkolù
|
||||||
}*/
|
}*/
|
||||||
|
[System.Serializable]
|
||||||
|
public class TaskData
|
||||||
|
{
|
||||||
|
//TaskType
|
||||||
|
public GameObject TaskPrefab;
|
||||||
|
}
|
||||||
public interface ITask
|
public interface ITask
|
||||||
{
|
{
|
||||||
public string TaskID { get; } // Unikátní ID úkolu pro server
|
public string TaskID { get; set; } // Unikátní ID úkolu pro server
|
||||||
public TaskType TaskType { get; } // Typ úkolu
|
public TaskType TaskType { get; set; } // Typ úkolu
|
||||||
public string TaskName { get; } // Viditelný název úkolu
|
public string TaskName { get; set; } // Viditelný název úkolu
|
||||||
public Position TaskLocation { get; } // Polohy na mapì
|
public Position TaskLocation { get; set; } // Polohy na mapì
|
||||||
public bool IsCompleted { get; } // Stav dokonèení úkolu
|
public bool IsCompleted { get; } // Stav dokončení úkolu
|
||||||
|
|
||||||
|
|
||||||
void Initialize(Action<ITask> onCompleted); // Vytvoøení tasku + naètení postupu
|
void Initialize(Action<ITask> onCompleted); // Vytvoøení tasku + naètení postupu
|
||||||
void ExitTask(Action<ITask> onExit); // Pøi opuštìní úkolu poslat hotovo / uložit postup / reset
|
void ExitTask(Action<ITask> onExit); // Pøi opuštìní úkolu poslat hotovo / uložit postup / reset
|
||||||
@@ -35,6 +39,7 @@ public class Wires : ITask{
|
|||||||
{
|
{
|
||||||
IsCompleted = false;
|
IsCompleted = false;
|
||||||
_onCompleted = onCompleted;
|
_onCompleted = onCompleted;
|
||||||
|
|
||||||
}
|
}
|
||||||
public void ExitTask(Action<ITask> onExit) //Zavøení tasku
|
public void ExitTask(Action<ITask> onExit) //Zavøení tasku
|
||||||
{
|
{
|
||||||
@@ -51,3 +56,18 @@ public class Wires : ITask{
|
|||||||
|
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
public enum StationType
|
||||||
|
{
|
||||||
|
Sabotage,
|
||||||
|
Task,
|
||||||
|
Meeting,
|
||||||
|
Body
|
||||||
|
}
|
||||||
|
public interface IInteractable
|
||||||
|
{
|
||||||
|
public StationType Type { get; set; } // Typ stanice
|
||||||
|
public Position Location { get; set; } // Pozice na mapě
|
||||||
|
public PlayerRole? ReqRole { get; set; } // Požadovaná role hráče Impostor / Crewmate / Any = null
|
||||||
|
public float InteractionRange { get; set; } // Dosah interakce
|
||||||
|
void Interact(PlayerRole role); // Spuštění interakce
|
||||||
|
}
|
||||||
2
Assets/GameManager/Interfaces.cs.meta
Normal file
2
Assets/GameManager/Interfaces.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8e926b313c00d4f48ad68750c88817bf
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
%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: New Material
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _ColorMask: 15
|
|
||||||
- _CullMode: 0
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _Stencil: 0
|
|
||||||
- _StencilComp: 8
|
|
||||||
- _StencilOp: 0
|
|
||||||
- _StencilReadMask: 255
|
|
||||||
- _StencilWriteMask: 255
|
|
||||||
- _UVSec: 0
|
|
||||||
- _UseUIAlphaClip: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: dac0a6a54861f2c438fc5fd58864473d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
83
Assets/GameManager/Stations.cs
Normal file
83
Assets/GameManager/Stations.cs
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
using GeoSus.Client;
|
||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
public class Station : IInteractable
|
||||||
|
{
|
||||||
|
public StationType Type { get; set; }
|
||||||
|
public Position Location { get; set; }
|
||||||
|
public PlayerRole? ReqRole { get; set; }
|
||||||
|
public float InteractionRange { get; set; }
|
||||||
|
protected GameObject interfaceInstance;
|
||||||
|
public GameObject Interface { get; set; } // Prefab pro interakci (napø. UI pro úkol nebo sabotáže)
|
||||||
|
|
||||||
|
public virtual void Interact(PlayerRole role)
|
||||||
|
{
|
||||||
|
if (ReqRole.HasValue && role != ReqRole.Value)
|
||||||
|
{
|
||||||
|
Debug.Log("You do not have the required role to interact with this station.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
interfaceInstance = UnityEngine.Object.Instantiate(Interface); // Zobrazí interakèní UI
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public Station(Position location, float interactionRange)
|
||||||
|
{
|
||||||
|
Location = location;
|
||||||
|
InteractionRange = interactionRange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class TaskStation : Station
|
||||||
|
{
|
||||||
|
public string TaskID { get; set; } // Unikátní ID úkolu pro server
|
||||||
|
private GameClient _gameClient;
|
||||||
|
public TaskStation(Position pos, float interactionRange, GameClient gameClient, string taskID) : base(pos, interactionRange)
|
||||||
|
{
|
||||||
|
Type = StationType.Task;
|
||||||
|
ReqRole = PlayerRole.Crew;
|
||||||
|
_gameClient = gameClient;
|
||||||
|
}
|
||||||
|
public ITask Task { get; set; }
|
||||||
|
public override void Interact(PlayerRole role)
|
||||||
|
{
|
||||||
|
if(interfaceInstance != null)
|
||||||
|
{
|
||||||
|
ResumeTask();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
base.Interact(role);
|
||||||
|
Task = interfaceInstance.GetComponent<ITask>();
|
||||||
|
Task.TaskID = TaskID;
|
||||||
|
Task.Initialize(OnTaskCompleted);
|
||||||
|
}
|
||||||
|
private void ResumeTask()
|
||||||
|
{
|
||||||
|
interfaceInstance.SetActive(true); // Zobrazí interakèní UI
|
||||||
|
}
|
||||||
|
private void OnTaskCompleted(ITask task)
|
||||||
|
{
|
||||||
|
_gameClient.CompleteTask(task.TaskID);
|
||||||
|
task.ExitTask(OnTaskExit);
|
||||||
|
Debug.Log($"Task {task.TaskName} completed and sent to server.");
|
||||||
|
}
|
||||||
|
private void OnTaskExit(ITask task)
|
||||||
|
{
|
||||||
|
if (task.IsCompleted)
|
||||||
|
{
|
||||||
|
UnityEngine.Object.Destroy(interfaceInstance); // Znièí interakèní UI
|
||||||
|
Debug.Log($"Task {task.TaskName} completed and sent to server.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
interfaceInstance.SetActive(false); // Skryje interakèní UI
|
||||||
|
Debug.Log($"Task {task.TaskName} was not completed, but exited.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
2
Assets/GameManager/Stations.cs.meta
Normal file
2
Assets/GameManager/Stations.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0ca1825585bf9bc42bd3b11985048465
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1bc3c07f160332843b2a60af3513f7f6
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 624830e44386e5d45a391630cd88151d
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
%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: Zeme_Textura
|
|
||||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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: d1443c0777d81e24caecc3991b8bf225, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 299795d658d037841b1552f783d462c3
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
//clankr
|
|
||||||
public class RotaceZeme : MonoBehaviour
|
|
||||||
{
|
|
||||||
public float rychlost = 20f;
|
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
transform.Rotate(Vector3.up, rychlost * Time.deltaTime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2167308ece2e6664fa472e3dff700350
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
%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: Zeme_Material
|
|
||||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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: d1443c0777d81e24caecc3991b8bf225, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.414
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4cf6d1d65bc4af24fa762f6801fcc7c4
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 404 KiB |
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d1443c0777d81e24caecc3991b8bf225
|
|
||||||
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: 4
|
|
||||||
buildTarget: DefaultTexturePlatform
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 2
|
|
||||||
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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!84 &8400000
|
|
||||||
RenderTexture:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: Zeme_vystup
|
|
||||||
m_ImageContentsHash:
|
|
||||||
serializedVersion: 2
|
|
||||||
Hash: 00000000000000000000000000000000
|
|
||||||
m_IsAlphaChannelOptional: 0
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Width: 1048
|
|
||||||
m_Height: 1048
|
|
||||||
m_AntiAliasing: 1
|
|
||||||
m_MipCount: -1
|
|
||||||
m_DepthStencilFormat: 94
|
|
||||||
m_ColorFormat: 8
|
|
||||||
m_MipMap: 0
|
|
||||||
m_GenerateMips: 1
|
|
||||||
m_SRGB: 0
|
|
||||||
m_UseDynamicScale: 0
|
|
||||||
m_UseDynamicScaleExplicit: 0
|
|
||||||
m_BindMS: 0
|
|
||||||
m_EnableCompatibleFormat: 1
|
|
||||||
m_EnableRandomWrite: 0
|
|
||||||
m_TextureSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_FilterMode: 1
|
|
||||||
m_Aniso: 0
|
|
||||||
m_MipBias: 0
|
|
||||||
m_WrapU: 1
|
|
||||||
m_WrapV: 1
|
|
||||||
m_WrapW: 1
|
|
||||||
m_Dimension: 2
|
|
||||||
m_VolumeDepth: 1
|
|
||||||
m_ShadowSamplingMode: 2
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 4d595312cdcdd094cbe411227603ceea
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 8400000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
@@ -1,110 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0e125acbe6e192344a3f1c6d4a54f131
|
|
||||||
ModelImporter:
|
|
||||||
serializedVersion: 24200
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
materials:
|
|
||||||
materialImportMode: 2
|
|
||||||
materialName: 0
|
|
||||||
materialSearch: 1
|
|
||||||
materialLocation: 1
|
|
||||||
animations:
|
|
||||||
legacyGenerateAnimations: 4
|
|
||||||
bakeSimulation: 0
|
|
||||||
resampleCurves: 1
|
|
||||||
optimizeGameObjects: 0
|
|
||||||
removeConstantScaleCurves: 0
|
|
||||||
motionNodeName:
|
|
||||||
animationImportErrors:
|
|
||||||
animationImportWarnings:
|
|
||||||
animationRetargetingWarnings:
|
|
||||||
animationDoRetargetingWarnings: 0
|
|
||||||
importAnimatedCustomProperties: 0
|
|
||||||
importConstraints: 0
|
|
||||||
animationCompression: 1
|
|
||||||
animationRotationError: 0.5
|
|
||||||
animationPositionError: 0.5
|
|
||||||
animationScaleError: 0.5
|
|
||||||
animationWrapMode: 0
|
|
||||||
extraExposedTransformPaths: []
|
|
||||||
extraUserProperties: []
|
|
||||||
clipAnimations: []
|
|
||||||
isReadable: 0
|
|
||||||
meshes:
|
|
||||||
lODScreenPercentages: []
|
|
||||||
globalScale: 1
|
|
||||||
meshCompression: 0
|
|
||||||
addColliders: 0
|
|
||||||
useSRGBMaterialColor: 1
|
|
||||||
sortHierarchyByName: 1
|
|
||||||
importPhysicalCameras: 1
|
|
||||||
importVisibility: 1
|
|
||||||
importBlendShapes: 1
|
|
||||||
importCameras: 1
|
|
||||||
importLights: 1
|
|
||||||
nodeNameCollisionStrategy: 1
|
|
||||||
fileIdsGeneration: 2
|
|
||||||
swapUVChannels: 0
|
|
||||||
generateSecondaryUV: 0
|
|
||||||
useFileUnits: 1
|
|
||||||
keepQuads: 0
|
|
||||||
weldVertices: 1
|
|
||||||
bakeAxisConversion: 0
|
|
||||||
preserveHierarchy: 0
|
|
||||||
skinWeightsMode: 0
|
|
||||||
maxBonesPerVertex: 4
|
|
||||||
minBoneWeight: 0.001
|
|
||||||
optimizeBones: 1
|
|
||||||
generateMeshLods: 0
|
|
||||||
meshLodGenerationFlags: 0
|
|
||||||
maximumMeshLod: -1
|
|
||||||
meshOptimizationFlags: -1
|
|
||||||
indexFormat: 0
|
|
||||||
secondaryUVAngleDistortion: 8
|
|
||||||
secondaryUVAreaDistortion: 15.000001
|
|
||||||
secondaryUVHardAngle: 88
|
|
||||||
secondaryUVMarginMethod: 1
|
|
||||||
secondaryUVMinLightmapResolution: 40
|
|
||||||
secondaryUVMinObjectScale: 1
|
|
||||||
secondaryUVPackMargin: 4
|
|
||||||
useFileScale: 1
|
|
||||||
strictVertexDataChecks: 0
|
|
||||||
tangentSpace:
|
|
||||||
normalSmoothAngle: 60
|
|
||||||
normalImportMode: 0
|
|
||||||
tangentImportMode: 3
|
|
||||||
normalCalculationMode: 4
|
|
||||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
|
||||||
blendShapeNormalImportMode: 1
|
|
||||||
normalSmoothingSource: 0
|
|
||||||
referencedClips: []
|
|
||||||
importAnimation: 1
|
|
||||||
humanDescription:
|
|
||||||
serializedVersion: 3
|
|
||||||
human: []
|
|
||||||
skeleton: []
|
|
||||||
armTwist: 0.5
|
|
||||||
foreArmTwist: 0.5
|
|
||||||
upperLegTwist: 0.5
|
|
||||||
legTwist: 0.5
|
|
||||||
armStretch: 0.05
|
|
||||||
legStretch: 0.05
|
|
||||||
feetSpacing: 0
|
|
||||||
globalScale: 1
|
|
||||||
rootMotionBoneName:
|
|
||||||
hasTranslationDoF: 0
|
|
||||||
hasExtraRoot: 0
|
|
||||||
skeletonHasParents: 1
|
|
||||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
|
||||||
autoGenerateAvatarMappingIfUnspecified: 1
|
|
||||||
animationType: 2
|
|
||||||
humanoidOversampling: 1
|
|
||||||
avatarSetup: 0
|
|
||||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
|
||||||
importBlendShapeDeformPercent: 1
|
|
||||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
|
||||||
additionalBone: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
%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: textik
|
|
||||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.583
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e00f6447ca0dc7646b73cb387d282a47
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2230bf768ecb84610af77bea6cdd7074
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
%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: DOMEKBARVA
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _EMISSION
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
|
|
||||||
m_LightmapFlags: 1
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 1
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses:
|
|
||||||
- MOTIONVECTORS
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _BackTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _BaseMap:
|
|
||||||
m_Texture: {fileID: 2800000, guid: c72a02e6a4cda274ba055c14119e8b9c, type: 3}
|
|
||||||
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}
|
|
||||||
- _Control:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _DecalTex:
|
|
||||||
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}
|
|
||||||
- _DownTex:
|
|
||||||
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}
|
|
||||||
- _FrontTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Illum:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _LeftTex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _LightMap:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _MainTex:
|
|
||||||
m_Texture: {fileID: 2800000, guid: c72a02e6a4cda274ba055c14119e8b9c, type: 3}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Mask0:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Mask1:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Mask2:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Mask3:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _MaskTex:
|
|
||||||
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}
|
|
||||||
- _Normal0:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Normal1:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Normal2:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Normal3:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _NormalMap:
|
|
||||||
m_Texture: {fileID: 2800000, guid: c72a02e6a4cda274ba055c14119e8b9c, type: 3}
|
|
||||||
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}
|
|
||||||
- _RightTex:
|
|
||||||
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}
|
|
||||||
- _Splat0:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Splat1:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Splat2:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Splat3:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _TerrainHolesTexture:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _Tex:
|
|
||||||
m_Texture: {fileID: 0}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
- _UpTex:
|
|
||||||
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:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _AddPrecomputedVelocity: 0
|
|
||||||
- _AlphaClip: 0
|
|
||||||
- _AlphaToMask: 0
|
|
||||||
- _AtmosphereThickness: 1
|
|
||||||
- _Blend: 0
|
|
||||||
- _BlendModePreserveSpecular: 1
|
|
||||||
- _BlendOp: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _CameraFadingEnabled: 0
|
|
||||||
- _CameraFarFadeDistance: 2
|
|
||||||
- _CameraNearFadeDistance: 1
|
|
||||||
- _ClearCoatMask: 0
|
|
||||||
- _ClearCoatSmoothness: 0
|
|
||||||
- _ColorMask: 15
|
|
||||||
- _Cull: 0
|
|
||||||
- _CullMode: 18.7
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailAlbedoMapScale: 1
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DistortionBlend: 0.5
|
|
||||||
- _DistortionEnabled: 0
|
|
||||||
- _DistortionStrength: 1
|
|
||||||
- _DistortionStrengthScaled: 0
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _DstBlendAlpha: 0
|
|
||||||
- _Emission: 1
|
|
||||||
- _EmissionEnabled: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _EnableHeightBlend: 0
|
|
||||||
- _EnableInstancedPerPixelNormal: 1
|
|
||||||
- _EnvironmentReflections: 1
|
|
||||||
- _Exposure: 1.03
|
|
||||||
- _FlipbookMode: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0
|
|
||||||
- _GlossinessSource: 0
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _HeightTransition: 0
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 2
|
|
||||||
- _LightingEnabled: 1
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Metallic0: 0
|
|
||||||
- _Metallic1: 0
|
|
||||||
- _Metallic2: 0
|
|
||||||
- _Metallic3: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _NumLayersCount: 1
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _QueueOffset: 50
|
|
||||||
- _ReceiveShadows: 1
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SampleGI: 0
|
|
||||||
- _Shininess: 0.7
|
|
||||||
- _Smoothness: 0.5
|
|
||||||
- _Smoothness0: 0.5
|
|
||||||
- _Smoothness1: 0.5
|
|
||||||
- _Smoothness2: 0.5
|
|
||||||
- _Smoothness3: 0.5
|
|
||||||
- _SmoothnessSource: 0
|
|
||||||
- _SmoothnessTextureChannel: 1
|
|
||||||
- _SoftParticlesEnabled: 0
|
|
||||||
- _SoftParticlesFarFadeDistance: 1
|
|
||||||
- _SoftParticlesNearFadeDistance: 0
|
|
||||||
- _SpecSource: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _SrcBlendAlpha: 1
|
|
||||||
- _Stencil: 0
|
|
||||||
- _StencilComp: 8
|
|
||||||
- _StencilOp: 0
|
|
||||||
- _StencilReadMask: 255
|
|
||||||
- _StencilWriteMask: 255
|
|
||||||
- _SunDisk: 2
|
|
||||||
- _SunSize: 0.04
|
|
||||||
- _SunSizeConvergence: 5
|
|
||||||
- _Surface: 0
|
|
||||||
- _UVSec: 0
|
|
||||||
- _UseUIAlphaClip: 0
|
|
||||||
- _WorkflowMode: 1
|
|
||||||
- _XRMotionVectorsPass: 1
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
|
||||||
- _ClipRect: {r: -11275, g: -32767, b: 32767, a: 32767}
|
|
||||||
- _Color: {r: 0, g: 0.83456206, b: 1, a: 1}
|
|
||||||
- _Emission: {r: 0, g: 0, b: 0, a: 0}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _GroundColor: {r: 0.36899996, g: 0.34899998, b: 0.34099993, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _SkyTint: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
||||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
|
||||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 43a59ce0be297c44a94d4266bc86174d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
%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: HDR_multi_nebulae_1
|
|
||||||
m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _Tex:
|
|
||||||
m_Texture: {fileID: 8900000, guid: bbe6dc8ab03108a488246bb64d4078ff, type: 3}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _Exposure: 1
|
|
||||||
- _Rotation: 0
|
|
||||||
m_Colors:
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b8ea26def9472484b87d08513faa2756
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: KOMRECNIBARVA
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: b2aafd5c840033f44a31e8557fc1aee9, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: d7a2ebf8eb383bc43a5203bcaf1b63e2
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa1
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.11974901, g: 0.3358179, b: 0.5518868, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fbe49e8a4c50f024989408f62bfdcb33
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa11
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.64017385, g: 0.5382698, b: 0.9056604, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8be50db4bd8c0aa4e884602af1bdccbc
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa2
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.5707547, g: 0.58085465, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: f745f6d4b3e89844aadf9e01fcf41cf3
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa3
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.4009434, g: 0.4009434, b: 0.4009434, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: e5e090726056f374dbbd3a626772822f
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa4
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.5754717, g: 0.5754717, b: 0.5754717, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: a83875b5ebf7d7b42a074d07e791fee7
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa5
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.5566038, g: 0.9338248, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: c4c816c88b520f649a38ab2b4e1716f4
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
%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: barvamapa6
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 2100000, guid: c4c816c88b520f649a38ab2b4e1716f4, type: 2}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs: []
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats: []
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.9800406, g: 0.6084906, b: 1, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 616bfa229ebc56548ae11df790a4cf12
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa7
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.5754717, g: 0.5754717, b: 0.5754717, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 2faa8c507cbdf4e44bda99e39e5ee03d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: barvamapa8
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.63918453, g: 0.8113208, b: 0.36739054, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 1848627499bdc424fa11b913e3aa2c1d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
%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: barvamapa9
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 2100000, guid: 8be50db4bd8c0aa4e884602af1bdccbc, type: 2}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs: []
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats: []
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.754717, g: 0.40583837, b: 0.40583837, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 33108960a53974744ae1f1f329275c9d
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
%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: bilabarva
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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}
|
|
||||||
- _DecalTex:
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3e5ab1daf40a3b54995d5f1453f1d199
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: industrybarva
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 38ab53fd7c012934f80d87d827371c70, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 30078b48eb864694dbcb63ce7a222fc4
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
%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: mapamaterial1
|
|
||||||
m_Shader: {fileID: 108, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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: c72a02e6a4cda274ba055c14119e8b9c, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _Exposure: 0.64
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 746910162b3ccfe469ca492e61529149
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 MiB |
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: c72a02e6a4cda274ba055c14119e8b9c
|
|
||||||
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: 2
|
|
||||||
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: 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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 MiB |
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 38ab53fd7c012934f80d87d827371c70
|
|
||||||
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: 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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 MiB |
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b2aafd5c840033f44a31e8557fc1aee9
|
|
||||||
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: 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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB |
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 32916b4706c84ce49860456b9ad4ae9b
|
|
||||||
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: 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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
%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: resdientbarva
|
|
||||||
m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords:
|
|
||||||
- _MAPPING_LATITUDE_LONGITUDE_LAYOUT
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _AlphaTex:
|
|
||||||
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: 2800000, guid: 32916b4706c84ce49860456b9ad4ae9b, type: 3}
|
|
||||||
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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- PixelSnap: 0
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _EnableExternalAlpha: 0
|
|
||||||
- _Exposure: 1
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _ImageType: 0
|
|
||||||
- _Layout: 0
|
|
||||||
- _Mapping: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _MirrorOnBack: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _Rotation: 0
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _Flip: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 89d2bedc1d2a91c41bde57194b987ea9
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
%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: skyboxmapa
|
|
||||||
m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords:
|
|
||||||
- _SUNDISK_HIGH_QUALITY
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _AtmosphereThickness: 1.49
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _Exposure: 0.64
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 1
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _SunDisk: 2
|
|
||||||
- _SunSize: 0.079
|
|
||||||
- _SunSizeConvergence: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 0.38499022, g: 0.5707547, b: 0.5436759, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
- _GroundColor: {r: 0.4265308, g: 0.6367924, b: 0.38447845, a: 1}
|
|
||||||
- _SkyTint: {r: 0.31372374, g: 0.7075472, b: 0.7028023, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0337b365d5f06d243a86ead984b59b6c
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
%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: New Material
|
|
||||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _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}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _BumpScale: 1
|
|
||||||
- _Cutoff: 0.5
|
|
||||||
- _DetailNormalMapScale: 1
|
|
||||||
- _DstBlend: 0
|
|
||||||
- _GlossMapScale: 1
|
|
||||||
- _Glossiness: 0.5
|
|
||||||
- _GlossyReflections: 1
|
|
||||||
- _Metallic: 0
|
|
||||||
- _Mode: 0
|
|
||||||
- _OcclusionStrength: 1
|
|
||||||
- _Parallax: 0.02
|
|
||||||
- _SmoothnessTextureChannel: 0
|
|
||||||
- _SpecularHighlights: 1
|
|
||||||
- _SrcBlend: 1
|
|
||||||
- _UVSec: 0
|
|
||||||
- _ZWrite: 1
|
|
||||||
m_Colors:
|
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 7142a58f80866aba3ae4ffeb79d5f67c
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1508,7 +1508,7 @@ MonoBehaviour:
|
|||||||
m_text: Loading...
|
m_text: Loading...
|
||||||
m_isRightToLeft: 0
|
m_isRightToLeft: 0
|
||||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
m_sharedMaterial: {fileID: 2100000, guid: 9ad269c99dcf42b7aedefd83dd5a7b9d, type: 2}
|
||||||
m_fontSharedMaterials: []
|
m_fontSharedMaterials: []
|
||||||
m_fontMaterial: {fileID: 0}
|
m_fontMaterial: {fileID: 0}
|
||||||
m_fontMaterials: []
|
m_fontMaterials: []
|
||||||
@@ -1669,12 +1669,12 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1010702369}
|
m_GameObject: {fileID: 1010702369}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068}
|
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
m_LocalPosition: {x: 0, y: 29.01, z: 0}
|
m_LocalPosition: {x: 0, y: 290.6, z: 0}
|
||||||
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1161233725}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
||||||
--- !u!1 &1161233721
|
--- !u!1 &1161233721
|
||||||
GameObject:
|
GameObject:
|
||||||
@@ -1788,7 +1788,6 @@ Transform:
|
|||||||
m_ConstrainProportionsScale: 1
|
m_ConstrainProportionsScale: 1
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 751597274}
|
- {fileID: 751597274}
|
||||||
- {fileID: 1010702372}
|
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1222944786
|
--- !u!1 &1222944786
|
||||||
@@ -2234,55 +2233,60 @@ MonoBehaviour:
|
|||||||
m_GameObject: {fileID: 1353866370}
|
m_GameObject: {fileID: 1353866370}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 22bf82e679cf6e1419440d236360ba3b, type: 3}
|
m_Script: {fileID: 11500000, guid: 9e2c3e4ba4e36ea40a686e58feca4d2b, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier: Assembly-CSharp::GameManager
|
m_EditorClassIdentifier: Assembly-CSharp::GameManager
|
||||||
displayName:
|
displayName: Player
|
||||||
JoinCreateLobby: {fileID: 1403738864}
|
JoinCreateLobby: {fileID: 1403738864}
|
||||||
InLobby: {fileID: 12226903}
|
InLobby: {fileID: 12226903}
|
||||||
LoadingScreen: {fileID: 247614966}
|
LoadingScreen: {fileID: 247614966}
|
||||||
GameScreen: {fileID: 1631266632}
|
GameScreen: {fileID: 1631266632}
|
||||||
MapCenterPoint: {fileID: 216559629}
|
MapCenterPoint: {fileID: 216559629}
|
||||||
buildingSettings:
|
buildingSettings:
|
||||||
ResidentialBuildingsMat: {fileID: 2100000, guid: 43a59ce0be297c44a94d4266bc86174d, type: 2}
|
ResidentalBuildingsMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
ResidentialBuildingHeight: 0
|
ResidentalBuildingHeight: 3
|
||||||
CommercialBuildingsMat: {fileID: 2100000, guid: d7a2ebf8eb383bc43a5203bcaf1b63e2, type: 2}
|
CommercialBuildingsMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
CommercialBuildingHeight: 8
|
CommercialBuildingHeight: 10
|
||||||
IndustrialBuildingsMat: {fileID: 2100000, guid: 30078b48eb864694dbcb63ce7a222fc4, type: 2}
|
IndustrialBuildingsMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
IndustrialBuildingHeight: 15
|
IndustrialBuildingHeight: 5
|
||||||
DefaultBuildingMat: {fileID: 2100000, guid: 43a59ce0be297c44a94d4266bc86174d, type: 2}
|
DefaultBuildingMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
DefaultBuildingHeight: 30
|
DefaultBuildingHeight: 3
|
||||||
pathwaySettings:
|
pathwaySettings:
|
||||||
FootwayMat: {fileID: 2100000, guid: fbe49e8a4c50f024989408f62bfdcb33, type: 2}
|
FootwayMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
FootwayWidth: 3
|
FootwayWidth: 1
|
||||||
PathMat: {fileID: 2100000, guid: f745f6d4b3e89844aadf9e01fcf41cf3, type: 2}
|
PathMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
PathWidth: 3
|
PathWidth: 1
|
||||||
StepsMat: {fileID: 2100000, guid: e5e090726056f374dbbd3a626772822f, type: 2}
|
StepsMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
StepsWidth: 4
|
StepsWidth: 2
|
||||||
CyclewayMat: {fileID: 2100000, guid: a83875b5ebf7d7b42a074d07e791fee7, type: 2}
|
CyclewayMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
CyclewayWidth: 4
|
CyclewayWidth: 2
|
||||||
PedestrianMat: {fileID: 2100000, guid: c4c816c88b520f649a38ab2b4e1716f4, type: 2}
|
PedestrianMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
PedestrianWidth: 4
|
PedestrianWidth: 2
|
||||||
RoadMat: {fileID: 2100000, guid: 616bfa229ebc56548ae11df790a4cf12, type: 2}
|
RoadMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
RoadWidth: 5
|
RoadWidth: 5
|
||||||
ServiceMat: {fileID: 2100000, guid: 2faa8c507cbdf4e44bda99e39e5ee03d, type: 2}
|
ServiceMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
ServiceWidth: 5
|
ServiceWidth: 3
|
||||||
ResidentialMat: {fileID: 2100000, guid: 1848627499bdc424fa11b913e3aa2c1d, type: 2}
|
ResidentialMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
ResidentialWidth: 6
|
ResidentialWidth: 5
|
||||||
TrackMat: {fileID: 2100000, guid: 33108960a53974744ae1f1f329275c9d, type: 2}
|
TrackMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
TrackWidth: 6
|
TrackWidth: 5
|
||||||
DefaultMat: {fileID: 2100000, guid: 8be50db4bd8c0aa4e884602af1bdccbc, type: 2}
|
DefaultMat: {fileID: 2100000, guid: 6744524496c8e1549882277283c132cc, type: 2}
|
||||||
DefaultWidth: 5
|
DefaultWidth: 5
|
||||||
areaSettings:
|
areaSettings:
|
||||||
ParkMat: {fileID: 0}
|
ParkMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
GardenMat: {fileID: 0}
|
GardenMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
PlaygroundMat: {fileID: 0}
|
PlaygroundMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
ForestMat: {fileID: 0}
|
ForestMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
GrassMat: {fileID: 0}
|
GrassMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
WaterMat: {fileID: 0}
|
WaterMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
DefaultMat: {fileID: 0}
|
DefaultMat: {fileID: 2100000, guid: 5a46533bdf4003449bc9146ccef44e27, type: 2}
|
||||||
Player: {fileID: 1161233721}
|
Player: {fileID: 1161233721}
|
||||||
testMode: 1
|
testMode: 1
|
||||||
|
AvailableTasks:
|
||||||
|
- TaskPrefab: {fileID: 0}
|
||||||
|
Stations:
|
||||||
|
- Type: 0
|
||||||
|
Prefab: {fileID: 0}
|
||||||
--- !u!1 &1403738861
|
--- !u!1 &1403738861
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -2349,7 +2353,7 @@ Canvas:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1403738861}
|
m_GameObject: {fileID: 1403738861}
|
||||||
m_Enabled: 1
|
m_Enabled: 0
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_RenderMode: 1
|
m_RenderMode: 1
|
||||||
m_Camera: {fileID: 1010702371}
|
m_Camera: {fileID: 1010702371}
|
||||||
@@ -3422,9 +3426,10 @@ CanvasRenderer:
|
|||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_Roots:
|
m_Roots:
|
||||||
|
- {fileID: 1010702372}
|
||||||
- {fileID: 442151208}
|
- {fileID: 442151208}
|
||||||
- {fileID: 1403738865}
|
|
||||||
- {fileID: 1353866371}
|
- {fileID: 1353866371}
|
||||||
|
- {fileID: 1403738865}
|
||||||
- {fileID: 157221436}
|
- {fileID: 157221436}
|
||||||
- {fileID: 12226904}
|
- {fileID: 12226904}
|
||||||
- {fileID: 247614967}
|
- {fileID: 247614967}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 99349b837685d91408e5eb5bac237678
|
guid: 8f736798e2d13f14f903b26a2df0eed8
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0d2bf6fbc15c94c4db51c326dbaa84ee
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 42774ddf02ffd1747898d12625c667b0
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 3347745980e97824f9dda5b6043b57e7
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
@@ -1,23 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: fa27202025a24b6418e644af57608959
|
|
||||||
AudioImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 8
|
|
||||||
defaultSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
loadType: 0
|
|
||||||
sampleRateSetting: 0
|
|
||||||
sampleRateOverride: 44100
|
|
||||||
compressionFormat: 1
|
|
||||||
quality: 1
|
|
||||||
conversionMode: 0
|
|
||||||
preloadAudioData: 0
|
|
||||||
platformSettingOverrides: {}
|
|
||||||
forceToMono: 0
|
|
||||||
normalize: 1
|
|
||||||
loadInBackground: 0
|
|
||||||
ambisonic: 0
|
|
||||||
3D: 1
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 6b025445e5a6de74780d752e5354a0a9
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,143 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: bbe6dc8ab03108a488246bb64d4078ff
|
|
||||||
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: 2
|
|
||||||
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
|
|
||||||
- serializedVersion: 4
|
|
||||||
buildTarget: iOS
|
|
||||||
maxTextureSize: 2048
|
|
||||||
resizeAlgorithm: 0
|
|
||||||
textureFormat: -1
|
|
||||||
textureCompression: 1
|
|
||||||
compressionQuality: 50
|
|
||||||
crunchedCompression: 0
|
|
||||||
allowsAlphaSplitting: 0
|
|
||||||
overridden: 0
|
|
||||||
ignorePlatformSupport: 0
|
|
||||||
androidETC2FallbackOverride: 0
|
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
|
||||||
spriteSheet:
|
|
||||||
serializedVersion: 2
|
|
||||||
sprites: []
|
|
||||||
outline: []
|
|
||||||
customData:
|
|
||||||
physicsShape: []
|
|
||||||
bones: []
|
|
||||||
spriteID:
|
|
||||||
internalID: 0
|
|
||||||
vertices: []
|
|
||||||
indices:
|
|
||||||
edges: []
|
|
||||||
weights: []
|
|
||||||
secondaryTextures: []
|
|
||||||
spriteCustomMetadata:
|
|
||||||
entries: []
|
|
||||||
nameFileIdTable: {}
|
|
||||||
mipmapLimitGroupName:
|
|
||||||
pSDRemoveMatte: 0
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 0cff73c6845b7cb40877239c2a7e25fc
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
%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: HDR_multi_nebulae_1
|
|
||||||
m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_Parent: {fileID: 0}
|
|
||||||
m_ModifiedSerializedProperties: 0
|
|
||||||
m_ValidKeywords: []
|
|
||||||
m_InvalidKeywords: []
|
|
||||||
m_LightmapFlags: 4
|
|
||||||
m_EnableInstancingVariants: 0
|
|
||||||
m_DoubleSidedGI: 0
|
|
||||||
m_CustomRenderQueue: -1
|
|
||||||
stringTagMap: {}
|
|
||||||
disabledShaderPasses: []
|
|
||||||
m_LockedProperties:
|
|
||||||
m_SavedProperties:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TexEnvs:
|
|
||||||
- _Tex:
|
|
||||||
m_Texture: {fileID: 8900000, guid: bbe6dc8ab03108a488246bb64d4078ff, type: 3}
|
|
||||||
m_Scale: {x: 1, y: 1}
|
|
||||||
m_Offset: {x: 0, y: 0}
|
|
||||||
m_Ints: []
|
|
||||||
m_Floats:
|
|
||||||
- _Exposure: 1
|
|
||||||
- _Rotation: 0
|
|
||||||
m_Colors:
|
|
||||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
||||||
m_BuildTextureStacks: []
|
|
||||||
m_AllowLocking: 1
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 628af2744593aaf4fbadc7aec37b8b41
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
mainObjectFileID: 2100000
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 52bdfdf1d7e2c6c40a8cdd507da420a8
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user