Khoatv: update UI

parent 879061cf
fileFormatVersion: 2
guid: 4bf1245308c30bc429eab21c505053b9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.Events;
using net.krej.FPSCounter;
namespace net.krej.AutoQualityChooser {
[RequireComponent(typeof(FramerateCounter))]
public class AutoQualityChooser : net.krej.Singleton.Singleton<AutoQualityChooser> {
public UnityEvent onQualityChange;
public AutoQualityChooserSettings settings = new AutoQualityChooserSettings();
private FramerateCounter framerateCounter;
public int secondsBeforeDecreasingQuality = 5;
private readonly QualityChanger qualityChanger = new QualityChanger();
void Awake() {
if(AreTooManyOnScene())Destroy(gameObject);
}
void Start() {
framerateCounter = GetComponent<FramerateCounter>();
SetProperStartQuality();
framerateCounter.ResetTimeLeft();
framerateCounter.onFramerateCalculated.AddListener(OnFramerateUpdated);
ResetQualityDowngradeTimer();
}
private void SetProperStartQuality() {
var startQuality = settings.startQuality;
#if UNITY_EDITOR
startQuality = settings.startQualityInUnityEditor;
#endif
if (startQuality == -1) startQuality = QualitySettings.names.Length - 1;
qualityChanger.SetQuality(startQuality);
}
private void ResetQualityDowngradeTimer(){
secondsBeforeDecreasingQuality = settings.timeBeforeQualityDowngrade;
}
private void OnFramerateUpdated() {
if(!enabled)return;
if (IsFramerateTooLow()) secondsBeforeDecreasingQuality--;
else ResetQualityDowngradeTimer();
if (secondsBeforeDecreasingQuality < 0) DecreaseQuality();
}
private bool IsFramerateTooLow(){
return framerateCounter.currentFrameRate < settings.minAcceptableFramerate;
}
private void DecreaseQuality(){
qualityChanger.DecreaseQuality();
ResetQualityDowngradeTimer();
}
}
}
fileFormatVersion: 2
guid: 04bbdbb5b8af59845a0d3b8ba76d2ff9
timeCreated: 1473966444
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e229f5944d9cdc549ab78061f2361f4d
folderAsset: yes
timeCreated: 1459079638
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
namespace net.krej.AutoQualityChooser {
[System.Serializable] public class AutoQualityChooserSettings {
/// <summary>
/// Disable component if user changed quality manually (for example in menu)
/// </summary>
public bool disableAfterManualQualityChange = true;
/// <summary>
/// Which quality should be chosen on start (-1 = highest possible)
/// </summary>
public int startQuality = -1;
/// <summary>
/// Which quality should be chosen on start in Unity Editor. This is mostly for debug purposes (-1 = highest possible)
/// </summary>
public int startQualityInUnityEditor = -1;
/// <summary>
/// Minimal framerate (if current FPS is lower for too long, quality should decrease immediately)
/// </summary>
public float minAcceptableFramerate = 20;
/// <summary>
/// If framrate will be lower than minimal for longer than this value, quality will decrease
/// </summary>
public int timeBeforeQualityDowngrade = 5;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: f5f7450515536524ebd3c754ea01632e
timeCreated: 1459080299
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
public class DontDestroyOnLoad : MonoBehaviour {
void Start () {
DontDestroyOnLoad(gameObject);
}
}
fileFormatVersion: 2
guid: 587e08f9ecddf31429322cf967b9a307
timeCreated: 1473856481
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ec91203ba9cc06f4d94107b6f6a858e8
folderAsset: yes
timeCreated: 1460652609
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
using System.Linq;
using UnityEngine;
using UnityEditor;
namespace net.krej.AutoQualityChooser {
[CustomEditor(typeof(AutoQualityChooser))]
public class AutoQualityChooserEditor : Editor {
private AutoQualityChooser mTarget;
private AutoQualityChooserSettings settings;
void OnEnable() {
mTarget = target as AutoQualityChooser;
settings = mTarget.settings;
}
public override void OnInspectorGUI() {
ShowCurrentQuality();
GUILayout.Label(string.Format("If framerate will be lower than {0}FPS for {1} seconds,\nquality will decrease.", settings.minAcceptableFramerate, settings.timeBeforeQualityDowngrade), EditorStyles.objectFieldThumb);
DrawExpandableSettingsInspector();
if(Application.isPlaying)DrawPlayModeInspector();
}
private void ShowCurrentQuality() {
GUILayout.Label(QualityChanger.GetCurrentQualityName());
}
private void DrawPlayModeInspector(){
GUILayout.Label(string.Format("Time with low FPS: {0}/{1}s", settings.timeBeforeQualityDowngrade - mTarget.secondsBeforeDecreasingQuality, settings.timeBeforeQualityDowngrade));
}
private static bool settingsOpen = true;
private void DrawExpandableSettingsInspector() {
settingsOpen = EditorGUILayout.Foldout(settingsOpen, "Settings");
if (settingsOpen) DrawSettingsInspector();
}
private void DrawSettingsInspector() {
DrawMinimalFramerateSlider();
DrawTimeBeforeQualityDowngradeSlider();
GUILayout.Space(15);
GUILayout.Label("Default quality on start:");
DrawStartQualityDropdown();
DrawEditorQualityDropdown();
GUILayout.Space(15);
DrawLinkToUnityQuality();
GUILayout.Space(15);
DrawDisableAfterManualQualityChangeToggle();
GUILayout.Space(15);
DrawOnQualityChangeEventField();
}
private void DrawMinimalFramerateSlider() {
var newFps = EditorGUILayout.IntSlider("Min. FPS", Mathf.RoundToInt(settings.minAcceptableFramerate), 2, 60);
if (newFps != Mathf.RoundToInt(settings.minAcceptableFramerate)) {
Undo.RecordObject(mTarget, "Changed minimal acceptable framerate");
settings.minAcceptableFramerate = newFps;
}
}
private void DrawTimeBeforeQualityDowngradeSlider() {
var newTime = EditorGUILayout.IntSlider("Max low FPS seconds", settings.timeBeforeQualityDowngrade, 2, 30);
if (newTime != settings.timeBeforeQualityDowngrade) {
Undo.RecordObject(mTarget, "Changed maximal acceptable time with FPS lower than min.");
settings.timeBeforeQualityDowngrade = newTime;
}
}
private void DrawDisableAfterManualQualityChangeToggle() {
var newToggleValue = GUILayout.Toggle(settings.disableAfterManualQualityChange, "Disable after manual quality change");
if (newToggleValue != settings.disableAfterManualQualityChange) {
Undo.RecordObject(mTarget, "Changed diasble after manual quality change toggle");
settings.disableAfterManualQualityChange = newToggleValue;
}
}
private void DrawStartQualityDropdown() {
var newDropdownValue = DrawQualityDropdown(settings.startQuality, " for build");
if (settings.startQuality != newDropdownValue) {
Undo.RecordObject(mTarget, "Start quality changed");
settings.startQuality = newDropdownValue;
}
if( newDropdownValue!=-1 ) GUILayout.Label("Warning: Setting start quality to less than highest one is not recommended.");
}
private void DrawEditorQualityDropdown() {
var newDropdownValue = DrawQualityDropdown(settings.startQualityInUnityEditor, " for Unity Editor");
if (settings.startQualityInUnityEditor != newDropdownValue) {
Undo.RecordObject(mTarget, "Start quality for Unity Editor changed");
settings.startQualityInUnityEditor = newDropdownValue;
}
}
private void DrawLinkToUnityQuality() {
if(GUILayout.Button("Quality Settings")) {
EditorApplication.ExecuteMenuItem("Edit/Project Settings/Quality");
}
}
private void DrawOnQualityChangeEventField() {
serializedObject.Update();
SerializedProperty prop = serializedObject.FindProperty("onQualityChange");
EditorGUILayout.PropertyField(prop);
serializedObject.ApplyModifiedProperties();
}
static int DrawQualityDropdown(int selected, string description) {
var options = QualitySettings.names;
if (selected == -1) selected = QualitySettings.names.Length - 1;
selected = EditorGUILayout.Popup(description, selected, options);
if (selected == QualitySettings.names.Length - 1) selected = -1;
return selected;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: b620967c417a3914b9802530ae5a1416
timeCreated: 1460652630
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEditor;
using net.krej.FPSCounter;
namespace net.krej.AutoQualityChooser{
[CustomEditor(typeof (FramerateCounter))] public class FramerateCounterEditor : Editor{
private FramerateCounter mTarget;
public void OnEnable(){
mTarget = target as FramerateCounter;
}
public override void OnInspectorGUI(){
if (EditorApplication.isPlaying)
DrawPlayModeInspector();
else DrawOutsideOfPlaymodeInformation();
}
private void DrawPlayModeInspector(){
GUILayout.Label(string.Format("{0} FPS", mTarget.currentFrameRate.ToString("0.0")));
}
private void DrawOutsideOfPlaymodeInformation() {
GUILayout.Label("FPS info will be shown in play mode.");
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: fdc2c41c4c255cd4499a99cd0ca7c7f0
timeCreated: 1460652662
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.Events;
namespace net.krej.FPSCounter {
public class FramerateCounter : net.krej.Singleton.Singleton<FramerateCounter>{
public float currentFrameRate;
public UnityEvent onFramerateCalculated = new UnityEvent();
private float updateRate = 1.0f;
private float accum = 0; // FPS accumulated over the interval
private int frames = 0; // Frames drawn over the interval
private float timeleft; // Left time for current interval
private void Update(){
timeleft -= Time.deltaTime;
accum += Time.timeScale/Time.deltaTime;
++frames;
if (timeleft <= 0.0) StartNewInterval();
}
private void StartNewInterval(){
currentFrameRate = accum/frames;
ResetTimeLeft();
accum = 0.0F;
frames = 0;
onFramerateCalculated.Invoke();
}
public void ResetTimeLeft(){
timeleft = 1.0f/updateRate;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 0ae5389baa38a8d42bec30e76b94e9ee
timeCreated: 1459080395
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
using net.krej.AutoQualityChooser;
using net.krej.FPSCounter;
public class FramerateCounterDisplay : MonoBehaviour {
private void OnGUI() {
ShowFpsInCorner();
}
const int FPS_BOX_WIDTH = 128;
const int FPS_BOX_HEIGHT = 32;
private void ShowFpsInCorner() {
var fpsTextStyle = new GUIStyle(GUI.skin.box) { fontSize = 10, alignment = TextAnchor.MiddleCenter, richText = true };
var txt = string.Format("<color=white><size=12><B>Auto Quality Chooser</B></size>\n{1}FPS ({0})</color>", QualityChanger.GetCurrentQualityName(), FramerateCounter.Instance.currentFrameRate.ToString("0"));
GUI.Box(new Rect(0, 0, FPS_BOX_WIDTH, FPS_BOX_HEIGHT), txt, fpsTextStyle);
}
}
fileFormatVersion: 2
guid: 0a7ab175bdf3ee4429231a70ddb25b88
timeCreated: 1474487344
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
namespace net.krej.AutoQualityChooser
{
public class QualityChanger
{
private int currQuality = -1;
public string currentQuality;
public void IncreaseQuality() {
AddToQuality(1);
}
public void DecreaseQuality() {
AddToQuality(-1);
}
private void AddToQuality(int amount) {
if (AutoQualityChooser.Instance.settings.disableAfterManualQualityChange && currQuality >= 0 && currQuality != QualitySettings.GetQualityLevel()) {
// After manual quality change
AutoQualityChooser.Instance.enabled = false;
return;
}
currQuality = QualitySettings.GetQualityLevel();
SetQuality(currQuality + amount);
}
public void SetQuality(int value) {
if (value < 0) return;
if (value >= QualitySettings.names.Length) value = QualitySettings.names.Length - 1;
currQuality = QualitySettings.GetQualityLevel();
if (value != currQuality) {
QualitySettings.SetQualityLevel(value, false);
currQuality = QualitySettings.GetQualityLevel();
currentQuality = "" + currQuality + " (" + QualitySettings.names[currQuality] + ")";
if (AutoQualityChooser.Instance.onQualityChange != null) AutoQualityChooser.Instance.onQualityChange.Invoke();
}
else {
currentQuality = "" + currQuality + " (" + QualitySettings.names[currQuality] + ")";
}
}
public static string GetCurrentQualityName(){
var currQuality = QualitySettings.GetQualityLevel();
var currentQuality = string.Format("{0}/{1}: {2}", currQuality+1, QualitySettings.names.Length, QualitySettings.names[currQuality]);
return currentQuality;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 17bd5fad47836b744922209eaa0b981f
timeCreated: 1459170352
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
namespace net.krej.Singleton {
public class Singleton<T> : SingletonBase where T : MonoBehaviour {
public const string LOG_TAG = "[singleton] ";
private static T instance;
/// <summary>
/// Returns the instance of this singleton.
/// </summary>
public static T Instance {
get {
Instantiate();
return instance;
}
}
public static T InstanceOrNull {
get { return instance ?? (instance = (T)FindObjectOfType(typeof(T))); }
}
public static bool Exists() {
return InstanceOrNull != null;
}
public override void Elect() {
instance = this as T;
}
/// <summary>
/// If instance is not on scene, create it.
/// </summary>
public static void Instantiate() {
if (ReferenceEquals(instance, null)) {
var instances = FindObjectsOfType(typeof(T));
if (instances.Length > 1)
Debug.LogError(
LOG_TAG + "<B>Doubleton?</B> Do you really want two instances of <B><i>" + typeof(T).Name +
"</i></B>?\n", instances[1]);
if (instances.Length >= 1) instance = (T)instances[0];
if (ReferenceEquals(instance, null)) {
Debug.Log(LOG_TAG + "Creating " + typeof(T).Name +
" Singleton instance on the fly. \n\tTo have it's fields configured, add it manually to a GameObject");
instance = new GameObject(typeof(T).Name).AddComponent<T>();
instance.SendMessage("OnInstantiate");
}
}
}
public static bool AreTooManyOnScene() {
var instances = FindObjectsOfType(typeof(T));
return instances.Length > 1;
}
protected virtual void OnInstantiate() {
}
public static Transform STransform {
get { return Instance.transform; }
}
public static Vector3 SPosition {
get { return Instance.transform.position; }
set { Instance.transform.position = value; }
}
public static GameObject SGameObject {
get { return Instance.gameObject; }
}
public static Rigidbody SRigidbody {
get { return Instance.GetComponent<Rigidbody>(); }
}
public virtual void OnDestroy() {
instance = null;
}
}
public abstract class SingletonBase : MonoBehaviour {
public abstract void Elect();
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 01904fb8728e3584d8cab405fccbcd51
timeCreated: 1473966489
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 798e2a4f43747e242989453e620fb88f
folderAsset: yes
timeCreated: 1460650920
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d5791465625e18d4dac1664fc16420be
folderAsset: yes
timeCreated: 1460650934
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.UI;
using net.krej.AutoQualityChooser;
using net.krej.FPSCounter;
public class BenchmarkSummaryText : MonoBehaviour{
public ParticleSystem particles;
private Text text;
void Start (){
text = GetComponent<Text>();
// Here I could do:
// AutoQualityChooser.Instance.onQualityChange.AddListener(SaveCurrentLine);
// But instead I'm attaching it in inspector.
}
private string currentLine;
private string oldLines;
private int maxParticles;
void Update (){
maxParticles = Mathf.Max(maxParticles, particles.particleCount);
currentLine = string.Format("Quality: {0} - {1} particles, {2}FPS \n" , QualityChanger.GetCurrentQualityName(), maxParticles, FramerateCounter.Instance.currentFrameRate.ToString("0.0"));
text.text = oldLines + currentLine;
}
public void GoToNextLine(){
oldLines += currentLine;
}
}
fileFormatVersion: 2
guid: ca7f403aa55ac1e4d99b0ca08da95645
timeCreated: 1460903750
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using net.krej.AutoQualityChooser;
using net.krej.FPSCounter;
public class ParticleAmountIncreaser : MonoBehaviour {
private ParticleSystem particles;
void Start() {
particles = GetComponent<ParticleSystem>();
SetEmissionRate(0);
}
void Update() {
if (FramerateCounter.Instance.currentFrameRate >= 0.9 * AutoQualityChooser.Instance.settings.minAcceptableFramerate)
SetEmissionRate(GetEmissionRate() + Time.deltaTime * 10);
}
void SetEmissionRate(float value) {
#if UNITY_5_3_OR_NEWER
var emission = particles.emission;
var rate = emission.rate;
rate.constantMax = value;
emission.rate = rate;
#else
particles.emissionRate = value;
#endif
}
float GetEmissionRate() {
#if UNITY_5_3_OR_NEWER
return particles.emission.rate.constantMax;
#else
return particles.emissionRate;
#endif
}
}
fileFormatVersion: 2
guid: 53eb774d0ba90bf4cad9c36db5e4f7d7
timeCreated: 1460650961
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: b2e782ed666fbcb4db4f24b4bd3835aa
timeCreated: 1460489364
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: ee33ba8a18b7817478c5091ce4a6494c
folderAsset: yes
timeCreated: 1473966503
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &147364
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 4
m_Component:
- 4: {fileID: 485626}
- 114: {fileID: 11459944}
- 114: {fileID: 11433392}
- 114: {fileID: 11469442}
m_Layer: 0
m_Name: Auto Quality Chooser
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &485626
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 147364}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
--- !u!114 &11433392
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 147364}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ae5389baa38a8d42bec30e76b94e9ee, type: 3}
m_Name:
m_EditorClassIdentifier:
currentFrameRate: 0
onFramerateCalculated:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null
--- !u!114 &11459944
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 147364}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 587e08f9ecddf31429322cf967b9a307, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &11469442
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 147364}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 04bbdbb5b8af59845a0d3b8ba76d2ff9, type: 3}
m_Name:
m_EditorClassIdentifier:
onQualityChange:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null
settings:
disableAfterManualQualityChange: 1
forceBestQualityOnStart: 1
minAcceptableFramerate: 40
timeBeforeQualityDowngrade: 5
secondsBeforeDecreasingQuality: 5
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 0}
propertyPath: showFpsInGame
value: 0
objectReference: {fileID: 0}
- target: {fileID: 0}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 0}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 0}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 147364}
m_IsPrefabParent: 1
fileFormatVersion: 2
guid: 5b1c0debe6ab51942982bbd9b44d7939
timeCreated: 1473966573
licenseType: Store
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:
Thanks for buying the Auto Quality Chooser Package. Here's some info to help get you started.
== What it does? ==
If someone is playing your game, he wants the highest possible quality, unless his machine is not good enough to handle it. And this plugin is intended to guarantee exactly that.
* At default it sets quality to highest possible.
* If player's machine is handle this quality with decent framerate, it does nothing.
* If however player's machine is too slow, it will decrease quality up to point when FPS will be good enough.
== How to use it? ==
Drag "AutoQualityChooser" script on any (exactly one) gameobject in hierarchy. If you use one camera in your game, it is good choice. If you have multiple cameras, you can create empty gameobject and attach "AutoQualityChooser" script to it.
== How to set possible quality variants ==
To choose details of quality settings for your project, please click Edit -> Project Settings -> Quality from top menu.
Documentation for this tool is available here: http://docs.unity3d.com/Manual/class-QualitySettings.html
This is standard Unity tool for defining quality setting for your project. AutoQualityChooser is not intended to replace it, but to work with it. Unity tool itself is able to assign *one* quality to particular device. AutoQualityChooser is able to select best quality option particular machine is able to handle from all options available.
== Why cannot I set minimal framerate to more than 50 FPS? ==
This slider is minimal acceptable framerate, not desired framerate. Your game still can work with more FPS than that.
Since start of game, AutoQualityChooser checks current framerate. If it is good enough, it will do nothing, just keep best quality set. But if for longer than 5 seconds FPS will be lower than whatever you set on slider, it will decrease quality.
I have set this limit to 50, because I believe that if your game is running with 50FPS there is no point in decreasing quality. If you however have very specific demands and want to change this value, limit is set in AutoQualityChooserInspector.cs file.
== How does it work? ==
If game will run with framerate lower than minimal acceptable value set in configuration for 5 seconds, quality will automatically decrease.
== How to choose minimal acceptable FPS rate? ==
Select gameobject with AutoQualityChooser script attached. In inspector expand Settings. You'll have slider to select minimal acceptable FPS there.
== How to trigger custom behaviour on quality change? ==
Select gameobject with AutoQualityChooser script attached. In inspector expand Settings. Drag gameobject with script you want to trigger into "On Quality Change" field.
Select exact function from droplist. Alternatively you can do same from code by writing "AutoQualityChooser.Instance.onQualityChange.AddListener(FunctionToTrigger);"
== What if I have more questions or feature requests? ==
Just mail me at kris@krej.net
\ No newline at end of file
fileFormatVersion: 2
guid: cdb430f9ea1d8f44db377dc670d43e70
timeCreated: 1461533090
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 5eddf741983b62c4d835aa612d8b4249
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 8a9ca2d1baeb186449724a1e14b34e33
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Fredoka One
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!687078895 &4343727234628468602
SpriteAtlas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: AtlasHome
m_EditorData:
serializedVersion: 2
textureSettings:
serializedVersion: 2
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
readable: 0
crunchedCompression: 0
sRGB: 1
platformSettings:
- serializedVersion: 3
m_BuildTarget: DefaultTexturePlatform
m_MaxTextureSize: 4096
m_ResizeAlgorithm: 0
m_TextureFormat: -1
m_TextureCompression: 1
m_CompressionQuality: 90
m_CrunchedCompression: 1
m_AllowsAlphaSplitting: 0
m_Overridden: 0
m_AndroidETC2FallbackOverride: 0
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
m_BuildTarget: Android
m_MaxTextureSize: 4096
m_ResizeAlgorithm: 0
m_TextureFormat: 65
m_TextureCompression: 1
m_CompressionQuality: 90
m_CrunchedCompression: 1
m_AllowsAlphaSplitting: 0
m_Overridden: 1
m_AndroidETC2FallbackOverride: 0
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 1
enableTightPacking: 0
secondaryTextureSettings: {}
variantMultiplier: 1
packables:
- {fileID: 102900000, guid: 46b8213069de6c1488614ed9a0b92bf0, type: 3}
- {fileID: 102900000, guid: 7acfc0eb214c6e04fbd4c3caa6e89c00, type: 3}
totalSpriteSurfaceArea: 3304240
bindAsDefault: 1
isAtlasV2: 0
cachedData: {fileID: 0}
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: 9a6c81303ce4bd34abce4b2ab872e1ec, type: 3}
- {fileID: 21300000, guid: 611b4d7039dc7824ba427e4632391aa9, type: 3}
- {fileID: 21300000, guid: e55209c12437b6742b750b1abca32da7, type: 3}
- {fileID: 21300000, guid: a02d9fe10e9d9004b86f71322dafa117, type: 3}
- {fileID: 21300000, guid: 677d93f11aa2d8b4e8929c5e365ab1ae, type: 3}
- {fileID: 21300000, guid: 0227d0e29c1df30459c603e77cd502a8, type: 3}
- {fileID: 21300000, guid: de2dcae2a9f766a4da11236865f25354, type: 3}
- {fileID: 21300000, guid: 8e1ad1436af7559459383702ca84a2f5, type: 3}
- {fileID: 21300000, guid: 2cda19a3750dca943a58b4feba9e8d58, type: 3}
- {fileID: 21300000, guid: cab868d3b8c2bb845960e011c6ee6ecc, type: 3}
- {fileID: 21300000, guid: d4d60fa4dea209e4190b569d2c844071, type: 3}
- {fileID: 21300000, guid: 55cf8615db166fb46aff1d6de1e132c1, type: 3}
- {fileID: 21300000, guid: 1123cf151fb986c45ab72c9e54a695a8, type: 3}
- {fileID: 21300000, guid: e4298c259d6e51e49939589688fa8e41, type: 3}
- {fileID: 21300000, guid: d35970754e4c4394faf1e401f6e8f61d, type: 3}
- {fileID: 21300000, guid: e8054d85805fa284caa3bd1f086e7583, type: 3}
- {fileID: 21300000, guid: eba572f622a569146ac2a443ad038e4e, type: 3}
- {fileID: 21300000, guid: 87722c67cdf04b84aac069a07619e276, type: 3}
- {fileID: 21300000, guid: f840a0082e0d32c4db5a38ccbe33fa8b, type: 3}
- {fileID: 21300000, guid: 7045fa68f1ab1444fb08fcb25de16266, type: 3}
- {fileID: 21300000, guid: daa45778fd918814c9786d6eb05aedba, type: 3}
- {fileID: 21300000, guid: 02bc36598a7db27409a2b33c4632cbec, type: 3}
- {fileID: 21300000, guid: f52e1569517046d4fbe9dc599cbc36ce, type: 3}
- {fileID: 21300000, guid: 675c1399d1abdc647bed8b49854833cf, type: 3}
- {fileID: 21300000, guid: 7840adba78bab474ba08d514eaf59d0b, type: 3}
- {fileID: 21300000, guid: 15b7d30bb440166479e0958739a96d6e, type: 3}
- {fileID: 21300000, guid: a5fb6c1b56a36a54daec253addbf544c, type: 3}
- {fileID: 21300000, guid: 72ed93bb5c5121e439ab5a1bb1669014, type: 3}
- {fileID: 21300000, guid: e824befbe18681c47abaed936763f55c, type: 3}
- {fileID: 21300000, guid: 9646c57d55c1f684fa93481c2e514293, type: 3}
- {fileID: 21300000, guid: 4d13aa9f938e41841a86badb1f9a89fb, type: 3}
m_PackedSpriteNamesToIndex:
- Group 8 copy 2
- G copy
- Group 6
- Group 6 copy 2
- Shape 27
- unbox
- Group 2
- Group 2 copy
- Group 5 copy
- Layer 11
- Layer 15
- Layer 13
- Shape 18
- Shape 29
- Layer 7
- Group 4
- Group 1 copy 2
- Layer 18
- Group 6
- Layer 17
- Shape 25 copy 2
- Shape 23 copy 2
- Shape 25 copy
- Group 5
- Group 10
- Group 1 copy
- '!'
- Group 5
- Group 4
- Group 2 copy 2
- Layer 7 copy
m_RenderDataMap: {}
m_Tag: AtlasHome
m_IsVariant: 0
fileFormatVersion: 2
guid: 45fd8accc5b563a419359cd90e964f46
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4343727234628468602
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!687078895 &4343727234628468602
SpriteAtlas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: AtlasIngame
m_EditorData:
serializedVersion: 2
textureSettings:
serializedVersion: 2
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
readable: 0
crunchedCompression: 0
sRGB: 1
platformSettings:
- serializedVersion: 3
m_BuildTarget: DefaultTexturePlatform
m_MaxTextureSize: 2048
m_ResizeAlgorithm: 0
m_TextureFormat: -1
m_TextureCompression: 1
m_CompressionQuality: 80
m_CrunchedCompression: 1
m_AllowsAlphaSplitting: 0
m_Overridden: 0
m_AndroidETC2FallbackOverride: 0
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 1
enableTightPacking: 0
secondaryTextureSettings: {}
variantMultiplier: 1
packables:
- {fileID: 102900000, guid: 0600fe3b781e4e14984a8399a0fd9d6c, type: 3}
totalSpriteSurfaceArea: 674192
bindAsDefault: 1
isAtlasV2: 0
cachedData: {fileID: 0}
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: 8b41aea0ef2cef34fad24d328bb6c056, type: 3}
- {fileID: 21300000, guid: 1ddcdc5116b0a474088ee39d52589685, type: 3}
- {fileID: 21300000, guid: e51831521adbcca40b0e772906e25d74, type: 3}
- {fileID: 21300000, guid: d30c2f4341caaca40a5d0006a76437b1, type: 3}
- {fileID: 21300000, guid: 5279b873594575748b3f18ac7304f5f9, type: 3}
- {fileID: 21300000, guid: b2ad238330c074e40959ee9c2a0d4e37, type: 3}
- {fileID: 21300000, guid: ebc8c494c60462542a1a4de139db4a9f, type: 3}
- {fileID: 21300000, guid: 954f32352808e4d4ab60e0f967987380, type: 3}
- {fileID: 21300000, guid: 88259e35e52724141aceaf0ffaa96469, type: 3}
- {fileID: 21300000, guid: b877e295e04e0c7428cc1a05e7718134, type: 3}
- {fileID: 21300000, guid: ea053006b2da9bb43af377ebc25c1127, type: 3}
- {fileID: 21300000, guid: 9c8b4926450d9a841a7d92de8c7f1212, type: 3}
- {fileID: 21300000, guid: d7e06e263c3b33d46a5de0e2f047add5, type: 3}
- {fileID: 21300000, guid: 3bb7e03633e80174b90793dbe6c55118, type: 3}
- {fileID: 21300000, guid: c89d5b86e660c6f409faae19cda9d7e9, type: 3}
- {fileID: 21300000, guid: ac50fef641504ed4c99054a0fe5a3765, type: 3}
- {fileID: 21300000, guid: 98c79c48f73d37c4285792afe9892891, type: 3}
- {fileID: 21300000, guid: 7ff22fb87fb443644b460c57ae3ae2bb, type: 3}
- {fileID: 21300000, guid: ee18d499bc4829447b042a4b4083a6a2, type: 3}
- {fileID: 21300000, guid: bafbaecc10ba0624c835ee512281869e, type: 3}
- {fileID: 21300000, guid: ba56c04d7a1dfa94aabe6cf7534e1197, type: 3}
- {fileID: 21300000, guid: 57e0835dc3d220d46b5de932ed6ba0f6, type: 3}
- {fileID: 21300000, guid: 14a2438d65d0d4041a78f48370da77e9, type: 3}
m_PackedSpriteNamesToIndex:
- Group 9
- Shape 13 copy
- Shape 15
- Shape 14
- Shape 8
- Skill_03
- Shape 1 copy
- Layer 26
- Layer 71
- Shape 10 copy
- Skill_05
- Layer 50
- Skill_02
- Skill_01
- Shape 3 copy 2
- Skill_04
- Shape 13
- Shape 10
- Layer 72
- Skill_06
- Layer 65
- Shape 11
- Shape 3 copy
m_RenderDataMap: {}
m_Tag: AtlasIngame
m_IsVariant: 0
fileFormatVersion: 2
guid: 72efa05b1517ee54b9d7ac6127f85188
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4343727234628468602
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!687078895 &4343727234628468602
SpriteAtlas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: AtlasSplash
m_EditorData:
serializedVersion: 2
textureSettings:
serializedVersion: 2
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
readable: 0
crunchedCompression: 0
sRGB: 1
platformSettings:
- serializedVersion: 3
m_BuildTarget: DefaultTexturePlatform
m_MaxTextureSize: 2048
m_ResizeAlgorithm: 0
m_TextureFormat: -1
m_TextureCompression: 1
m_CompressionQuality: 80
m_CrunchedCompression: 1
m_AllowsAlphaSplitting: 0
m_Overridden: 0
m_AndroidETC2FallbackOverride: 0
m_ForceMaximumCompressionQuality_BC6H_BC7: 0
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
secondaryTextureSettings: {}
variantMultiplier: 1
packables:
- {fileID: 102900000, guid: 8f603f98d7a899043932f84ea5946e5d, type: 3}
totalSpriteSurfaceArea: 2902396
bindAsDefault: 1
isAtlasV2: 0
cachedData: {fileID: 0}
m_MasterAtlas: {fileID: 0}
m_PackedSprites:
- {fileID: 21300000, guid: fa00d16152ab84e4ba3a38b7845880a1, type: 3}
- {fileID: 21300000, guid: 636feb152e6a64547b2711bc15eaf9b6, type: 3}
- {fileID: 21300000, guid: 0aec879b9371faf4e93dbda127a59948, type: 3}
- {fileID: 21300000, guid: d67e4efe57f814b4ab71afe2543dcdd9, type: 3}
m_PackedSpriteNamesToIndex:
- Splash_screen
- Layer 28 copy
- Group 6 (merged)
- Layer 28
m_RenderDataMap: {}
m_Tag: AtlasSplash
m_IsVariant: 0
fileFormatVersion: 2
guid: bc7c5e713ccf36c46b42e73edf34bd55
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4343727234628468602
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: cec121e07e13cc2489485f9ea6b4680d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 11980380847ce134790aea141bec0151
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: a530af2629fcbe24eba25f97cb2da93f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 493a08b980781dd428e240f746acfdbc
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 165, y: 0, z: 181, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 6db1496a44d23c4449d14f13ec574ef6
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 46b8213069de6c1488614ed9a0b92bf0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment