Repository: pshtif/RuntimeTransformHandle
Branch: main
Commit: 49d603e54ed2
Files: 99
Total size: 168.7 KB
Directory structure:
gitextract_lbumhs8l/
├── .gitignore
├── Assets/
│ ├── Plugins/
│ │ ├── RuntimeTransformHandle/
│ │ │ ├── Resources/
│ │ │ │ ├── Shaders/
│ │ │ │ │ ├── AdvancedHandleShader.shader
│ │ │ │ │ ├── AdvancedHandleShader.shader.meta
│ │ │ │ │ ├── HandleShader.shader
│ │ │ │ │ └── HandleShader.shader.meta
│ │ │ │ └── Shaders.meta
│ │ │ ├── Resources.meta
│ │ │ ├── RuntimeTransformHandle.asmdef
│ │ │ ├── RuntimeTransformHandle.asmdef.meta
│ │ │ ├── Scripts/
│ │ │ │ ├── Handles/
│ │ │ │ │ ├── HandleAxes.cs
│ │ │ │ │ ├── HandleAxes.cs.meta
│ │ │ │ │ ├── HandleBase.cs
│ │ │ │ │ ├── HandleBase.cs.meta
│ │ │ │ │ ├── HandleSnappingType.cs
│ │ │ │ │ ├── HandleSnappingType.cs.meta
│ │ │ │ │ ├── HandleSpace.cs
│ │ │ │ │ ├── HandleSpace.cs.meta
│ │ │ │ │ ├── HandleType.cs
│ │ │ │ │ ├── HandleType.cs.meta
│ │ │ │ │ ├── Position/
│ │ │ │ │ │ ├── PositionAxis.cs
│ │ │ │ │ │ ├── PositionAxis.cs.meta
│ │ │ │ │ │ ├── PositionHandle.cs
│ │ │ │ │ │ ├── PositionHandle.cs.meta
│ │ │ │ │ │ ├── PositionPlane.cs
│ │ │ │ │ │ └── PositionPlane.cs.meta
│ │ │ │ │ ├── Position.meta
│ │ │ │ │ ├── Rotation/
│ │ │ │ │ │ ├── RotationAxis.cs
│ │ │ │ │ │ ├── RotationAxis.cs.meta
│ │ │ │ │ │ ├── RotationHandle.cs
│ │ │ │ │ │ └── RotationHandle.cs.meta
│ │ │ │ │ ├── Rotation.meta
│ │ │ │ │ ├── Scale/
│ │ │ │ │ │ ├── ScaleAxis.cs
│ │ │ │ │ │ ├── ScaleAxis.cs.meta
│ │ │ │ │ │ ├── ScaleGlobal.cs
│ │ │ │ │ │ ├── ScaleGlobal.cs.meta
│ │ │ │ │ │ ├── ScaleHandle.cs
│ │ │ │ │ │ └── ScaleHandle.cs.meta
│ │ │ │ │ └── Scale.meta
│ │ │ │ ├── Handles.meta
│ │ │ │ ├── RuntimeTransformHandle.cs
│ │ │ │ ├── RuntimeTransformHandle.cs.meta
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── HandleMathUtils.cs
│ │ │ │ │ ├── HandleMathUtils.cs.meta
│ │ │ │ │ ├── MeshUtils.cs
│ │ │ │ │ └── MeshUtils.cs.meta
│ │ │ │ └── Utils.meta
│ │ │ ├── Scripts.meta
│ │ │ ├── Sprites/
│ │ │ │ ├── Move-Icon.png.meta
│ │ │ │ ├── Rotate-Icon.png.meta
│ │ │ │ └── Scale-Icon.png.meta
│ │ │ ├── Sprites.meta
│ │ │ ├── package.json
│ │ │ └── package.json.meta
│ │ └── RuntimeTransformHandle.meta
│ ├── Plugins.meta
│ ├── RuntimeHandleTest.cs
│ ├── RuntimeHandleTest.cs.meta
│ ├── Scenes/
│ │ ├── CubeMaterial.mat
│ │ ├── CubeMaterial.mat.meta
│ │ ├── TestScene.unity
│ │ └── TestScene.unity.meta
│ ├── Scenes.meta
│ ├── Settings/
│ │ ├── ForwardRenderer.asset
│ │ ├── ForwardRenderer.asset.meta
│ │ ├── SampleSceneProfile.asset
│ │ ├── SampleSceneProfile.asset.meta
│ │ ├── UniversalRP-HighQuality.asset
│ │ ├── UniversalRP-HighQuality.asset.meta
│ │ ├── UniversalRP-LowQuality.asset
│ │ ├── UniversalRP-LowQuality.asset.meta
│ │ ├── UniversalRP-MediumQuality.asset
│ │ └── UniversalRP-MediumQuality.asset.meta
│ └── Settings.meta
├── LICENSE
├── Packages/
│ ├── manifest.json
│ └── packages-lock.json
├── ProjectSettings/
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── PackageManagerSettings.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── URPProjectSettings.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ ├── VersionControlSettings.asset
│ └── XRSettings.asset
├── README.md
└── UserSettings/
└── EditorUserSettings.asset
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
/.idea*
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/AdvancedHandleShader.shader
================================================
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
Shader "sHTiF/AdvancedHandleShader"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
_CameraPosition ("Camera Position", Vector) = (0,0,0,0)
_CameraDistance ("Camera Distance", float) = 0
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent+1" }
LOD 100
ZWrite On
ZTest Always
Cull Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct IN
{
float4 vertex : POSITION;
};
struct OUT
{
float4 vertex : SV_POSITION;
float4 positionWS : TEXCOORD1;
};
float4 _Color;
float3 _CameraPosition;
float _CameraDistance;
OUT vert (IN v)
{
OUT o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.positionWS = mul(unity_ObjectToWorld, float4(v.vertex.xyz,1.0));
return o;
}
fixed4 frag (OUT i) : SV_Target
{
if (distance(i.positionWS, _CameraPosition) > _CameraDistance)
return float4(0,0,0,0.1f);
return _Color;
}
ENDCG
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/AdvancedHandleShader.shader.meta
================================================
fileFormatVersion: 2
guid: 1008cb9dd02145ec90ad3213cd72bac8
timeCreated: 1684239200
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/HandleShader.shader
================================================
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
Shader "sHTiF/HandleShader"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
}
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent+1" }
LOD 100
ZWrite On
ZTest Always
Cull Off
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
};
struct v2f
{
float4 vertex : SV_POSITION;
};
float4 _Color;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return _Color;
}
ENDCG
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/HandleShader.shader.meta
================================================
fileFormatVersion: 2
guid: 3f2eb4d1f3e2b144991ccf3f3a019f91
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources/Shaders.meta
================================================
fileFormatVersion: 2
guid: 89706ea9f1b2943b4af61baa2b55853e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Resources.meta
================================================
fileFormatVersion: 2
guid: bed7928ed89f4a7ab2abc3aea954441f
timeCreated: 1603357821
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/RuntimeTransformHandle.asmdef
================================================
{
"name": "RuntimeTransformHandle",
"rootNamespace": "",
"references": [
"GUID:75469ad4d38634e559750d17036d5f7c"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/RuntimeTransformHandle.asmdef.meta
================================================
fileFormatVersion: 2
guid: bd138c7a207f4ee4894d6faa1b365b8c
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleAxes.cs
================================================
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public enum HandleAxes
{
X = 0b100,
Y = 0b010,
Z = 0b001,
XY = 0b110,
XZ = 0b101,
YZ = 0b011,
XYZ = 0b111
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleAxes.cs.meta
================================================
fileFormatVersion: 2
guid: 0f8747d6fd4e4dfbb3654026c416b588
timeCreated: 1603396831
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleBase.cs
================================================
using System;
using System.IO;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public abstract class HandleBase : MonoBehaviour
{
public event Action InteractionStart;
public event Action InteractionEnd;
public event Action<float> InteractionUpdate;
protected RuntimeTransformHandle _parentTransformHandle;
protected Color _defaultColor;
protected Material _material;
protected Vector3 _hitPoint;
protected bool _isInteracting = false;
public float delta;
protected virtual void InitializeMaterial()
{
_material = new Material(Resources.Load("Shaders/HandleShader") as Shader);
_material.color = _defaultColor;
}
public void SetDefaultColor()
{
_material.color = _defaultColor;
}
public void SetColor(Color p_color)
{
_material.color = p_color;
}
public virtual void StartInteraction(Vector3 p_hitPoint)
{
_hitPoint = p_hitPoint;
InteractionStart?.Invoke();
_isInteracting = true;
}
public virtual bool CanInteract(Vector3 p_hitPoint)
{
return true;
}
public virtual void Interact(Vector3 p_previousPosition)
{
InteractionUpdate?.Invoke(delta);
}
public virtual void EndInteraction()
{
_isInteracting = false;
InteractionEnd?.Invoke();
delta = 0;
SetDefaultColor();
}
static public Vector3 GetVectorFromAxes(HandleAxes p_axes)
{
switch (p_axes)
{
case HandleAxes.X:
return new Vector3(1,0,0);
case HandleAxes.Y:
return new Vector3(0,1,0);
case HandleAxes.Z:
return new Vector3(0,0,1);
case HandleAxes.XY:
return new Vector3(1,1,0);
case HandleAxes.XZ:
return new Vector3(1,0,1);
case HandleAxes.YZ:
return new Vector3(0,1,1);
default:
return new Vector3(1,1,1);
}
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleBase.cs.meta
================================================
fileFormatVersion: 2
guid: 18fdd5d34b974458a9622a65624bb704
timeCreated: 1603269597
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSnappingType.cs
================================================
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public enum HandleSnappingType
{
ABSOLUTE,
RELATIVE
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSnappingType.cs.meta
================================================
fileFormatVersion: 2
guid: cfac020ebdcf4d3a835fec9855abd233
timeCreated: 1603399999
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSpace.cs
================================================
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public enum HandleSpace
{
WORLD,
LOCAL
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSpace.cs.meta
================================================
fileFormatVersion: 2
guid: 9873d4af6ebd422187dc7894d4c6774a
timeCreated: 1603316095
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleType.cs
================================================
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public enum HandleType
{
POSITION,
ROTATION,
SCALE
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleType.cs.meta
================================================
fileFormatVersion: 2
guid: ab5ba2a246f74a698d4cf4c4457d2311
timeCreated: 1603294240
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionAxis.cs
================================================
using System;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class PositionAxis : HandleBase
{
protected Vector3 _startPosition;
protected Vector3 _axis;
private Vector3 _interactionOffset;
private Ray _raxisRay;
public PositionAxis Initialize(RuntimeTransformHandle p_runtimeHandle, Vector3 p_axis, Color p_color)
{
_parentTransformHandle = p_runtimeHandle;
_axis = p_axis;
_defaultColor = p_color;
InitializeMaterial();
transform.SetParent(p_runtimeHandle.transform, false);
GameObject o = new GameObject();
o.transform.SetParent(transform, false);
MeshRenderer mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
MeshFilter mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateCone(2f, .02f, .02f, 8, 1);
MeshCollider mc = o.AddComponent<MeshCollider>();
mc.sharedMesh = MeshUtils.CreateCone(2f, .1f, .02f, 8, 1);
o.transform.localRotation = Quaternion.FromToRotation(Vector3.up, p_axis);
o = new GameObject();
o.transform.SetParent(transform, false);
mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateCone(.4f, .2f, .0f, 8, 1);
mc = o.AddComponent<MeshCollider>();
o.transform.localRotation = Quaternion.FromToRotation(Vector3.up, _axis);
o.transform.localPosition = p_axis * 2;
return this;
}
public override void Interact(Vector3 p_previousPosition)
{
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float closestT = HandleMathUtils.ClosestPointOnRay(_raxisRay, cameraRay);
Vector3 hitPoint = _raxisRay.GetPoint(closestT);
Vector3 offset = hitPoint + _interactionOffset - _startPosition;
Vector3 snapping = _parentTransformHandle.positionSnap;
float snap = Vector3.Scale(snapping, _axis).magnitude;
if (snap != 0 && _parentTransformHandle.snappingType == HandleSnappingType.RELATIVE)
{
offset = (Mathf.Round(offset.magnitude / snap) * snap) * offset.normalized;
}
Vector3 position = _startPosition + offset;
if (snap != 0 && _parentTransformHandle.snappingType == HandleSnappingType.ABSOLUTE)
{
if (snapping.x != 0) position.x = Mathf.Round(position.x / snapping.x) * snapping.x;
if (snapping.y != 0) position.y = Mathf.Round(position.y / snapping.y) * snapping.y;
if (snapping.x != 0) position.z = Mathf.Round(position.z / snapping.z) * snapping.z;
}
_parentTransformHandle.target.position = position;
base.Interact(p_previousPosition);
}
public override void StartInteraction(Vector3 p_hitPoint)
{
base.StartInteraction(p_hitPoint);
_startPosition = _parentTransformHandle.target.position;
Vector3 raxis = _parentTransformHandle.space == HandleSpace.LOCAL
? _parentTransformHandle.target.rotation * _axis
: _axis;
_raxisRay = new Ray(_startPosition, raxis);
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float closestT = HandleMathUtils.ClosestPointOnRay(_raxisRay, cameraRay);
Vector3 hitPoint = _raxisRay.GetPoint(closestT);
_interactionOffset = _startPosition - hitPoint;
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionAxis.cs.meta
================================================
fileFormatVersion: 2
guid: 3d71686958d04dd4bbcdb353ff4c95e0
timeCreated: 1603268885
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionHandle.cs
================================================
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class PositionHandle : MonoBehaviour
{
protected RuntimeTransformHandle _parentTransformHandle;
protected List<PositionAxis> _axes;
protected List<PositionPlane> _planes;
public PositionHandle Initialize(RuntimeTransformHandle p_runtimeHandle)
{
_parentTransformHandle = p_runtimeHandle;
transform.SetParent(_parentTransformHandle.transform, false);
_axes = new List<PositionAxis>();
if (_parentTransformHandle.axes == HandleAxes.X || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<PositionAxis>()
.Initialize(_parentTransformHandle, Vector3.right, Color.red));
if (_parentTransformHandle.axes == HandleAxes.Y || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<PositionAxis>()
.Initialize(_parentTransformHandle, Vector3.up, Color.green));
if (_parentTransformHandle.axes == HandleAxes.Z || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<PositionAxis>()
.Initialize(_parentTransformHandle, Vector3.forward, Color.blue));
_planes = new List<PositionPlane>();
if (_parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.XYZ)
_planes.Add(new GameObject().AddComponent<PositionPlane>()
.Initialize(_parentTransformHandle, Vector3.right, Vector3.up, -Vector3.forward, new Color(0,0,1,.2f)));
if (_parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_planes.Add(new GameObject().AddComponent<PositionPlane>()
.Initialize(_parentTransformHandle, Vector3.up, Vector3.forward, Vector3.right, new Color(1, 0, 0, .2f)));
if (_parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_planes.Add(new GameObject().AddComponent<PositionPlane>()
.Initialize(_parentTransformHandle, Vector3.right, Vector3.forward, Vector3.up, new Color(0, 1, 0, .2f)));
return this;
}
public void Destroy()
{
foreach (PositionAxis axis in _axes)
Destroy(axis.gameObject);
foreach (PositionPlane plane in _planes)
Destroy(plane.gameObject);
Destroy(this);
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionHandle.cs.meta
================================================
fileFormatVersion: 2
guid: b74328aefac54b6ba984bdeb94170a79
timeCreated: 1603382407
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionPlane.cs
================================================
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class PositionPlane : HandleBase
{
protected Vector3 _startPosition;
protected Vector3 _axis1;
protected Vector3 _axis2;
protected Vector3 _perp;
protected Plane _plane;
protected Vector3 _interactionOffset;
protected GameObject _handle;
public PositionPlane Initialize(RuntimeTransformHandle p_runtimeHandle, Vector3 p_axis1, Vector3 p_axis2, Vector3 p_perp, Color p_color)
{
_parentTransformHandle = p_runtimeHandle;
_defaultColor = p_color;
_axis1 = p_axis1;
_axis2 = p_axis2;
_perp = p_perp;
InitializeMaterial();
transform.SetParent(p_runtimeHandle.transform, false);
_handle = new GameObject();
_handle.transform.SetParent(transform, false);
MeshRenderer mr = _handle.AddComponent<MeshRenderer>();
mr.material = _material;
MeshFilter mf = _handle.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateBox(.02f, .5f, 0.5f);
MeshCollider mc = _handle.AddComponent<MeshCollider>();
_handle.transform.localRotation = Quaternion.FromToRotation(Vector3.up, _perp);
_handle.transform.localPosition = (_axis1 + _axis2) * .25f;
return this;
}
public override void Interact(Vector3 p_previousPosition)
{
Ray ray = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float d = 0.0f;
_plane.Raycast(ray, out d);
Vector3 hitPoint = ray.GetPoint(d);
Vector3 offset = hitPoint + _interactionOffset - _startPosition;
Vector3 axis = _axis1 + _axis2;
Vector3 snapping = _parentTransformHandle.positionSnap;
float snap = Vector3.Scale(snapping, axis).magnitude;
if (snap != 0 && _parentTransformHandle.snappingType == HandleSnappingType.RELATIVE)
{
if (snapping.x != 0) offset.x = Mathf.Round(offset.x / snapping.x) * snapping.x;
if (snapping.y != 0) offset.y = Mathf.Round(offset.y / snapping.y) * snapping.y;
if (snapping.z != 0) offset.z = Mathf.Round(offset.z / snapping.z) * snapping.z;
}
Vector3 position = _startPosition + offset;
if (snap != 0 && _parentTransformHandle.snappingType == HandleSnappingType.ABSOLUTE)
{
if (snapping.x != 0) position.x = Mathf.Round(position.x / snapping.x) * snapping.x;
if (snapping.y != 0) position.y = Mathf.Round(position.y / snapping.y) * snapping.y;
if (snapping.x != 0) position.z = Mathf.Round(position.z / snapping.z) * snapping.z;
}
_parentTransformHandle.target.position = position;
base.Interact(p_previousPosition);
}
public override void StartInteraction(Vector3 p_hitPoint)
{
Vector3 rperp = _parentTransformHandle.space == HandleSpace.LOCAL
? _parentTransformHandle.target.rotation * _perp
: _perp;
_plane = new Plane(rperp, _parentTransformHandle.target.position);
Ray ray = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float d = 0.0f;
_plane.Raycast(ray, out d);
Vector3 hitPoint = ray.GetPoint(d);
_startPosition = _parentTransformHandle.target.position;
_interactionOffset = _startPosition - hitPoint;
}
void Update()
{
Vector3 axis1 = _axis1;
Vector3 raxis1 = _parentTransformHandle.space == HandleSpace.LOCAL
? _parentTransformHandle.target.rotation * axis1
: axis1;
float angle1 = Vector3.Angle(_parentTransformHandle.handleCamera.transform.forward, raxis1);
if (angle1 < 90)
axis1 = -axis1;
//Debug.Log(Vector3.Angle(_parentTransformHandle.handleCamera.transform.forward, raxis1));
// if (Vector3.Angle(_parentTransformHandle.handleCamera.transform.forward, axis1) > 90)
// axis1 = -axis1;
Vector3 axis2 = _axis2;
Vector3 raxis2 = _parentTransformHandle.space == HandleSpace.LOCAL
? _parentTransformHandle.target.rotation * axis2
: axis2;
float angle2 = Vector3.Angle(_parentTransformHandle.handleCamera.transform.forward, raxis2);
if (angle2 < 90)
axis2 = -axis2;
_handle.transform.localPosition = (axis1 + axis2) * .25f;
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionPlane.cs.meta
================================================
fileFormatVersion: 2
guid: 5a5015f7e5184426a12b667bac91ff94
timeCreated: 1603382398
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position.meta
================================================
fileFormatVersion: 2
guid: 749259c97ae845798e58978915f5b894
timeCreated: 1603379534
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationAxis.cs
================================================
using System;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class RotationAxis : HandleBase
{
private Mesh _arcMesh;
private Material _arcMaterial;
private Vector3 _axis;
private Vector3 _rotatedAxis;
private Plane _axisPlane;
private Vector3 _tangent;
private Vector3 _biTangent;
private Quaternion _startRotation;
public RotationAxis Initialize(RuntimeTransformHandle p_runtimeHandle, Vector3 p_axis, Color p_color)
{
_parentTransformHandle = p_runtimeHandle;
_axis = p_axis;
_defaultColor = p_color;
InitializeMaterial();
transform.SetParent(p_runtimeHandle.transform, false);
GameObject o = new GameObject();
o.transform.SetParent(transform, false);
MeshRenderer mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
MeshFilter mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateTorus(2f, .02f, 32, 6);
MeshCollider mc = o.AddComponent<MeshCollider>();
mc.sharedMesh = MeshUtils.CreateTorus(2f, .1f, 32, 6);
o.transform.localRotation = Quaternion.FromToRotation(Vector3.up, _axis);
return this;
}
protected override void InitializeMaterial()
{
_material = new Material(Resources.Load("Shaders/AdvancedHandleShader") as Shader);
_material.color = _defaultColor;
}
public void Update()
{
_material.SetVector("_CameraPosition", _parentTransformHandle.handleCamera.transform.position);
_material.SetFloat("_CameraDistance",
(_parentTransformHandle.handleCamera.transform.position - _parentTransformHandle.transform.position)
.magnitude);
}
public override void Interact(Vector3 p_previousPosition)
{
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
if (!_axisPlane.Raycast(cameraRay, out float hitT))
{
base.Interact(p_previousPosition);
return;
}
Vector3 hitPoint = cameraRay.GetPoint(hitT);
Vector3 hitDirection = (hitPoint - _parentTransformHandle.target.position).normalized;
float x = Vector3.Dot(hitDirection, _tangent);
float y = Vector3.Dot(hitDirection, _biTangent);
float angleRadians = Mathf.Atan2(y, x);
float angleDegrees = angleRadians * Mathf.Rad2Deg;
if (_parentTransformHandle.rotationSnap != 0)
{
angleDegrees = Mathf.Round(angleDegrees / _parentTransformHandle.rotationSnap) * _parentTransformHandle.rotationSnap;
angleRadians = angleDegrees * Mathf.Deg2Rad;
}
if (_parentTransformHandle.space == HandleSpace.LOCAL)
{
_parentTransformHandle.target.localRotation = _startRotation * Quaternion.AngleAxis(angleDegrees, _axis);
}
else
{
Vector3 invertedRotatedAxis = Quaternion.Inverse(_startRotation) * _axis;
_parentTransformHandle.target.rotation = _startRotation * Quaternion.AngleAxis(angleDegrees, invertedRotatedAxis);
}
_arcMesh = MeshUtils.CreateArc(transform.position, _hitPoint, _rotatedAxis, 2, angleRadians, Mathf.Abs(Mathf.CeilToInt(angleDegrees)) + 1);
DrawArc();
base.Interact(p_previousPosition);
}
public override bool CanInteract(Vector3 p_hitPoint)
{
var cameraDistance = (_parentTransformHandle.transform.position - _parentTransformHandle.handleCamera.transform.position).magnitude;
var pointDistance = (p_hitPoint - _parentTransformHandle.handleCamera.transform.position).magnitude;
return pointDistance <= cameraDistance;
}
public override void StartInteraction(Vector3 p_hitPoint)
{
if (!CanInteract(p_hitPoint))
return;
base.StartInteraction(p_hitPoint);
_startRotation = _parentTransformHandle.space == HandleSpace.LOCAL ? _parentTransformHandle.target.localRotation : _parentTransformHandle.target.rotation;
_arcMaterial = new Material(Shader.Find("sHTiF/HandleShader"));
_arcMaterial.color = new Color(1,1,0,.4f);
_arcMaterial.renderQueue = 5000;
//_arcMesh.gameObject.SetActive(true);
if (_parentTransformHandle.space == HandleSpace.LOCAL)
{
_rotatedAxis = _startRotation * _axis;
}
else
{
_rotatedAxis = _axis;
}
_axisPlane = new Plane(_rotatedAxis, _parentTransformHandle.target.position);
Vector3 startHitPoint;
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
if (_axisPlane.Raycast(cameraRay, out float hitT))
{
startHitPoint = cameraRay.GetPoint(hitT);
}
else
{
startHitPoint = _axisPlane.ClosestPointOnPlane(p_hitPoint);
}
_tangent = (startHitPoint - _parentTransformHandle.target.position).normalized;
_biTangent = Vector3.Cross(_rotatedAxis, _tangent);
}
public override void EndInteraction()
{
base.EndInteraction();
//Destroy(_arcMesh.gameObject);
delta = 0;
}
void DrawArc()
{
// _arcMaterial.SetPass(0);
// Graphics.DrawMeshNow(_arcMesh, Matrix4x4.identity);
Graphics.DrawMesh(_arcMesh, Matrix4x4.identity, _arcMaterial, 0);
// GameObject arc = new GameObject();
// MeshRenderer mr = arc.AddComponent<MeshRenderer>();
// mr.material = new Material(Shader.Find("sHTiF/HandleShader"));
// mr.material.color = new Color(1,1,0,.5f);
// _arcMesh = arc.AddComponent<MeshFilter>();
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationAxis.cs.meta
================================================
fileFormatVersion: 2
guid: 887cfee69e3349bc94c52b27882d2a32
timeCreated: 1603287291
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationHandle.cs
================================================
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class RotationHandle : MonoBehaviour
{
protected RuntimeTransformHandle _parentTransformHandle;
protected List<RotationAxis> _axes;
public RotationHandle Initialize(RuntimeTransformHandle p_parentTransformHandle)
{
_parentTransformHandle = p_parentTransformHandle;
transform.SetParent(_parentTransformHandle.transform, false);
_axes = new List<RotationAxis>();
if (_parentTransformHandle.axes == HandleAxes.X || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<RotationAxis>()
.Initialize(_parentTransformHandle, Vector3.right, Color.red));
if (_parentTransformHandle.axes == HandleAxes.Y || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<RotationAxis>()
.Initialize(_parentTransformHandle, Vector3.up, Color.green));
if (_parentTransformHandle.axes == HandleAxes.Z || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<RotationAxis>()
.Initialize(_parentTransformHandle, Vector3.forward, Color.blue));
return this;
}
public void Destroy()
{
foreach (RotationAxis axis in _axes)
Destroy(axis.gameObject);
Destroy(this);
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationHandle.cs.meta
================================================
fileFormatVersion: 2
guid: 1742203d7bd34c8fb00333fe33169a0b
timeCreated: 1603382419
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation.meta
================================================
fileFormatVersion: 2
guid: 809e64720473404b9320301c1ce89ce2
timeCreated: 1603379562
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleAxis.cs
================================================
using System.IO;
using System.Security.Permissions;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class ScaleAxis : HandleBase
{
private const float SIZE = 2;
private Vector3 _axis;
private Vector3 _startScale;
private float _interactionDistance;
private Ray _raxisRay;
public ScaleAxis Initialize(RuntimeTransformHandle p_parentTransformHandle, Vector3 p_axis, Color p_color)
{
_parentTransformHandle = p_parentTransformHandle;
_axis = p_axis;
_defaultColor = p_color;
InitializeMaterial();
transform.SetParent(p_parentTransformHandle.transform, false);
GameObject o = new GameObject();
o.transform.SetParent(transform, false);
MeshRenderer mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
MeshFilter mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateCone(p_axis.magnitude * SIZE, .02f, .02f, 8, 1);
MeshCollider mc = o.AddComponent<MeshCollider>();
mc.sharedMesh = MeshUtils.CreateCone(p_axis.magnitude * SIZE, .1f, .02f, 8, 1);
o.transform.localRotation = Quaternion.FromToRotation(Vector3.up, p_axis);
o = new GameObject();
o.transform.SetParent(transform, false);
mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateBox(.25f, .25f, .25f);
mc = o.AddComponent<MeshCollider>();
o.transform.localRotation = Quaternion.FromToRotation(Vector3.up, p_axis);
o.transform.localPosition = p_axis * SIZE;
return this;
}
protected void Update()
{
transform.GetChild(0).localScale = new Vector3(1, 1+delta, 1);
transform.GetChild(1).localPosition = _axis * (SIZE * (1 + delta));
}
public override void Interact(Vector3 p_previousPosition)
{
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float closestT = HandleMathUtils.ClosestPointOnRay(_raxisRay, cameraRay);
Vector3 hitPoint = _raxisRay.GetPoint(closestT);
float distance = Vector3.Distance(_parentTransformHandle.target.position, hitPoint);
float axisScaleDelta = distance / _interactionDistance - 1f;
Vector3 snapping = _parentTransformHandle.scaleSnap;
float snap = Mathf.Abs(Vector3.Dot(snapping, _axis));
if (snap != 0)
{
if (_parentTransformHandle.snappingType == HandleSnappingType.RELATIVE)
{
axisScaleDelta = Mathf.Round(axisScaleDelta / snap) * snap;
}
else
{
float axisStartScale = Mathf.Abs(Vector3.Dot(_startScale, _axis));
axisScaleDelta = Mathf.Round((axisScaleDelta + axisStartScale) / snap) * snap - axisStartScale;
}
}
delta = axisScaleDelta;
Vector3 scale = Vector3.Scale(_startScale, _axis * axisScaleDelta + Vector3.one);
_parentTransformHandle.target.localScale = scale;
base.Interact(p_previousPosition);
}
public override void StartInteraction(Vector3 p_hitPoint)
{
base.StartInteraction(p_hitPoint);
_startScale = _parentTransformHandle.target.localScale;
Vector3 raxis = _parentTransformHandle.space == HandleSpace.LOCAL
? _parentTransformHandle.target.rotation * _axis
: _axis;
_raxisRay = new Ray(_parentTransformHandle.target.position, raxis);
Ray cameraRay = Camera.main.ScreenPointToRay(RuntimeTransformHandle.GetMousePosition());
float closestT = HandleMathUtils.ClosestPointOnRay(_raxisRay, cameraRay);
Vector3 hitPoint = _raxisRay.GetPoint(closestT);
_interactionDistance = Vector3.Distance(_parentTransformHandle.target.position, hitPoint);
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleAxis.cs.meta
================================================
fileFormatVersion: 2
guid: 9c35d890b25848d384900b0bf5bfaeba
timeCreated: 1603294174
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleGlobal.cs
================================================
using System.IO;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class ScaleGlobal : HandleBase
{
protected Vector3 _axis;
protected Vector3 _startScale;
public ScaleGlobal Initialize(RuntimeTransformHandle p_parentTransformHandle, Vector3 p_axis, Color p_color)
{
_parentTransformHandle = p_parentTransformHandle;
_axis = p_axis;
_defaultColor = p_color;
InitializeMaterial();
transform.SetParent(p_parentTransformHandle.transform, false);
GameObject o = new GameObject();
o.transform.SetParent(transform, false);
MeshRenderer mr = o.AddComponent<MeshRenderer>();
mr.material = _material;
MeshFilter mf = o.AddComponent<MeshFilter>();
mf.mesh = MeshUtils.CreateBox(.35f, .35f, .35f);
MeshCollider mc = o.AddComponent<MeshCollider>();
return this;
}
public override void Interact(Vector3 p_previousPosition)
{
Vector3 mouseVector = (RuntimeTransformHandle.GetMousePosition() - p_previousPosition);
float d = (mouseVector.x + mouseVector.y) * Time.deltaTime * 2;
delta += d;
_parentTransformHandle.target.localScale = _startScale + Vector3.Scale(_startScale,_axis) * delta;
base.Interact(p_previousPosition);
}
public override void StartInteraction(Vector3 p_hitPoint)
{
base.StartInteraction(p_hitPoint);
_startScale = _parentTransformHandle.target.localScale;
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleGlobal.cs.meta
================================================
fileFormatVersion: 2
guid: 68740daa55f44180892aca8775a8c0ee
timeCreated: 1603318850
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleHandle.cs
================================================
using System;
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020
*/
public class ScaleHandle : MonoBehaviour
{
protected RuntimeTransformHandle _parentTransformHandle;
protected List<ScaleAxis> _axes;
protected ScaleGlobal _globalAxis;
public ScaleHandle Initialize(RuntimeTransformHandle p_parentTransformHandle)
{
_parentTransformHandle = p_parentTransformHandle;
transform.SetParent(_parentTransformHandle.transform, false);
_axes = new List<ScaleAxis>();
if (_parentTransformHandle.axes == HandleAxes.X || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<ScaleAxis>()
.Initialize(_parentTransformHandle, Vector3.right, Color.red));
if (_parentTransformHandle.axes == HandleAxes.Y || _parentTransformHandle.axes == HandleAxes.XY || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<ScaleAxis>()
.Initialize(_parentTransformHandle, Vector3.up, Color.green));
if (_parentTransformHandle.axes == HandleAxes.Z || _parentTransformHandle.axes == HandleAxes.XZ || _parentTransformHandle.axes == HandleAxes.YZ || _parentTransformHandle.axes == HandleAxes.XYZ)
_axes.Add(new GameObject().AddComponent<ScaleAxis>()
.Initialize(_parentTransformHandle, Vector3.forward, Color.blue));
if (_parentTransformHandle.axes != HandleAxes.X && _parentTransformHandle.axes != HandleAxes.Y && _parentTransformHandle.axes != HandleAxes.Z)
{
_globalAxis = new GameObject().AddComponent<ScaleGlobal>()
.Initialize(_parentTransformHandle, HandleBase.GetVectorFromAxes(_parentTransformHandle.axes), Color.white);
_globalAxis.InteractionStart += OnGlobalInteractionStart;
_globalAxis.InteractionUpdate += OnGlobalInteractionUpdate;
_globalAxis.InteractionEnd += OnGlobalInteractionEnd;
}
return this;
}
void OnGlobalInteractionStart()
{
foreach (ScaleAxis axis in _axes)
{
axis.SetColor(Color.yellow);
}
}
void OnGlobalInteractionUpdate(float p_delta)
{
foreach (ScaleAxis axis in _axes)
{
axis.delta = p_delta;
}
}
void OnGlobalInteractionEnd()
{
foreach (ScaleAxis axis in _axes)
{
axis.SetDefaultColor();
axis.delta = 0;
}
}
public void Destroy()
{
foreach (ScaleAxis axis in _axes)
Destroy(axis.gameObject);
if (_globalAxis) Destroy(_globalAxis.gameObject);
Destroy(this);
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleHandle.cs.meta
================================================
fileFormatVersion: 2
guid: 563d66185932403da1818cdbc93a7cb7
timeCreated: 1603358227
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale.meta
================================================
fileFormatVersion: 2
guid: 2b844fc0a14b4a878e70f4b7a6af3137
timeCreated: 1603379502
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles.meta
================================================
fileFormatVersion: 2
guid: 8bb76c032e1042dcaaf13886a877b980
timeCreated: 1603358181
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs
================================================
using UnityEngine;
using UnityEngine.Events;
#if ENABLE_INPUT_SYSTEM
using UnityEngine.InputSystem;
#endif
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 21.10.2020
*/
public class RuntimeTransformHandle : MonoBehaviour
{
public HandleAxes axes = HandleAxes.XYZ;
public HandleSpace space = HandleSpace.LOCAL;
public HandleType type = HandleType.POSITION;
public HandleSnappingType snappingType = HandleSnappingType.RELATIVE;
public Vector3 positionSnap = Vector3.zero;
public float rotationSnap = 0;
public Vector3 scaleSnap = Vector3.zero;
public bool autoScale = false;
public float autoScaleFactor = 1;
public Camera handleCamera;
private Vector3 _previousMousePosition;
private HandleBase _previousAxis;
private HandleBase _draggingHandle;
private HandleType _previousType;
private HandleAxes _previousAxes;
private PositionHandle _positionHandle;
private RotationHandle _rotationHandle;
private ScaleHandle _scaleHandle;
public Transform target;
public UnityEvent startedDraggingHandle = new UnityEvent();
public UnityEvent isDraggingHandle = new UnityEvent();
public UnityEvent endedDraggingHandle = new UnityEvent();
[SerializeField] private bool disableWhenNoTarget;
void Start()
{
if (handleCamera == null)
handleCamera = Camera.main;
_previousType = type;
if (target == null)
target = transform;
if (disableWhenNoTarget && target == transform)
gameObject.SetActive(false);
CreateHandles();
}
void CreateHandles()
{
switch (type)
{
case HandleType.POSITION:
_positionHandle = gameObject.AddComponent<PositionHandle>().Initialize(this);
break;
case HandleType.ROTATION:
_rotationHandle = gameObject.AddComponent<RotationHandle>().Initialize(this);
break;
case HandleType.SCALE:
_scaleHandle = gameObject.AddComponent<ScaleHandle>().Initialize(this);
break;
}
}
void Clear()
{
_draggingHandle = null;
if (_positionHandle) _positionHandle.Destroy();
if (_rotationHandle) _rotationHandle.Destroy();
if (_scaleHandle) _scaleHandle.Destroy();
}
void Update()
{
if (autoScale)
transform.localScale =
Vector3.one * (Vector3.Distance(handleCamera.transform.position, transform.position) * autoScaleFactor) / 15;
if (_previousType != type || _previousAxes != axes)
{
Clear();
CreateHandles();
_previousType = type;
_previousAxes = axes;
}
HandleBase handle = null;
Vector3 hitPoint = Vector3.zero;
GetHandle(ref handle, ref hitPoint);
HandleOverEffect(handle, hitPoint);
if (PointerIsDown() && _draggingHandle != null)
{
_draggingHandle.Interact(_previousMousePosition);
isDraggingHandle.Invoke();
}
if (GetPointerDown() && handle != null)
{
_draggingHandle = handle;
_draggingHandle.StartInteraction(hitPoint);
startedDraggingHandle.Invoke();
}
if (GetPointerUp() && _draggingHandle != null)
{
_draggingHandle.EndInteraction();
_draggingHandle = null;
endedDraggingHandle.Invoke();
}
_previousMousePosition = GetMousePosition();
transform.position = target.transform.position;
if (space == HandleSpace.LOCAL || type == HandleType.SCALE)
{
transform.rotation = target.transform.rotation;
}
else
{
transform.rotation = Quaternion.identity;
}
}
public static bool GetPointerDown()
{
#if ENABLE_INPUT_SYSTEM
return Mouse.current.leftButton.wasPressedThisFrame;
#else
return Input.GetMouseButtonDown(0);
#endif
}
public static bool PointerIsDown()
{
#if ENABLE_INPUT_SYSTEM
return Mouse.current.leftButton.isPressed;
#else
return Input.GetMouseButton(0);
#endif
}
public static bool GetPointerUp()
{
#if ENABLE_INPUT_SYSTEM
return Mouse.current.leftButton.wasReleasedThisFrame;
#else
return Input.GetMouseButtonUp(0);
#endif
}
public static Vector3 GetMousePosition()
{
#if ENABLE_INPUT_SYSTEM
return Mouse.current.position.ReadValue();
#else
return Input.mousePosition;
#endif
}
void HandleOverEffect(HandleBase p_axis, Vector3 p_hitPoint)
{
if (_draggingHandle == null && _previousAxis != null && (_previousAxis != p_axis || !_previousAxis.CanInteract(p_hitPoint)))
{
_previousAxis.SetDefaultColor();
}
if (p_axis != null && _draggingHandle == null && p_axis.CanInteract(p_hitPoint))
{
p_axis.SetColor(Color.yellow);
}
_previousAxis = p_axis;
}
private void GetHandle(ref HandleBase p_handle, ref Vector3 p_hitPoint)
{
Ray ray = Camera.main.ScreenPointToRay(GetMousePosition());
RaycastHit[] hits = Physics.RaycastAll(ray);
if (hits.Length == 0)
return;
foreach (RaycastHit hit in hits)
{
p_handle = hit.collider.gameObject.GetComponentInParent<HandleBase>();
if (p_handle != null)
{
p_hitPoint = hit.point;
return;
}
}
}
static public RuntimeTransformHandle Create(Transform p_target, HandleType p_handleType)
{
RuntimeTransformHandle runtimeTransformHandle = new GameObject().AddComponent<RuntimeTransformHandle>();
runtimeTransformHandle.target = p_target;
runtimeTransformHandle.type = p_handleType;
return runtimeTransformHandle;
}
#region public methods to control handles
public void SetTarget(Transform newTarget)
{
target = newTarget;
}
public void SetTarget(GameObject newTarget)
{
target = newTarget.transform;
if (target == null)
target = transform;
if (disableWhenNoTarget && target == transform)
gameObject.SetActive(false);
else if(disableWhenNoTarget && target != transform)
gameObject.SetActive(true);
}
public void SetHandleMode(int mode)
{
SetHandleMode((HandleType)mode);
}
public void SetHandleMode(HandleType mode)
{
type = mode;
}
public void EnableXAxis(bool enable)
{
if (enable)
axes |= HandleAxes.X;
else
axes &= ~HandleAxes.X;
}
public void EnableYAxis(bool enable)
{
if (enable)
axes |= HandleAxes.Y;
else
axes &= ~HandleAxes.Y;
}
public void EnableZAxis(bool enable)
{
if (enable)
axes |= HandleAxes.Z;
else
axes &= ~HandleAxes.Z;
}
public void SetAxis(HandleAxes newAxes)
{
axes = newAxes;
}
#endregion
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs.meta
================================================
fileFormatVersion: 2
guid: ecfa17e94c9ff9c47b43ede109092ac1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/HandleMathUtils.cs
================================================
using UnityEngine;
namespace RuntimeHandle
{
public static class HandleMathUtils
{
public const float PRECISION_THRESHOLD = 0.001f;
public static float ClosestPointOnRay(Ray ray, Ray other)
{
// based on: https://math.stackexchange.com/questions/1036959/midpoint-of-the-shortest-distance-between-2-rays-in-3d
// note: directions of both rays must be normalized
// ray.origin -> a
// ray.direction -> b
// other.origin -> c
// other.direction -> d
float bd = Vector3.Dot(ray.direction, other.direction);
float cd = Vector3.Dot(other.origin, other.direction);
float ad = Vector3.Dot(ray.origin, other.direction);
float bc = Vector3.Dot(ray.direction, other.origin);
float ab = Vector3.Dot(ray.origin, ray.direction);
float bottom = bd * bd - 1f;
if (Mathf.Abs(bottom) < PRECISION_THRESHOLD)
{
return 0;
}
float top = ab - bc + bd * (cd - ad);
return top / bottom;
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/HandleMathUtils.cs.meta
================================================
fileFormatVersion: 2
guid: 4dcd8e76b88b4fa792b0112ce898f6b2
timeCreated: 1655982569
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/MeshUtils.cs
================================================
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace RuntimeHandle
{
/**
* Created by Peter @sHTiF Stefcek 20.10.2020, some functions based on Unity wiki
*/
public class MeshUtils
{
static public Mesh CreateArc(Vector3 p_center, Vector3 p_startPoint, Vector3 p_axis, float p_radius, float p_angle, int p_segmentCount)
{
Mesh mesh = new Mesh();
Vector3[] vertices = new Vector3[p_segmentCount+2];
Vector3 startVector = (p_startPoint - p_center).normalized * p_radius;
for (int i = 0; i<=p_segmentCount; i++)
{
float rad = (float) i / p_segmentCount * p_angle;
Vector3 v = Quaternion.AngleAxis(rad*180f/Mathf.PI, p_axis) * startVector;
vertices[i] = v + p_center;
}
vertices[p_segmentCount+1] = p_center;
Vector3[] normals = new Vector3[vertices.Length];
for( int n = 0; n < normals.Length; n++ )
normals[n] = Vector3.up;
Vector2[] uvs = new Vector2[vertices.Length];
for (int i = 0; i<=p_segmentCount; i++)
{
float rad = (float) i / p_segmentCount * p_angle;
uvs[i] = new Vector2(Mathf.Cos(rad) * .5f + .5f, Mathf.Sin(rad) * .5f + .5f);
}
uvs[p_segmentCount + 1] = Vector2.one / 2f;
int[] triangles = new int[ p_segmentCount * 3 ];
for (int i = 0; i < p_segmentCount; i++)
{
int index = i * 3;
triangles[index] = p_segmentCount+1;
triangles[index+1] = i;
triangles[index+2] = i + 1;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateArc(float p_radius, float p_angle, int p_segmentCount)
{
Mesh mesh = new Mesh();
Vector3[] vertices = new Vector3[p_segmentCount+2];
for (int i = 0; i<=p_segmentCount; i++)
{
float rad = (float) i / p_segmentCount * p_angle;
vertices[i] = new Vector3(Mathf.Cos(rad) * p_radius, 0f, Mathf.Sin(rad) * p_radius);
}
vertices[p_segmentCount+1] = Vector3.zero;
Vector3[] normals = new Vector3[vertices.Length];
for( int n = 0; n < normals.Length; n++ )
normals[n] = Vector3.up;
Vector2[] uvs = new Vector2[vertices.Length];
for (int i = 0; i<=p_segmentCount; i++)
{
float rad = (float) i / p_segmentCount * p_angle;
uvs[i] = new Vector2(Mathf.Cos(rad) * .5f + .5f, Mathf.Sin(rad) * .5f + .5f);
}
uvs[p_segmentCount + 1] = Vector2.one / 2f;
int[] triangles = new int[ p_segmentCount * 3 ];
for (int i = 0; i < p_segmentCount; i++)
{
int index = i * 3;
triangles[index] = p_segmentCount+1;
triangles[index+1] = i;
triangles[index+2] = i + 1;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateGrid(float p_width, float p_height, int p_segmentsX = 1, int p_segmentsY = 1)
{
Mesh mesh = new Mesh();
int resX = p_segmentsX + 1;
int resZ = p_segmentsY + 1;
Vector3[] vertices = new Vector3[ resX * resZ ];
for(int z = 0; z < resZ; z++)
{
float zPos = ((float)z / (resZ - 1) - .5f) * p_height;
for(int x = 0; x < resX; x++)
{
float xPos = ((float)x / (resX - 1) - .5f) * p_width;
vertices[ x + z * resX ] = new Vector3( xPos, 0f, zPos );
}
}
Vector3[] normals = new Vector3[ vertices.Length ];
for( int n = 0; n < normals.Length; n++ )
normals[n] = Vector3.up;
Vector2[] uvs = new Vector2[ vertices.Length ];
for(int v = 0; v < resZ; v++)
{
for(int u = 0; u < resX; u++)
{
uvs[ u + v * resX ] = new Vector2( (float)u / (resX - 1), (float)v / (resZ - 1) );
}
}
int faceCount = (resX - 1) * (resZ - 1);
int[] triangles = new int[ faceCount * 6 ];
int t = 0;
for(int face = 0; face < faceCount; face++ )
{
// Retrieve lower left corner from face ind
int i = face % (resX - 1) + (face / (resZ - 1) * resX);
triangles[t++] = i + resX;
triangles[t++] = i + 1;
triangles[t++] = i;
triangles[t++] = i + resX;
triangles[t++] = i + resX + 1;
triangles[t++] = i + 1;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateBox(float p_width, float p_height, float p_depth)
{
Mesh mesh = new Mesh();
Vector3 v0 = new Vector3(-p_depth * .5f, -p_width * .5f, p_height * .5f);
Vector3 v1 = new Vector3(p_depth * .5f, -p_width * .5f, p_height * .5f);
Vector3 v2 = new Vector3(p_depth * .5f, -p_width * .5f, -p_height * .5f);
Vector3 v3 = new Vector3(-p_depth * .5f, -p_width * .5f, -p_height * .5f);
Vector3 v4 = new Vector3(-p_depth * .5f, p_width * .5f, p_height * .5f);
Vector3 v5 = new Vector3(p_depth * .5f, p_width * .5f, p_height * .5f);
Vector3 v6 = new Vector3(p_depth * .5f, p_width * .5f, -p_height * .5f);
Vector3 v7 = new Vector3(-p_depth * .5f, p_width * .5f, -p_height * .5f);
Vector3[] vertices = new Vector3[]
{
// Bottom
v0, v1, v2, v3,
// Left
v7, v4, v0, v3,
// Front
v4, v5, v1, v0,
// Back
v6, v7, v3, v2,
// Right
v5, v6, v2, v1,
// Top
v7, v6, v5, v4
};
Vector3 up = Vector3.up;
Vector3 down = Vector3.down;
Vector3 front = Vector3.forward;
Vector3 back = Vector3.back;
Vector3 left = Vector3.left;
Vector3 right = Vector3.right;
Vector3[] normals = new Vector3[]
{
down, down, down, down,
left, left, left, left,
front, front, front, front,
back, back, back, back,
right, right, right, right,
up, up, up, up
};
Vector2 _00 = new Vector2(0f, 0f);
Vector2 _10 = new Vector2(1f, 0f);
Vector2 _01 = new Vector2(0f, 1f);
Vector2 _11 = new Vector2(1f, 1f);
Vector2[] uvs = new Vector2[]
{
// Bottom
_11, _01, _00, _10,
// Left
_11, _01, _00, _10,
// Front
_11, _01, _00, _10,
// Back
_11, _01, _00, _10,
// Right
_11, _01, _00, _10,
// Top
_11, _01, _00, _10,
};
int[] triangles = new int[]
{
// Bottom
3, 1, 0,
3, 2, 1,
// Left
3 + 4 * 1, 1 + 4 * 1, 0 + 4 * 1,
3 + 4 * 1, 2 + 4 * 1, 1 + 4 * 1,
// Front
3 + 4 * 2, 1 + 4 * 2, 0 + 4 * 2,
3 + 4 * 2, 2 + 4 * 2, 1 + 4 * 2,
// Back
3 + 4 * 3, 1 + 4 * 3, 0 + 4 * 3,
3 + 4 * 3, 2 + 4 * 3, 1 + 4 * 3,
// Right
3 + 4 * 4, 1 + 4 * 4, 0 + 4 * 4,
3 + 4 * 4, 2 + 4 * 4, 1 + 4 * 4,
// Top
3 + 4 * 5, 1 + 4 * 5, 0 + 4 * 5,
3 + 4 * 5, 2 + 4 * 5, 1 + 4 * 5,
};
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateCone(float p_height, float p_bottomRadius, float p_topRadius, int p_sideCount,
int p_heightSegmentCount)
{
Mesh mesh = new Mesh();
int vertexCapCount = p_sideCount + 1;
// bottom + top + sides
Vector3[] vertices =
new Vector3[vertexCapCount + vertexCapCount + p_sideCount * p_heightSegmentCount * 2 + 2];
int vert = 0;
float _2pi = Mathf.PI * 2f;
// Bottom cap
vertices[vert++] = new Vector3(0f, 0f, 0f);
while (vert <= p_sideCount)
{
float rad = (float) vert / p_sideCount * _2pi;
vertices[vert] = new Vector3(Mathf.Cos(rad) * p_bottomRadius, 0f, Mathf.Sin(rad) * p_bottomRadius);
vert++;
}
// Top cap
vertices[vert++] = new Vector3(0f, p_height, 0f);
while (vert <= p_sideCount * 2 + 1)
{
float rad = (float) (vert - p_sideCount - 1) / p_sideCount * _2pi;
vertices[vert] = new Vector3(Mathf.Cos(rad) * p_topRadius, p_height, Mathf.Sin(rad) * p_topRadius);
vert++;
}
// Sides
int v = 0;
while (vert <= vertices.Length - 4)
{
float rad = (float) v / p_sideCount * _2pi;
vertices[vert] = new Vector3(Mathf.Cos(rad) * p_topRadius, p_height, Mathf.Sin(rad) * p_topRadius);
vertices[vert + 1] = new Vector3(Mathf.Cos(rad) * p_bottomRadius, 0, Mathf.Sin(rad) * p_bottomRadius);
vert += 2;
v++;
}
vertices[vert] = vertices[p_sideCount * 2 + 2];
vertices[vert + 1] = vertices[p_sideCount * 2 + 3];
// bottom + top + sides
Vector3[] normals = new Vector3[vertices.Length];
vert = 0;
// Bottom cap
while (vert <= p_sideCount)
{
normals[vert++] = Vector3.down;
}
// Top cap
while (vert <= p_sideCount * 2 + 1)
{
normals[vert++] = Vector3.up;
}
// Sides
v = 0;
while (vert <= vertices.Length - 4)
{
float rad = (float) v / p_sideCount * _2pi;
float cos = Mathf.Cos(rad);
float sin = Mathf.Sin(rad);
normals[vert] = new Vector3(cos, 0f, sin);
normals[vert + 1] = normals[vert];
vert += 2;
v++;
}
normals[vert] = normals[p_sideCount * 2 + 2];
normals[vert + 1] = normals[p_sideCount * 2 + 3];
Vector2[] uvs = new Vector2[vertices.Length];
// Bottom cap
int u = 0;
uvs[u++] = new Vector2(0.5f, 0.5f);
while (u <= p_sideCount)
{
float rad = (float) u / p_sideCount * _2pi;
uvs[u] = new Vector2(Mathf.Cos(rad) * .5f + .5f, Mathf.Sin(rad) * .5f + .5f);
u++;
}
// Top cap
uvs[u++] = new Vector2(0.5f, 0.5f);
while (u <= p_sideCount * 2 + 1)
{
float rad = (float) u / p_sideCount * _2pi;
uvs[u] = new Vector2(Mathf.Cos(rad) * .5f + .5f, Mathf.Sin(rad) * .5f + .5f);
u++;
}
// Sides
int u_sides = 0;
while (u <= uvs.Length - 4)
{
float t = (float) u_sides / p_sideCount;
uvs[u] = new Vector3(t, 1f);
uvs[u + 1] = new Vector3(t, 0f);
u += 2;
u_sides++;
}
uvs[u] = new Vector2(1f, 1f);
uvs[u + 1] = new Vector2(1f, 0f);
int triangleCount = p_sideCount + p_sideCount + p_sideCount * 2;
int[] triangles = new int[triangleCount * 3 + 3];
// Bottom cap
int tri = 0;
int i = 0;
while (tri < p_sideCount - 1)
{
triangles[i] = 0;
triangles[i + 1] = tri + 1;
triangles[i + 2] = tri + 2;
tri++;
i += 3;
}
triangles[i] = 0;
triangles[i + 1] = tri + 1;
triangles[i + 2] = 1;
tri++;
i += 3;
// Top cap
while (tri < p_sideCount * 2)
{
triangles[i] = tri + 2;
triangles[i + 1] = tri + 1;
triangles[i + 2] = vertexCapCount;
tri++;
i += 3;
}
triangles[i] = vertexCapCount + 1;
triangles[i + 1] = tri + 1;
triangles[i + 2] = vertexCapCount;
tri++;
i += 3;
tri++;
// Sides
while (tri <= triangleCount)
{
triangles[i] = tri + 2;
triangles[i + 1] = tri + 1;
triangles[i + 2] = tri + 0;
tri++;
i += 3;
triangles[i] = tri + 1;
triangles[i + 1] = tri + 2;
triangles[i + 2] = tri + 0;
tri++;
i += 3;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateTube(float p_height, int p_sideCount, float p_bottomRadius, float p_bottomThickness,
float p_topRadius, float p_topThickness)
{
Mesh mesh = new Mesh();
int vertexCapCount = p_sideCount * 2 + 2;
int vertexSideCount = p_sideCount * 2 + 2;
// bottom + top + sides
Vector3[] vertices = new Vector3[vertexCapCount * 2 + vertexSideCount * 2];
int vert = 0;
float _2pi = Mathf.PI * 2f;
// Bottom cap
int sideCounter = 0;
while (vert < vertexCapCount)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
float cos = Mathf.Cos(r1);
float sin = Mathf.Sin(r1);
vertices[vert] = new Vector3(cos * (p_bottomRadius - p_bottomThickness * .5f), 0f,
sin * (p_bottomRadius - p_bottomThickness * .5f));
vertices[vert + 1] = new Vector3(cos * (p_bottomRadius + p_bottomThickness * .5f), 0f,
sin * (p_bottomRadius + p_bottomThickness * .5f));
vert += 2;
}
// Top cap
sideCounter = 0;
while (vert < vertexCapCount * 2)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
float cos = Mathf.Cos(r1);
float sin = Mathf.Sin(r1);
vertices[vert] = new Vector3(cos * (p_topRadius - p_topThickness * .5f), p_height,
sin * (p_topRadius - p_topThickness * .5f));
vertices[vert + 1] = new Vector3(cos * (p_topRadius + p_topThickness * .5f), p_height,
sin * (p_topRadius + p_topThickness * .5f));
vert += 2;
}
// Sides (out)
sideCounter = 0;
while (vert < vertexCapCount * 2 + vertexSideCount)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
float cos = Mathf.Cos(r1);
float sin = Mathf.Sin(r1);
vertices[vert] = new Vector3(cos * (p_topRadius + p_topThickness * .5f), p_height,
sin * (p_topRadius + p_topThickness * .5f));
vertices[vert + 1] = new Vector3(cos * (p_bottomRadius + p_bottomThickness * .5f), 0,
sin * (p_bottomRadius + p_bottomThickness * .5f));
vert += 2;
}
// Sides (in)
sideCounter = 0;
while (vert < vertices.Length)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
float cos = Mathf.Cos(r1);
float sin = Mathf.Sin(r1);
vertices[vert] = new Vector3(cos * (p_topRadius - p_topThickness * .5f), p_height,
sin * (p_topRadius - p_topThickness * .5f));
vertices[vert + 1] = new Vector3(cos * (p_bottomRadius - p_bottomThickness * .5f), 0,
sin * (p_bottomRadius - p_bottomThickness * .5f));
vert += 2;
}
// bottom + top + sides
Vector3[] normals = new Vector3[vertices.Length];
vert = 0;
// Bottom cap
while (vert < vertexCapCount)
{
normals[vert++] = Vector3.down;
}
// Top cap
while (vert < vertexCapCount * 2)
{
normals[vert++] = Vector3.up;
}
// Sides (out)
sideCounter = 0;
while (vert < vertexCapCount * 2 + vertexSideCount)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
normals[vert] = new Vector3(Mathf.Cos(r1), 0f, Mathf.Sin(r1));
normals[vert + 1] = normals[vert];
vert += 2;
}
// Sides (in)
sideCounter = 0;
while (vert < vertices.Length)
{
sideCounter = sideCounter == p_sideCount ? 0 : sideCounter;
float r1 = (float) (sideCounter++) / p_sideCount * _2pi;
normals[vert] = -(new Vector3(Mathf.Cos(r1), 0f, Mathf.Sin(r1)));
normals[vert + 1] = normals[vert];
vert += 2;
}
Vector2[] uvs = new Vector2[vertices.Length];
vert = 0;
// Bottom cap
sideCounter = 0;
while (vert < vertexCapCount)
{
float t = (float) (sideCounter++) / p_sideCount;
uvs[vert++] = new Vector2(0f, t);
uvs[vert++] = new Vector2(1f, t);
}
// Top cap
sideCounter = 0;
while (vert < vertexCapCount * 2)
{
float t = (float) (sideCounter++) / p_sideCount;
uvs[vert++] = new Vector2(0f, t);
uvs[vert++] = new Vector2(1f, t);
}
// Sides (out)
sideCounter = 0;
while (vert < vertexCapCount * 2 + vertexSideCount)
{
float t = (float) (sideCounter++) / p_sideCount;
uvs[vert++] = new Vector2(t, 0f);
uvs[vert++] = new Vector2(t, 1f);
}
// Sides (in)
sideCounter = 0;
while (vert < vertices.Length)
{
float t = (float) (sideCounter++) / p_sideCount;
uvs[vert++] = new Vector2(t, 0f);
uvs[vert++] = new Vector2(t, 1f);
}
int faceCount = p_sideCount * 4;
int triangleCount = faceCount * 2;
int indexCount = triangleCount * 3;
int[] triangles = new int[indexCount];
// Bottom cap
int i = 0;
sideCounter = 0;
while (sideCounter < p_sideCount)
{
int current = sideCounter * 2;
int next = sideCounter * 2 + 2;
triangles[i++] = next + 1;
triangles[i++] = next;
triangles[i++] = current;
triangles[i++] = current + 1;
triangles[i++] = next + 1;
triangles[i++] = current;
sideCounter++;
}
// Top cap
while (sideCounter < p_sideCount * 2)
{
int current = sideCounter * 2 + 2;
int next = sideCounter * 2 + 4;
triangles[i++] = current;
triangles[i++] = next;
triangles[i++] = next + 1;
triangles[i++] = current;
triangles[i++] = next + 1;
triangles[i++] = current + 1;
sideCounter++;
}
// Sides (out)
while (sideCounter < p_sideCount * 3)
{
int current = sideCounter * 2 + 4;
int next = sideCounter * 2 + 6;
triangles[i++] = current;
triangles[i++] = next;
triangles[i++] = next + 1;
triangles[i++] = current;
triangles[i++] = next + 1;
triangles[i++] = current + 1;
sideCounter++;
}
// Sides (in)
while (sideCounter < p_sideCount * 4)
{
int current = sideCounter * 2 + 6;
int next = sideCounter * 2 + 8;
triangles[i++] = next + 1;
triangles[i++] = next;
triangles[i++] = current;
triangles[i++] = current + 1;
triangles[i++] = next + 1;
triangles[i++] = current;
sideCounter++;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateTorus(float p_radius, float p_thickness, int p_radiusSegmentCount, int p_sideCount)
{
Mesh mesh = new Mesh();
Vector3[] vertices = new Vector3[(p_radiusSegmentCount + 1) * (p_sideCount + 1)];
float _2pi = Mathf.PI * 2f;
for (int seg = 0; seg <= p_radiusSegmentCount; seg++)
{
int currSeg = seg == p_radiusSegmentCount ? 0 : seg;
float t1 = (float) currSeg / p_radiusSegmentCount * _2pi;
Vector3 r1 = new Vector3(Mathf.Cos(t1) * p_radius, 0f, Mathf.Sin(t1) * p_radius);
for (int side = 0; side <= p_sideCount; side++)
{
int currSide = side == p_sideCount ? 0 : side;
Vector3 normale = Vector3.Cross(r1, Vector3.up);
float t2 = (float) currSide / p_sideCount * _2pi;
Vector3 r2 = Quaternion.AngleAxis(-t1 * Mathf.Rad2Deg, Vector3.up) *
new Vector3(Mathf.Sin(t2) * p_thickness, Mathf.Cos(t2) * p_thickness);
vertices[side + seg * (p_sideCount + 1)] = r1 + r2;
}
}
Vector3[] normals = new Vector3[vertices.Length];
for (int seg = 0; seg <= p_radiusSegmentCount; seg++)
{
int currSeg = seg == p_radiusSegmentCount ? 0 : seg;
float t1 = (float) currSeg / p_radiusSegmentCount * _2pi;
Vector3 r1 = new Vector3(Mathf.Cos(t1) * p_radius, 0f, Mathf.Sin(t1) * p_radius);
for (int side = 0; side <= p_sideCount; side++)
{
normals[side + seg * (p_sideCount + 1)] =
(vertices[side + seg * (p_sideCount + 1)] - r1).normalized;
}
}
Vector2[] uvs = new Vector2[vertices.Length];
for (int seg = 0; seg <= p_radiusSegmentCount; seg++)
for (int side = 0; side <= p_sideCount; side++)
uvs[side + seg * (p_sideCount + 1)] =
new Vector2((float) seg / p_radiusSegmentCount, (float) side / p_sideCount);
int faceCount = vertices.Length;
int triangleCount = faceCount * 2;
int indexCount = triangleCount * 3;
int[] triangles = new int[indexCount];
int i = 0;
for (int seg = 0; seg <= p_radiusSegmentCount; seg++)
{
for (int side = 0; side <= p_sideCount - 1; side++)
{
int current = side + seg * (p_sideCount + 1);
int next = side + (seg < (p_radiusSegmentCount) ? (seg + 1) * (p_sideCount + 1) : 0);
if (i < triangles.Length - 6)
{
triangles[i++] = current;
triangles[i++] = next;
triangles[i++] = next + 1;
triangles[i++] = current;
triangles[i++] = next + 1;
triangles[i++] = current + 1;
}
}
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
static public Mesh CreateSphere(float p_radius, int p_longitudeCount, int p_lattitudeCount)
{
Mesh mesh = new Mesh();
mesh.Clear();
Vector3[] vertices = new Vector3[(p_longitudeCount+1) * p_lattitudeCount + 2];
float _pi = Mathf.PI;
float _2pi = _pi * 2f;
vertices[0] = Vector3.up * p_radius;
for( int lat = 0; lat < p_lattitudeCount; lat++ )
{
float a1 = _pi * (float)(lat+1) / (p_lattitudeCount+1);
float sin1 = Mathf.Sin(a1);
float cos1 = Mathf.Cos(a1);
for( int lon = 0; lon <= p_longitudeCount; lon++ )
{
float a2 = _2pi * (float)(lon == p_longitudeCount ? 0 : lon) / p_longitudeCount;
float sin2 = Mathf.Sin(a2);
float cos2 = Mathf.Cos(a2);
vertices[ lon + lat * (p_longitudeCount + 1) + 1] = new Vector3( sin1 * cos2, cos1, sin1 * sin2 ) * p_radius;
}
}
vertices[vertices.Length-1] = Vector3.up * -p_radius;
Vector3[] normals = new Vector3[vertices.Length];
for( int n = 0; n < vertices.Length; n++ )
normals[n] = vertices[n].normalized;
Vector2[] uvs = new Vector2[vertices.Length];
uvs[0] = Vector2.up;
uvs[uvs.Length-1] = Vector2.zero;
for( int lat = 0; lat < p_lattitudeCount; lat++ )
for( int lon = 0; lon <= p_longitudeCount; lon++ )
uvs[lon + lat * (p_longitudeCount + 1) + 1] = new Vector2( (float)lon / p_longitudeCount, 1f - (float)(lat+1) / (p_lattitudeCount+1) );
int faceCount = vertices.Length;
int triangleCount = faceCount * 2;
int indexCount = triangleCount * 3;
int[] triangles = new int[ indexCount ];
//Top Cap
int i = 0;
for( int lon = 0; lon < p_longitudeCount; lon++ )
{
triangles[i++] = lon+2;
triangles[i++] = lon+1;
triangles[i++] = 0;
}
//Middle
for( int lat = 0; lat < p_lattitudeCount - 1; lat++ )
{
for( int lon = 0; lon < p_longitudeCount; lon++ )
{
int current = lon + lat * (p_longitudeCount + 1) + 1;
int next = current + p_longitudeCount + 1;
triangles[i++] = current;
triangles[i++] = current + 1;
triangles[i++] = next + 1;
triangles[i++] = current;
triangles[i++] = next + 1;
triangles[i++] = next;
}
}
//Bottom Cap
for( int lon = 0; lon < p_longitudeCount; lon++ )
{
triangles[i++] = vertices.Length - 1;
triangles[i++] = vertices.Length - (lon+2) - 1;
triangles[i++] = vertices.Length - (lon+1) - 1;
}
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uvs;
mesh.triangles = triangles;
mesh.RecalculateBounds();
mesh.Optimize();
return mesh;
}
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/MeshUtils.cs.meta
================================================
fileFormatVersion: 2
guid: 9a4bcd6adf26f9548996c3b2dac3215a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils.meta
================================================
fileFormatVersion: 2
guid: 8e54c08f563848849e74976a3cbbf235
timeCreated: 1603357836
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts.meta
================================================
fileFormatVersion: 2
guid: 394a97cdf878fda4cbed5380738fb0ac
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Sprites/Move-Icon.png.meta
================================================
fileFormatVersion: 2
guid: 051bce463e99c431ab45f4b1c3734584
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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: Server
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: 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:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Sprites/Rotate-Icon.png.meta
================================================
fileFormatVersion: 2
guid: 9dc1f02eb7b3540a6899de3e2cfaa38e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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: Server
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: 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:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Sprites/Scale-Icon.png.meta
================================================
fileFormatVersion: 2
guid: cf489f9b2f7ce40f6ad54209ee794526
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
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
cookieLightType: 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: Server
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: 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:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/Sprites.meta
================================================
fileFormatVersion: 2
guid: f71c7cc0745fb45a38392d10844e3cfc
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/package.json
================================================
{
"name": "com.shtif.runtimetransformhandle",
"displayName": "Runtime Transform Handle",
"version": "0.1.4",
"unity": "2019.4",
"description": "Transform handles/gizmos for runtime use.",
"author": {
"name": "Peter @sHTiF Stefcek",
"email": "psthif@gmail.com"
},
"keywords": [
"package",
"unity"
],
"dependencies": {
}
}
================================================
FILE: Assets/Plugins/RuntimeTransformHandle/package.json.meta
================================================
fileFormatVersion: 2
guid: 31131589ff97ec446826ba4bbc7086d3
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins/RuntimeTransformHandle.meta
================================================
fileFormatVersion: 2
guid: a76f415e45e0b3548815bd4cd0994975
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Plugins.meta
================================================
fileFormatVersion: 2
guid: f437c94b97613dc49a5933cdea3b03ff
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/RuntimeHandleTest.cs
================================================
using System.Collections;
using System.Collections.Generic;
using RuntimeHandle;
using UnityEngine;
public class RuntimeHandleTest : MonoBehaviour
{
public Transform cube;
// Start is called before the first frame update
void Start()
{
RuntimeTransformHandle.Create(cube, HandleType.POSITION);
}
// Update is called once per frame
void Update()
{
}
}
================================================
FILE: Assets/RuntimeHandleTest.cs.meta
================================================
fileFormatVersion: 2
guid: abd7ea1532fb10f4981049738b87c30c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Scenes/CubeMaterial.mat
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CubeMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
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_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}
================================================
FILE: Assets/Scenes/CubeMaterial.mat.meta
================================================
fileFormatVersion: 2
guid: 5c949d3705413b645aa43ff6900169e4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Scenes/TestScene.unity
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &30938832
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 30938836}
- component: {fileID: 30938835}
- component: {fileID: 30938834}
- component: {fileID: 30938833}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!65 &30938833
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30938832}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &30938834
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30938832}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 5c949d3705413b645aa43ff6900169e4, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &30938835
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30938832}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &30938836
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 30938832}
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_Children: []
m_Father: {fileID: 879991007}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &879991006
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 879991007}
m_Layer: 0
m_Name: Root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &879991007
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 879991006}
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_Children:
- {fileID: 30938836}
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &886247217
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 886247220}
- component: {fileID: 886247219}
- component: {fileID: 886247218}
- component: {fileID: 886247221}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &886247218
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 886247217}
m_Enabled: 1
--- !u!20 &886247219
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 886247217}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &886247220
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 886247217}
m_LocalRotation: {x: 0.2090493, y: -0.36225063, z: 0.08372684, w: 0.90446824}
m_LocalPosition: {x: 3.84, y: 3.88, z: -4.02}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 26.028, y: -43.653, z: 0}
--- !u!114 &886247221
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 886247217}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!1 &988115216
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 988115218}
- component: {fileID: 988115217}
m_Layer: 0
m_Name: Runtime1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!114 &988115217
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 988115216}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ecfa17e94c9ff9c47b43ede109092ac1, type: 3}
m_Name:
m_EditorClassIdentifier:
axes: 6
space: 1
type: 1
snappingType: 1
positionSnap: {x: 0, y: 0, z: 0}
rotationSnap: 0
scaleSnap: {x: 0, y: 0, z: 0}
autoScale: 0
autoScaleFactor: 1
handleCamera: {fileID: 0}
target: {fileID: 30938836}
--- !u!4 &988115218
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 988115216}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 8.867656, y: 10.120395, z: -2.576685}
m_LocalScale: {x: 1.2, y: 1.2, z: 1.2}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1433307799
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1433307801}
- component: {fileID: 1433307800}
m_Layer: 0
m_Name: Runtime
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1433307800
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1433307799}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ecfa17e94c9ff9c47b43ede109092ac1, type: 3}
m_Name:
m_EditorClassIdentifier:
axes: 6
space: 1
type: 1
snappingType: 0
positionSnap: {x: 0, y: 0, z: 0}
rotationSnap: 0
scaleSnap: {x: 0, y: 0, z: 0}
autoScale: 0
autoScaleFactor: 1
handleCamera: {fileID: 0}
target: {fileID: 30938836}
--- !u!4 &1433307801
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1433307799}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 8.867656, y: 10.120395, z: -2.576685}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1687873331
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1687873333}
- component: {fileID: 1687873332}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1687873332
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1687873331}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1687873333
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1687873331}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &2017666784
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2017666786}
- component: {fileID: 2017666785}
m_Layer: 0
m_Name: Runtime2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!114 &2017666785
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2017666784}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ecfa17e94c9ff9c47b43ede109092ac1, type: 3}
m_Name:
m_EditorClassIdentifier:
axes: 6
space: 1
type: 2
snappingType: 1
positionSnap: {x: 0, y: 0, z: 0}
rotationSnap: 0
scaleSnap: {x: 0, y: 0, z: 0}
autoScale: 0
autoScaleFactor: 1
handleCamera: {fileID: 0}
target: {fileID: 30938836}
--- !u!4 &2017666786
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2017666784}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 8.867656, y: 10.120395, z: -2.576685}
m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
================================================
FILE: Assets/Scenes/TestScene.unity.meta
================================================
fileFormatVersion: 2
guid: d6325f3f903727644bba5477c9a7d0d6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Scenes.meta
================================================
fileFormatVersion: 2
guid: b6d330becb0133744859adad5284cce2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings/ForwardRenderer.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: ForwardRenderer
m_EditorClassIdentifier:
m_RendererFeatures: []
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
type: 3}
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 0
stencilCompareFunction: 8
passOperation: 0
failOperation: 0
zFailOperation: 0
================================================
FILE: Assets/Settings/ForwardRenderer.asset.meta
================================================
fileFormatVersion: 2
guid: 4a8e21d5c33334b11b34a596161b9360
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings/SampleSceneProfile.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7893295128165547882
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
threshold:
m_OverrideState: 1
m_Value: 1
min: 0
intensity:
m_OverrideState: 1
m_Value: 1
min: 0
scatter:
m_OverrideState: 0
m_Value: 0.7
min: 0
max: 1
clamp:
m_OverrideState: 0
m_Value: 65472
min: 0
tint:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
hdr: 0
showAlpha: 0
showEyeDropper: 1
highQualityFiltering:
m_OverrideState: 0
m_Value: 0
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dirtIntensity:
m_OverrideState: 0
m_Value: 0
min: 0
--- !u!114 &-7011558710299706105
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
color:
m_OverrideState: 0
m_Value: {r: 0, g: 0, b: 0, a: 1}
hdr: 0
showAlpha: 0
showEyeDropper: 1
center:
m_OverrideState: 0
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0.25
min: 0
max: 1
smoothness:
m_OverrideState: 1
m_Value: 0.4
min: 0.01
max: 1
rounded:
m_OverrideState: 0
m_Value: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: SampleSceneProfile
m_EditorClassIdentifier:
components:
- {fileID: 849379129802519247}
- {fileID: -7893295128165547882}
- {fileID: -7011558710299706105}
--- !u!114 &849379129802519247
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
m_AdvancedMode: 0
mode:
m_OverrideState: 1
m_Value: 2
================================================
FILE: Assets/Settings/SampleSceneProfile.asset.meta
================================================
fileFormatVersion: 2
guid: 10fc4df2da32a41aaa32d77bc913491c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings/UniversalRP-HighQuality.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: UniversalRP-HighQuality
m_EditorClassIdentifier:
k_AssetVersion: 5
k_AssetPreviousVersion: 5
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsHDR: 1
m_MSAA: 2
m_RenderScale: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 512
m_ShadowDistance: 50
m_ShadowCascades: 1
m_Cascade2Split: 0.25
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_SoftShadowsSupported: 1
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_DebugLevel: 0
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
================================================
FILE: Assets/Settings/UniversalRP-HighQuality.asset.meta
================================================
fileFormatVersion: 2
guid: 19ba41d7c0026c3459d37c2fe90c55a0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings/UniversalRP-LowQuality.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: UniversalRP-LowQuality
m_EditorClassIdentifier:
k_AssetVersion: 5
k_AssetPreviousVersion: 5
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsHDR: 0
m_MSAA: 1
m_RenderScale: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 0
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 0
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 512
m_ShadowDistance: 50
m_ShadowCascades: 0
m_Cascade2Split: 0.25
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_SoftShadowsSupported: 0
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_DebugLevel: 0
m_ColorGradingMode: 0
m_ColorGradingLutSize: 16
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
================================================
FILE: Assets/Settings/UniversalRP-LowQuality.asset.meta
================================================
fileFormatVersion: 2
guid: a31e9f9f9c9d4b9429ed0d1234e22103
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings/UniversalRP-MediumQuality.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: UniversalRP-MediumQuality
m_EditorClassIdentifier:
k_AssetVersion: 5
k_AssetPreviousVersion: 5
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: 4a8e21d5c33334b11b34a596161b9360, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsHDR: 0
m_MSAA: 1
m_RenderScale: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 512
m_ShadowDistance: 50
m_ShadowCascades: 0
m_Cascade2Split: 0.25
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_SoftShadowsSupported: 0
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_DebugLevel: 0
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_ShaderVariantLogLevel: 0
================================================
FILE: Assets/Settings/UniversalRP-MediumQuality.asset.meta
================================================
fileFormatVersion: 2
guid: d847b876476d3d6468f5dfcd34266f96
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Settings.meta
================================================
fileFormatVersion: 2
guid: 0735c275001a2c84dafdb30deced5d8d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Peter @sHTiF Stefcek
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: Packages/manifest.json
================================================
{
"dependencies": {
"com.unity.collab-proxy": "2.0.1",
"com.unity.ide.rider": "3.0.18",
"com.unity.ide.visualstudio": "2.0.17",
"com.unity.ide.vscode": "1.2.5",
"com.unity.inputsystem": "1.5.1",
"com.unity.render-pipelines.universal": "10.10.1",
"com.unity.test-framework": "1.1.33",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.4.8",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.cloth": "1.0.0",
"com.unity.modules.director": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.physics2d": "1.0.0",
"com.unity.modules.screencapture": "1.0.0",
"com.unity.modules.terrain": "1.0.0",
"com.unity.modules.terrainphysics": "1.0.0",
"com.unity.modules.tilemap": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.modules.umbra": "1.0.0",
"com.unity.modules.unityanalytics": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.unitywebrequesttexture": "1.0.0",
"com.unity.modules.unitywebrequestwww": "1.0.0",
"com.unity.modules.vehicles": "1.0.0",
"com.unity.modules.video": "1.0.0",
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.wind": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
}
================================================
FILE: Packages/packages-lock.json
================================================
{
"dependencies": {
"com.unity.collab-proxy": {
"version": "2.0.1",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": {
"version": "1.0.6",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ide.rider": {
"version": "3.0.18",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.6"
},
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
"version": "2.0.17",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.1.9"
},
"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
"version": "1.2.5",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.inputsystem": {
"version": "1.5.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.uielements": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.mathematics": {
"version": "1.1.0",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.core": {
"version": "10.10.1",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.universal": {
"version": "10.10.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.mathematics": "1.1.0",
"com.unity.render-pipelines.core": "10.10.1",
"com.unity.shadergraph": "10.10.1"
},
"url": "https://packages.unity.com"
},
"com.unity.searcher": {
"version": "4.3.2",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.shadergraph": {
"version": "10.10.1",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.render-pipelines.core": "10.10.1",
"com.unity.searcher": "4.3.2"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
"version": "1.1.33",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.6",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.textmeshpro": {
"version": "3.0.6",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
"version": "1.4.8",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.director": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.ugui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0"
}
},
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.androidjni": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.animation": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.assetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.audio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.cloth": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.director": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.animation": "1.0.0"
}
},
"com.unity.modules.imageconversion": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.imgui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.jsonserialize": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.particlesystem": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics2d": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.screencapture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.subsystems": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.terrain": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.terrainphysics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.terrain": "1.0.0"
}
},
"com.unity.modules.tilemap": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics2d": "1.0.0"
}
},
"com.unity.modules.ui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.uielements": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.uielementsnative": "1.0.0"
}
},
"com.unity.modules.uielementsnative": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.umbra": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unityanalytics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.unitywebrequest": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unitywebrequestassetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.unitywebrequestaudio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.audio": "1.0.0"
}
},
"com.unity.modules.unitywebrequesttexture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.unitywebrequestwww": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.vehicles": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.video": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.vr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
},
"com.unity.modules.wind": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.xr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.subsystems": "1.0.0"
}
}
}
}
================================================
FILE: ProjectSettings/AudioManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!11 &1
AudioManager:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Volume: 1
Rolloff Scale: 1
Doppler Factor: 1
Default Speaker Mode: 2
m_SampleRate: 0
m_DSPBufferSize: 1024
m_VirtualVoiceCount: 512
m_RealVoiceCount: 32
m_SpatializerPlugin:
m_AmbisonicDecoderPlugin:
m_DisableAudio: 0
m_VirtualizeEffects: 1
m_RequestedDSPBufferSize: 0
================================================
FILE: ProjectSettings/ClusterInputManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!236 &1
ClusterInputManager:
m_ObjectHideFlags: 0
m_Inputs: []
================================================
FILE: ProjectSettings/DynamicsManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!55 &1
PhysicsManager:
m_ObjectHideFlags: 0
serializedVersion: 13
m_Gravity: {x: 0, y: -9.81, z: 0}
m_DefaultMaterial: {fileID: 0}
m_BounceThreshold: 2
m_SleepThreshold: 0.005
m_DefaultContactOffset: 0.01
m_DefaultSolverIterations: 6
m_DefaultSolverVelocityIterations: 1
m_QueriesHitBackfaces: 0
m_QueriesHitTriggers: 1
m_EnableAdaptiveForce: 0
m_ClothInterCollisionDistance: 0.1
m_ClothInterCollisionStiffness: 0.2
m_ContactsGeneration: 1
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
m_AutoSimulation: 1
m_AutoSyncTransforms: 0
m_ReuseCollisionCallbacks: 1
m_ClothInterCollisionSettingsToggle: 0
m_ClothGravity: {x: 0, y: -9.81, z: 0}
m_ContactPairsMode: 0
m_BroadphaseType: 0
m_WorldBounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 250, y: 250, z: 250}
m_WorldSubdivisions: 8
m_FrictionType: 0
m_EnableEnhancedDeterminism: 0
m_EnableUnifiedHeightmaps: 1
m_SolverType: 0
m_DefaultMaxAngularSpeed: 7
================================================
FILE: ProjectSettings/EditorBuildSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1045 &1
EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 1
path: Assets/Scenes/SampleScene.unity
guid: d1c3109bdb54ad54c8a2b2838528e640
m_configObjects: {}
================================================
FILE: ProjectSettings/EditorSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!159 &1
EditorSettings:
m_AssetPipelineMode: 1
m_ObjectHideFlags: 0
serializedVersion: 10
m_ExternalVersionControlSupport: Visible Meta Files
m_SerializationMode: 2
m_LineEndingsForNewScripts: 0
m_DefaultBehaviorMode: 0
m_PrefabRegularEnvironment: {fileID: 0}
m_PrefabUIEnvironment: {fileID: 0}
m_SpritePackerMode: 0
m_SpritePackerPaddingPower: 1
m_EtcTextureCompressorBehavior: 1
m_EtcTextureFastCompressor: 1
m_EtcTextureNormalCompressor: 2
m_EtcTextureBestCompressor: 4
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp
m_ProjectGenerationRootNamespace:
m_CollabEditorSettings:
inProgressEnabled: 1
m_EnableTextureStreamingInEditMode: 1
m_EnableTextureStreamingInPlayMode: 1
m_AsyncShaderCompilation: 1
m_EnterPlayModeOptionsEnabled: 0
m_EnterPlayModeOptions: 3
m_ShowLightmapResolutionOverlay: 1
m_UseLegacyProbeSampleCount: 0
m_SerializeInlineMappingsOnOneLine: 1
================================================
FILE: ProjectSettings/GraphicsSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!30 &1
GraphicsSettings:
m_ObjectHideFlags: 0
serializedVersion: 13
m_Deferred:
m_Mode: 1
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
m_DeferredReflections:
m_Mode: 1
m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
m_ScreenSpaceShadows:
m_Mode: 1
m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
m_LegacyDeferred:
m_Mode: 1
m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
m_DepthNormals:
m_Mode: 1
m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
m_MotionVectors:
m_Mode: 1
m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
m_LightHalo:
m_Mode: 1
m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
m_LensFlare:
m_Mode: 1
m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
m_AlwaysIncludedShaders:
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}
m_CustomRenderPipeline: {fileID: 0}
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
m_DefaultRenderingPath: 1
m_DefaultMobileRenderingPath: 1
m_TierSettings: []
m_LightmapStripping: 0
m_FogStripping: 0
m_InstancingStripping: 0
m_LightmapKeepPlain: 1
m_LightmapKeepDirCombined: 1
m_LightmapKeepDynamicPlain: 1
m_LightmapKeepDynamicDirCombined: 1
m_LightmapKeepShadowMask: 1
m_LightmapKeepSubtractive: 1
m_FogKeepLinear: 1
m_FogKeepExp: 1
m_FogKeepExp2: 1
m_AlbedoSwatchInfos: []
m_LightsUseLinearIntensity: 1
m_LightsUseColorTemperature: 0
m_LogWhenShaderIsCompiled: 0
m_AllowEnlightenSupportForUpgradedProject: 1
================================================
FILE: ProjectSettings/InputManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!13 &1
InputManager:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Axes:
- serializedVersion: 3
m_Name: Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton: left
positiveButton: right
altNegativeButton: a
altPositiveButton: d
gravity: 3
dead: 0.001
sensitivity: 3
snap: 1
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton: down
positiveButton: up
altNegativeButton: s
altPositiveButton: w
gravity: 3
dead: 0.001
sensitivity: 3
snap: 1
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire1
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left ctrl
altNegativeButton:
altPositiveButton: mouse 0
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire2
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left alt
altNegativeButton:
altPositiveButton: mouse 1
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire3
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left shift
altNegativeButton:
altPositiveButton: mouse 2
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Jump
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: space
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse X
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse Y
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Mouse ScrollWheel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 2
joyNum: 0
- serializedVersion: 3
m_Name: Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
invert: 0
type: 2
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
invert: 1
type: 2
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Fire1
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 0
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire2
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 1
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire3
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 2
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Jump
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 3
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: return
altNegativeButton:
altPositiveButton: joystick button 0
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: enter
altNegativeButton:
altPositiveButton: space
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Cancel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: escape
altNegativeButton:
altPositiveButton: joystick button 1
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Enable Debug Button 1
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left ctrl
altNegativeButton:
altPositiveButton: joystick button 8
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Enable Debug Button 2
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: backspace
altNegativeButton:
altPositiveButton: joystick button 9
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Reset
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left alt
altNegativeButton:
altPositiveButton: joystick button 1
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Next
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: page down
altNegativeButton:
altPositiveButton: joystick button 5
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Previous
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: page up
altNegativeButton:
altPositiveButton: joystick button 4
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Validate
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: return
altNegativeButton:
altPositiveButton: joystick button 0
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Persistent
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: right shift
altNegativeButton:
altPositiveButton: joystick button 2
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Multiplier
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left shift
altNegativeButton:
altPositiveButton: joystick button 3
gravity: 0
dead: 0
sensitivity: 0
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton: left
positiveButton: right
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton: down
positiveButton: up
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Debug Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton: down
positiveButton: up
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 2
axis: 6
joyNum: 0
- serializedVersion: 3
m_Name: Debug Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton: left
positiveButton: right
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 2
axis: 5
joyNum: 0
================================================
FILE: ProjectSettings/NavMeshAreas.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!126 &1
NavMeshProjectSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
areas:
- name: Walkable
cost: 1
- name: Not Walkable
cost: 1
- name: Jump
cost: 2
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
- name:
cost: 1
m_LastAgentTypeID: -887442657
m_Settings:
- serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.75
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_SettingNames:
- Humanoid
================================================
FILE: ProjectSettings/PackageManagerSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier:
m_EnablePreviewPackages: 0
m_EnablePackageDependencies: 0
m_AdvancedSettingsExpanded: 1
m_ScopedRegistriesSettingsExpanded: 1
oneTimeWarningShown: 0
m_Registries:
- m_Id: main
m_Name:
m_Url: https://packages.unity.com
m_Scopes: []
m_IsDefault: 1
m_Capabilities: 7
m_ConfigSource: 0
m_UserSelectedRegistryName:
m_UserAddingNewScopedRegistry: 0
m_RegistryInfoDraft:
m_ErrorMessage:
m_Original:
m_Id:
m_Name:
m_Url:
m_Scopes: []
m_IsDefault: 0
m_Capabilities: 0
m_ConfigSource: 0
m_Modified: 0
m_Name:
m_Url:
m_Scopes:
-
m_SelectedScopeIndex: 0
================================================
FILE: ProjectSettings/Physics2DSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!19 &1
Physics2DSettings:
m_ObjectHideFlags: 0
serializedVersion: 4
m_Gravity: {x: 0, y: -9.81}
m_DefaultMaterial: {fileID: 0}
m_VelocityIterations: 8
m_PositionIterations: 3
m_VelocityThreshold: 1
m_MaxLinearCorrection: 0.2
m_MaxAngularCorrection: 8
m_MaxTranslationSpeed: 100
m_MaxRotationSpeed: 360
m_BaumgarteScale: 0.2
m_BaumgarteTimeOfImpactScale: 0.75
m_TimeToSleep: 0.5
m_LinearSleepTolerance: 0.01
m_AngularSleepTolerance: 2
m_DefaultContactOffset: 0.01
m_JobOptions:
serializedVersion: 2
useMultithreading: 0
useConsistencySorting: 0
m_InterpolationPosesPerJob: 100
m_NewContactsPerJob: 30
m_CollideContactsPerJob: 100
m_ClearFlagsPerJob: 200
m_ClearBodyForcesPerJob: 200
m_SyncDiscreteFixturesPerJob: 50
m_SyncContinuousFixturesPerJob: 50
m_FindNearestContactsPerJob: 100
m_UpdateTriggerContactsPerJob: 100
m_IslandSolverCostThreshold: 100
m_IslandSolverBodyCostScale: 1
m_IslandSolverContactCostScale: 10
m_IslandSolverJointCostScale: 10
m_IslandSolverBodiesPerJob: 50
m_IslandSolverContactsPerJob: 50
m_AutoSimulation: 1
m_QueriesHitTriggers: 1
m_QueriesStartInColliders: 1
m_CallbacksOnDisable: 1
m_ReuseCollisionCallbacks: 1
m_AutoSyncTransforms: 0
m_AlwaysShowColliders: 0
m_ShowColliderSleep: 1
m_ShowColliderContacts: 0
m_ShowColliderAABB: 0
m_ContactArrowScale: 0.2
m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
================================================
FILE: ProjectSettings/PresetManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1386491679 &1
PresetManager:
m_ObjectHideFlags: 0
m_DefaultList:
- type:
m_NativeTypeID: 108
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: 463065d4f17d1d94d848aa127b94dd43,
type: 2}
- type:
m_NativeTypeID: 1020
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: e7689051185d12f4298e1ebb2693a29f,
type: 2}
- type:
m_NativeTypeID: 1006
m_ManagedTypePPtr: {fileID: 0}
m_ManagedTypeFallback:
defaultPresets:
- m_Preset: {fileID: 2655988077585873504, guid: e8537455c6c08bd4e8bf0be3707da685,
type: 2}
================================================
FILE: ProjectSettings/ProjectSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
serializedVersion: 21
productGUID: c7eaf07638ff1a5439b7ea2a279eda94
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
AndroidEnableSustainedPerformanceMode: 0
defaultScreenOrientation: 4
targetDevice: 2
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: DefaultCompany
productName: RuntimeTransformHandle
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
m_ShowUnitySplashScreen: 1
m_ShowUnitySplashLogo: 1
m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1
m_SplashScreenDrawMode: 0
m_SplashScreenBackgroundAnimationZoom: 1
m_SplashScreenLogoAnimationZoom: 1
m_SplashScreenBackgroundLandscapeAspect: 1
m_SplashScreenBackgroundPortraitAspect: 1
m_SplashScreenBackgroundLandscapeUvs:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
m_SplashScreenBackgroundPortraitUvs:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
m_SplashScreenLogos: []
m_VirtualRealitySplashScreen: {fileID: 0}
m_HolographicTrackingLossScreen: {fileID: 0}
defaultScreenWidth: 1920
defaultScreenHeight: 1080
defaultScreenWidthWeb: 960
defaultScreenHeightWeb: 600
m_StereoRenderingPath: 0
m_ActiveColorSpace: 1
m_MTRendering: 1
mipStripping: 0
numberOfMipsStripped: 0
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
iosShowActivityIndicatorOnLoading: -1
androidShowActivityIndicatorOnLoading: -1
iosUseCustomAppBackgroundBehavior: 0
iosAllowHTTPDownload: 1
allowedAutorotateToPortrait: 1
allowedAutorotateToPortraitUpsideDown: 1
allowedAutorotateToLandscapeRight: 1
allowedAutorotateToLandscapeLeft: 1
useOSAutorotation: 1
use32BitDisplayBuffer: 1
preserveFramebufferAlpha: 0
disableDepthAndStencilBuffers: 0
androidStartInFullscreen: 1
androidRenderOutsideSafeArea: 0
androidUseSwappy: 1
androidBlitType: 1
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 1
captureSingleScreen: 0
muteOtherAudioSources: 0
Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0
deferSystemGesturesMode: 0
hideHomeButton: 0
submitAnalytics: 1
usePlayerLog: 1
bakeCollisionMeshes: 0
forceSingleInstance: 0
useFlipModelSwapchain: 1
resizableWindow: 0
useMacAppStoreValidation: 0
macAppStoreCategory: public.app-category.games
gpuSkinning: 1
xboxPIXTextureCapture: 0
xboxEnableAvatar: 0
xboxEnableKinect: 0
xboxEnableKinectAutoTracking: 0
xboxEnableFitness: 0
visibleInBackground: 1
allowFullscreenSwitch: 1
fullscreenMode: 1
xboxSpeechDB: 0
xboxEnableHeadOrientation: 0
xboxEnableGuest: 0
xboxEnablePIXSampling: 0
metalFramebufferOnly: 0
xboxOneResolution: 0
xboxOneSResolution: 0
xboxOneXResolution: 3
xboxOneMonoLoggingLevel: 0
xboxOneLoggingLevel: 1
xboxOneDisableEsram: 0
xboxOneEnableTypeOptimization: 0
xboxOnePresentImmediateThreshold: 0
switchQueueCommandMemory: 0
switchQueueControlMemory: 0
switchQueueComputeMemory: 262144
switchNVNShaderPoolsGranularity: 33554432
switchNVNDefaultPoolsGranularity: 16777216
switchNVNOtherPoolsGranularity: 16777216
switchNVNMaxPublicTextureIDCount: 0
switchNVNMaxPublicSamplerIDCount: 0
stadiaPresentMode: 0
stadiaTargetFramerate: 0
vulkanNumSwapchainBuffers: 3
vulkanEnableSetSRGBWrite: 0
vulkanEnablePreTransform: 0
vulkanEnableLateAcquireNextImage: 0
m_SupportedAspectRatios:
4:3: 1
5:4: 1
16:10: 1
16:9: 1
Others: 1
bundleVersion: 0.1
preloadedAssets: []
metroInputSource: 0
wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1
xboxOneDisableKinectGpuReservation: 1
xboxOneEnable7thCore: 1
vrSettings:
enable360StereoCapture: 0
isWsaHolographicRemotingEnabled: 0
enableFrameTimingStats: 0
useHDRDisplay: 0
D3DHDRBitDepth: 0
m_ColorGamuts: 0000000003000000
targetPixelDensity: 30
resolutionScalingMode: 0
androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier: {}
buildNumber:
Standalone: 0
iPhone: 0
tvOS: 0
overrideDefaultApplicationIdentifier: 0
AndroidBundleVersionCode: 1
AndroidMinSdkVersion: 19
AndroidTargetSdkVersion: 0
AndroidPreferredInstallLocation: 1
aotOptions:
stripEngineCode: 1
iPhoneStrippingLevel: 0
iPhoneScriptCallOptimization: 0
ForceInternetPermission: 0
ForceSDCardPermission: 0
CreateWallpaper: 0
APKExpansionFiles: 0
keepLoadedShadersAlive: 0
StripUnusedMeshComponents: 0
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 11.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
tvOSTargetOSVersionString: 11.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1
uIStatusBarHidden: 1
uIExitOnSuspend: 0
uIStatusBarStyle: 0
appleTVSplashScreen: {fileID: 0}
appleTVSplashScreen2x: {fileID: 0}
tvOSSmallIconLayers: []
tvOSSmallIconLayers2x: []
tvOSLargeIconLayers: []
tvOSLargeIconLayers2x: []
tvOSTopShelfImageLayers: []
tvOSTopShelfImageLayers2x: []
tvOSTopShelfImageWideLayers: []
tvOSTopShelfImageWideLayers2x: []
iOSLaunchScreenType: 0
iOSLaunchScreenPortrait: {fileID: 0}
iOSLaunchScreenLandscape: {fileID: 0}
iOSLaunchScreenBackgroundColor:
serializedVersion: 2
rgba: 0
iOSLaunchScreenFillPct: 100
iOSLaunchScreenSize: 100
iOSLaunchScreenCustomXibPath:
iOSLaunchScreeniPadType: 0
iOSLaunchScreeniPadImage: {fileID: 0}
iOSLaunchScreeniPadBackgroundColor:
serializedVersion: 2
rgba: 0
iOSLaunchScreeniPadFillPct: 100
iOSLaunchScreeniPadSize: 100
iOSLaunchScreeniPadCustomXibPath:
iOSLaunchScreenCustomStoryboardPath:
iOSLaunchScreeniPadCustomStoryboardPath:
iOSDeviceRequirements: []
iOSURLSchemes: []
iOSBackgroundModes: 0
iOSMetalForceHardShadows: 0
metalEditorSupport: 1
metalAPIValidation: 1
iOSRenderExtraFrameOnPause: 0
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:
iOSManualSigningProvisioningProfileType: 0
tvOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
iOSRequireARKit: 0
iOSAutomaticallyDetectAndAddCapabilities: 1
appleEnableProMotion: 0
clonedFromGUID: 9870af204204ab84596f8a656f2f2ce6
templatePackageId: com.unity.template.universal@10.0.0
templateDefaultScene: Assets/Scenes/SampleScene.unity
useCustomMainManifest: 0
useCustomLauncherManifest: 0
useCustomMainGradleTemplate: 0
useCustomLauncherGradleManifest: 0
useCustomBaseGradleTemplate: 0
useCustomGradlePropertiesTemplate: 0
useCustomProguardFile: 0
AndroidTargetArchitectures: 1
AndroidSplashScreenScale: 0
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeyaliasName:
AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 0
AndroidIsGame: 1
AndroidEnableTango: 0
androidEnableBanner: 1
androidUseLowAccuracyLocation: 0
androidUseCustomKeystore: 0
m_AndroidBanners:
- width: 320
height: 180
banner: {fileID: 0}
androidGamepadSupportLevel: 0
AndroidMinifyWithR8: 0
AndroidMinifyRelease: 0
AndroidMinifyDebug: 0
AndroidValidateAppBundleSize: 1
AndroidAppBundleSizeToValidate: 100
m_BuildTargetIcons: []
m_BuildTargetPlatformIcons: []
m_BuildTargetBatching:
- m_BuildTarget: Standalone
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: tvOS
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: iPhone
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: Android
m_StaticBatching: 1
m_DynamicBatching: 0
- m_BuildTarget: WebGL
m_StaticBatching: 0
m_DynamicBatching: 0
m_BuildTargetGraphicsJobs:
- m_BuildTarget: MacStandaloneSupport
m_GraphicsJobs: 0
- m_BuildTarget: Switch
m_GraphicsJobs: 1
- m_BuildTarget: MetroSupport
m_GraphicsJobs: 1
- m_BuildTarget: AppleTVSupport
m_GraphicsJobs: 0
- m_BuildTarget: BJMSupport
m_GraphicsJobs: 1
- m_BuildTarget: LinuxStandaloneSupport
m_GraphicsJobs: 1
- m_BuildTarget: PS4Player
m_GraphicsJobs: 1
- m_BuildTarget: iOSSupport
m_GraphicsJobs: 0
- m_BuildTarget: WindowsStandaloneSupport
m_GraphicsJobs: 1
- m_BuildTarget: XboxOnePlayer
m_GraphicsJobs: 1
- m_BuildTarget: LuminSupport
m_GraphicsJobs: 0
- m_BuildTarget: AndroidPlayer
m_GraphicsJobs: 0
- m_BuildTarget: WebGLSupport
m_GraphicsJobs: 0
m_BuildTargetGraphicsJobMode:
- m_BuildTarget: PS4Player
m_GraphicsJobMode: 0
- m_BuildTarget: XboxOnePlayer
m_GraphicsJobMode: 0
m_BuildTargetGraphicsAPIs:
- m_BuildTarget: iOSSupport
m_APIs: 10000000
m_Automatic: 1
- m_BuildTarget: AppleTVSupport
m_APIs: 10000000
m_Automatic: 1
- m_BuildTarget: AndroidPlayer
m_APIs: 150000000b000000
m_Automatic: 0
- m_BuildTarget: WebGLSupport
m_APIs: 0b000000
m_Automatic: 0
m_BuildTargetVRSettings: []
openGLRequireES31: 0
openGLRequireES31AEP: 0
openGLRequireES32: 0
m_TemplateCustomTags: {}
mobileMTRendering:
Android: 1
iPhone: 1
tvOS: 1
m_BuildTargetGroupLightmapEncodingQuality:
- m_BuildTarget: Standalone
m_EncodingQuality: 1
m_BuildTargetGroupLightmapSettings: []
m_BuildTargetNormalMapEncoding: []
playModeTestRunnerEnabled: 0
runPlayModeTestAsEditModeTest: 0
actionOnDotNetUnhandledException: 1
enableInternalProfiler: 0
logObjCUncaughtExceptions: 1
enableCrashReportAPI: 0
cameraUsageDescription:
locationUsageDescription:
microphoneUsageDescription:
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
switchSocketAllocatorPoolSize: 128
switchSocketConcurrencyLimit: 14
switchScreenResolutionBehavior: 2
switchUseCPUProfiler: 0
switchUseGOLDLinker: 0
switchApplicationID: 0x01004b9000490000
switchNSODependencies:
switchTitleNames_0:
switchTitleNames_1:
switchTitleNames_2:
switchTitleNames_3:
switchTitleNames_4:
switchTitleNames_5:
switchTitleNames_6:
switchTitleNames_7:
switchTitleNames_8:
switchTitleNames_9:
switchTitleNames_10:
switchTitleNames_11:
switchTitleNames_12:
switchTitleNames_13:
switchTitleNames_14:
switchPublisherNames_0:
switchPublisherNames_1:
switchPublisherNames_2:
switchPublisherNames_3:
switchPublisherNames_4:
switchPublisherNames_5:
switchPublisherNames_6:
switchPublisherNames_7:
switchPublisherNames_8:
switchPublisherNames_9:
switchPublisherNames_10:
switchPublisherNames_11:
switchPublisherNames_12:
switchPublisherNames_13:
switchPublisherNames_14:
switchIcons_0: {fileID: 0}
switchIcons_1: {fileID: 0}
switchIcons_2: {fileID: 0}
switchIcons_3: {fileID: 0}
switchIcons_4: {fileID: 0}
switchIcons_5: {fileID: 0}
switchIcons_6: {fileID: 0}
switchIcons_7: {fileID: 0}
switchIcons_8: {fileID: 0}
switchIcons_9: {fileID: 0}
switchIcons_10: {fileID: 0}
switchIcons_11: {fileID: 0}
switchIcons_12: {fileID: 0}
switchIcons_13: {fileID: 0}
switchIcons_14: {fileID: 0}
switchSmallIcons_0: {fileID: 0}
switchSmallIcons_1: {fileID: 0}
switchSmallIcons_2: {fileID: 0}
switchSmallIcons_3: {fileID: 0}
switchSmallIcons_4: {fileID: 0}
switchSmallIcons_5: {fileID: 0}
switchSmallIcons_6: {fileID: 0}
switchSmallIcons_7: {fileID: 0}
switchSmallIcons_8: {fileID: 0}
switchSmallIcons_9: {fileID: 0}
switchSmallIcons_10: {fileID: 0}
switchSmallIcons_11: {fileID: 0}
switchSmallIcons_12: {fileID: 0}
switchSmallIcons_13: {fileID: 0}
switchSmallIcons_14: {fileID: 0}
switchManualHTML:
switchAccessibleURLs:
switchLegalInformation:
switchMainThreadStackSize: 1048576
switchPresenceGroupId:
switchLogoHandling: 0
switchReleaseVersion: 0
switchDisplayVersion: 1.0.0
switchStartupUserAccount: 0
switchTouchScreenUsage: 0
switchSupportedLanguagesMask: 0
switchLogoType: 0
switchApplicationErrorCodeCategory:
switchUserAccountSaveDataSize: 0
switchUserAccountSaveDataJournalSize: 0
switchApplicationAttribute: 0
switchCardSpecSize: -1
switchCardSpecClock: -1
switchRatingsMask: 0
switchRatingsInt_0: 0
switchRatingsInt_1: 0
switchRatingsInt_2: 0
switchRatingsInt_3: 0
switchRatingsInt_4: 0
switchRatingsInt_5: 0
switchRatingsInt_6: 0
switchRatingsInt_7: 0
switchRatingsInt_8: 0
switchRatingsInt_9: 0
switchRatingsInt_10: 0
switchRatingsInt_11: 0
switchRatingsInt_12: 0
switchLocalCommunicationIds_0:
switchLocalCommunicationIds_1:
switchLocalCommunicationIds_2:
switchLocalCommunicationIds_3:
switchLocalCommunicationIds_4:
switchLocalCommunicationIds_5:
switchLocalCommunicationIds_6:
switchLocalCommunicationIds_7:
switchParentalControl: 0
switchAllowsScreenshot: 1
switchAllowsVideoCapturing: 1
switchAllowsRuntimeAddOnContentInstall: 0
switchDataLossConfirmation: 0
switchUserAccountLockEnabled: 0
switchSystemResourceMemory: 16777216
switchSupportedNpadStyles: 22
switchNativeFsCacheSize: 32
switchIsHoldTypeHorizontal: 0
switchSupportedNpadCount: 8
switchSocketConfigEnabled: 0
switchTcpInitialSendBufferSize: 32
switchTcpInitialReceiveBufferSize: 64
switchTcpAutoSendBufferSizeMax: 256
switchTcpAutoReceiveBufferSizeMax: 256
switchUdpSendBufferSize: 9
switchUdpReceiveBufferSize: 42
switchSocketBufferEfficiency: 4
switchSocketInitializeEnabled: 1
switchNetworkInterfaceManagerInitializeEnabled: 1
switchPlayerConnectionEnabled: 1
switchUseNewStyleFilepaths: 0
ps4NPAgeRating: 12
ps4NPTitleSecret:
ps4NPTrophyPackPath:
ps4ParentalLevel: 11
ps4ContentID: ED1633-NPXX51362_00-0000000000000000
ps4Category: 0
ps4MasterVersion: 01.00
ps4AppVersion: 01.00
ps4AppType: 0
ps4ParamSfxPath:
ps4VideoOutPixelFormat: 0
ps4VideoOutInitialWidth: 1920
ps4VideoOutBaseModeInitialWidth: 1920
ps4VideoOutReprojectionRate: 60
ps4PronunciationXMLPath:
ps4PronunciationSIGPath:
ps4BackgroundImagePath:
ps4StartupImagePath:
ps4StartupImagesFolder:
ps4IconImagesFolder:
ps4SaveDataImagePath:
ps4SdkOverride:
ps4BGMPath:
ps4ShareFilePath:
ps4ShareOverlayImagePath:
ps4PrivacyGuardImagePath:
ps4ExtraSceSysFile:
ps4NPtitleDatPath:
ps4RemotePlayKeyAssignment: -1
ps4RemotePlayKeyMappingDir:
ps4PlayTogetherPlayerCount: 0
ps4EnterButtonAssignment: 1
ps4ApplicationParam1: 0
ps4ApplicationParam2: 0
ps4ApplicationParam3: 0
ps4ApplicationParam4: 0
ps4DownloadDataSize: 0
ps4GarlicHeapSize: 2048
ps4ProGarlicHeapSize: 2560
playerPrefsMaxSize: 32768
ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
ps4pnSessions: 1
ps4pnPresence: 1
ps4pnFriends: 1
ps4pnGameCustomData: 1
playerPrefsSupport: 0
enableApplicationExit: 0
resetTempFolder: 1
restrictedAudioUsageRights: 0
ps4UseResolutionFallback: 0
ps4ReprojectionSupport: 0
ps4UseAudio3dBackend: 0
ps4UseLowGarlicFragmentationMode: 1
ps4SocialScreenEnabled: 0
ps4ScriptOptimizationLevel: 0
ps4Audio3dVirtualSpeakerCount: 14
ps4attribCpuUsage: 0
ps4PatchPkgPath:
ps4PatchLatestPkgPath:
ps4PatchChangeinfoPath:
ps4PatchDayOne: 0
ps4attribUserManagement: 0
ps4attribMoveSupport: 0
ps4attrib3DSupport: 0
ps4attribShareSupport: 0
ps4attribExclusiveVR: 0
ps4disableAutoHideSplash: 0
ps4videoRecordingFeaturesUsed: 0
ps4contentSearchFeaturesUsed: 0
ps4CompatibilityPS5: 0
ps4GPU800MHz: 1
ps4attribEyeToEyeDistanceSettingVR: 0
ps4IncludedModules:
- libc.prx
- libSceAudioLatencyEstimation.prx
- libSceFace.prx
- libSceFaceTracker.prx
- libSceFios2.prx
- libSceHand.prx
- libSceHandTracker.prx
- libSceHeadTracker.prx
- libSceJobManager.prx
- libSceNpToolkit2.prx
- libSceS3DConversion.prx
ps4attribVROutputEnabled: 0
monoEnv:
splashScreenBackgroundSourceLandscape: {fileID: 0}
splashScreenBackgroundSourcePortrait: {fileID: 0}
blurSplashScreenBackground: 1
spritePackerPolicy:
webGLMemorySize: 16
webGLExceptionSupport: 1
webGLNameFilesAsHashes: 0
webGLDataCaching: 1
webGLDebugSymbols: 0
webGLEmscriptenArgs:
webGLModulesDirectory:
webGLTemplate: APPLICATION:Default
webGLAnalyzeBuildSize: 0
webGLUseEmbeddedResources: 0
webGLCompressionFormat: 1
webGLWasmArithmeticExceptions: 0
webGLLinkerTarget: 1
webGLThreadsSupport: 0
webGLDecompressionFallback: 0
scriptingDefineSymbols: {}
platformArchitecture: {}
scriptingBackend:
Standalone: 0
il2cppCompilerConfiguration: {}
managedStrippingLevel: {}
incrementalIl2cppBuild: {}
allowUnsafeCode: 0
useDeterministicCompilation: 1
useReferenceAssemblies: 1
enableRoslynAnalyzers: 1
additionalIl2CppArgs:
scriptingRuntimeVersion: 1
gcIncremental: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform:
Standalone: 3
m_RenderingPath: 1
m_MobileRenderingPath: 1
metroPackageName: Template_Lightweight
metroPackageVersion:
metroCertificatePath:
metroCertificatePassword:
metroCertificateSubject:
metroCertificateIssuer:
metroCertificateNotAfter: 0000000000000000
metroApplicationDescription: Template_Lightweight
wsaImages: {}
metroTileShortName:
metroTileShowName: 0
metroMediumTileShowName: 0
metroLargeTileShowName: 0
metroWideTileShowName: 0
metroSupportStreamingInstall: 0
metroLastRequiredScene: 0
metroDefaultTileSize: 1
metroTileForegroundText: 2
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
metroSplashScreenUseBackgroundColor: 0
platformCapabilities: {}
metroTargetDeviceFamilies: {}
metroFTAName:
metroFTAFileTypes: []
metroProtocolName:
XboxOneProductId:
XboxOneUpdateKey:
XboxOneSandboxId:
XboxOneContentId:
XboxOneTitleId:
XboxOneSCId:
XboxOneGameOsOverridePath:
XboxOnePackagingOverridePath:
XboxOneAppManifestOverridePath:
XboxOneVersion: 1.0.0.0
XboxOnePackageEncryption: 0
XboxOnePackageUpdateGranularity: 2
XboxOneDescription:
XboxOneLanguage:
- enus
XboxOneCapability: []
XboxOneGameRating: {}
XboxOneIsContentPackage: 0
XboxOneEnableGPUVariability: 1
XboxOneSockets: {}
XboxOneSplashScreen: {fileID: 0}
XboxOneAllowedProductIds: []
XboxOnePersistentLocalStorageSize: 0
XboxOneXTitleMemory: 8
XboxOneOverrideIdentityName:
XboxOneOverrideIdentityPublisher:
vrEditorSettings: {}
cloudServicesEnabled:
UNet: 1
luminIcon:
m_Name:
m_ModelFolderPath:
m_PortalFolderPath:
luminCert:
m_CertPath:
m_SignPackage: 1
luminIsChannelApp: 0
luminVersion:
m_VersionCode: 1
m_VersionName:
apiCompatibilityLevel: 6
activeInputHandler: 0
cloudProjectId:
framebufferDepthMemorylessMode: 0
qualitySettingsNames: []
projectName:
organizationId:
cloudEnabled: 0
legacyClampBlendShapeWeights: 0
virtualTexturingSupportEnabled: 0
================================================
FILE: ProjectSettings/ProjectVersion.txt
================================================
m_EditorVersion: 2020.3.47f1
m_EditorVersionWithRevision: 2020.3.47f1 (5ef4f5b5e2d4)
================================================
FILE: ProjectSettings/QualitySettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!47 &1
QualitySettings:
m_ObjectHideFlags: 0
serializedVersion: 5
m_CurrentQuality: 2
m_QualitySettings:
- serializedVersion: 2
name: Low
pixelLightCount: 0
shadows: 0
shadowResolution: 0
shadowProjection: 1
shadowCascades: 1
shadowDistance: 20
shadowNearPlaneOffset: 3
shadowCascade2Split: 0.33333334
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
vSyncCount: 0
lodBias: 0.4
maximumLODLevel: 0
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
streamingMipmapsRenderersPerFrame: 512
streamingMipmapsMaxLevelReduction: 2
streamingMipmapsMaxFileIORequests: 1024
particleRaycastBudget: 16
asyncUploadTimeSlice: 2
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: a31e9f9f9c9d4b9429ed0d1234e22103,
type: 2}
excludedTargetPlatforms: []
- serializedVersion: 2
name: Medium
pixelLightCount: 1
shadows: 1
shadowResolution: 0
shadowProjection: 1
shadowCascades: 1
shadowDistance: 20
shadowNearPlaneOffset: 3
shadowCascade2Split: 0.33333334
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
vSyncCount: 1
lodBias: 0.7
maximumLODLevel: 0
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
streamingMipmapsRenderersPerFrame: 512
streamingMipmapsMaxLevelReduction: 2
streamingMipmapsMaxFileIORequests: 1024
particleRaycastBudget: 64
asyncUploadTimeSlice: 2
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: d847b876476d3d6468f5dfcd34266f96,
type: 2}
excludedTargetPlatforms: []
- serializedVersion: 2
name: High
pixelLightCount: 2
shadows: 2
shadowResolution: 1
shadowProjection: 1
shadowCascades: 2
shadowDistance: 40
shadowNearPlaneOffset: 3
shadowCascade2Split: 0.33333334
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 2
textureQuality: 0
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
vSyncCount: 1
lodBias: 1
maximumLODLevel: 0
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
streamingMipmapsRenderersPerFrame: 512
streamingMipmapsMaxLevelReduction: 2
streamingMipmapsMaxFileIORequests: 1024
particleRaycastBudget: 256
asyncUploadTimeSlice: 2
asyncUploadBufferSize: 16
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 11400000, guid: 19ba41d7c0026c3459d37c2fe90c55a0,
type: 2}
excludedTargetPlatforms: []
m_PerPlatformDefaultQuality:
Android: 1
Lumin: 2
Nintendo Switch: 2
PS4: 2
Stadia: 2
Standalone: 2
WebGL: 1
Windows Store Apps: 2
XboxOne: 2
iPhone: 1
tvOS: 1
================================================
FILE: ProjectSettings/TagManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
tags: []
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- Water
- UI
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
m_SortingLayers:
- name: Default
uniqueID: 0
locked: 0
================================================
FILE: ProjectSettings/TimeManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!5 &1
TimeManager:
m_ObjectHideFlags: 0
Fixed Timestep: 0.02
Maximum Allowed Timestep: 0.1
m_TimeScale: 1
Maximum Particle Timestep: 0.03
================================================
FILE: ProjectSettings/URPProjectSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
m_Name:
m_EditorClassIdentifier:
m_LastMaterialVersion: 4
================================================
FILE: ProjectSettings/UnityConnectSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!310 &1
UnityConnectSettings:
m_ObjectHideFlags: 0
serializedVersion: 1
m_Enabled: 0
m_TestMode: 0
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
m_ConfigUrl: https://config.uca.cloud.unity3d.com
m_TestInitMode: 0
CrashReportingSettings:
m_EventUrl: https://perf-events.cloud.unity3d.com
m_Enabled: 0
m_LogBufferSize: 10
m_CaptureEditorExceptions: 1
UnityPurchasingSettings:
m_Enabled: 0
m_TestMode: 0
UnityAnalyticsSettings:
m_Enabled: 0
m_TestMode: 0
m_InitializeOnStartup: 1
UnityAdsSettings:
m_Enabled: 0
m_InitializeOnStartup: 1
m_TestMode: 0
m_IosGameId:
m_AndroidGameId:
m_GameIds: {}
m_GameId:
PerformanceReportingSettings:
m_Enabled: 0
================================================
FILE: ProjectSettings/VFXManager.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!937362698 &1
VFXManager:
m_ObjectHideFlags: 0
m_IndirectShader: {fileID: 0}
m_CopyBufferShader: {fileID: 0}
m_SortShader: {fileID: 0}
m_RenderPipeSettingsPath:
m_FixedTimeStep: 0.016666668
m_MaxDeltaTime: 0.05
================================================
FILE: ProjectSettings/VersionControlSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!890905787 &1
VersionControlSettings:
m_ObjectHideFlags: 0
m_Mode: Visible Meta Files
m_CollabEditorSettings:
inProgressEnabled: 1
================================================
FILE: ProjectSettings/XRSettings.asset
================================================
{
"m_SettingKeys": [
"VR Device Disabled",
"VR Device User Alert"
],
"m_SettingValues": [
"False",
"False"
]
}
================================================
FILE: README.md
================================================
# RuntimeTransformHandle
Runtime transform handle for Unity.
## Installation
#### Install Unity Package Manager
Using Package Manager is now the prefferred method, all releases should be updated immediately.
Add Scoped Registry into Package manager using Project Settings => Package Manager as below:
Name:
```
Shtif Registry
```
URL:
```
http://package.binaryego.com:4873
```
Scopes:
```
com.shtif
```

After this you can find the Runtime Transform Handle in My Registries inside Package Manager.

Works with both the new and legacy input system. The asmdef of this package should automatically grab the reference to the asmdef of the new input system if it is present in your project, or ignore it since it cannot be found if you are using the legacy input system. If this is not the case Check the Assembly Definition References in RuntimeTransformHandle.asmdef. This should have a reference to Unity.InputSystem if you are using the new input system, or no reference if you are using the legacy input system.
In case you get this error:
```
Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs(3,19): error CS0234: The type or namespace name 'InputSystem' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)
```
You probably have both input systems enabled (Project Settings/Player/Active Input Handling: Both) but the Input System package not installed. To fix this either set "Active Input Handling" to "Input Manager (old)" or install the Input System package through the package manager.
================================================
FILE: UserSettings/EditorUserSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!162 &1
EditorUserSettings:
m_ObjectHideFlags: 0
serializedVersion: 4
m_ConfigSettings:
RecentlyUsedScenePath-0:
value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
flags: 0
RecentlyUsedScenePath-1:
value: 22424703114646680e0b022703630e5f22120b3e1f2b233e2867083debf42d
flags: 0
RecentlyUsedScenePath-2:
value: 22424703114646680e0b0227036c6b1505032b292926237e38271427fb
flags: 0
vcSharedLogLevel:
value: 0d5e400f0650
flags: 0
m_VCAutomaticAdd: 1
m_VCDebugCom: 0
m_VCDebugCmd: 0
m_VCDebugOut: 0
m_SemanticMergeMode: 2
m_VCShowFailedCheckout: 1
m_VCOverwriteFailedCheckoutAssets: 1
m_VCProjectOverlayIcons: 1
m_VCHierarchyOverlayIcons: 1
m_VCOtherOverlayIcons: 1
m_VCAllowAsyncUpdate: 1
gitextract_lbumhs8l/
├── .gitignore
├── Assets/
│ ├── Plugins/
│ │ ├── RuntimeTransformHandle/
│ │ │ ├── Resources/
│ │ │ │ ├── Shaders/
│ │ │ │ │ ├── AdvancedHandleShader.shader
│ │ │ │ │ ├── AdvancedHandleShader.shader.meta
│ │ │ │ │ ├── HandleShader.shader
│ │ │ │ │ └── HandleShader.shader.meta
│ │ │ │ └── Shaders.meta
│ │ │ ├── Resources.meta
│ │ │ ├── RuntimeTransformHandle.asmdef
│ │ │ ├── RuntimeTransformHandle.asmdef.meta
│ │ │ ├── Scripts/
│ │ │ │ ├── Handles/
│ │ │ │ │ ├── HandleAxes.cs
│ │ │ │ │ ├── HandleAxes.cs.meta
│ │ │ │ │ ├── HandleBase.cs
│ │ │ │ │ ├── HandleBase.cs.meta
│ │ │ │ │ ├── HandleSnappingType.cs
│ │ │ │ │ ├── HandleSnappingType.cs.meta
│ │ │ │ │ ├── HandleSpace.cs
│ │ │ │ │ ├── HandleSpace.cs.meta
│ │ │ │ │ ├── HandleType.cs
│ │ │ │ │ ├── HandleType.cs.meta
│ │ │ │ │ ├── Position/
│ │ │ │ │ │ ├── PositionAxis.cs
│ │ │ │ │ │ ├── PositionAxis.cs.meta
│ │ │ │ │ │ ├── PositionHandle.cs
│ │ │ │ │ │ ├── PositionHandle.cs.meta
│ │ │ │ │ │ ├── PositionPlane.cs
│ │ │ │ │ │ └── PositionPlane.cs.meta
│ │ │ │ │ ├── Position.meta
│ │ │ │ │ ├── Rotation/
│ │ │ │ │ │ ├── RotationAxis.cs
│ │ │ │ │ │ ├── RotationAxis.cs.meta
│ │ │ │ │ │ ├── RotationHandle.cs
│ │ │ │ │ │ └── RotationHandle.cs.meta
│ │ │ │ │ ├── Rotation.meta
│ │ │ │ │ ├── Scale/
│ │ │ │ │ │ ├── ScaleAxis.cs
│ │ │ │ │ │ ├── ScaleAxis.cs.meta
│ │ │ │ │ │ ├── ScaleGlobal.cs
│ │ │ │ │ │ ├── ScaleGlobal.cs.meta
│ │ │ │ │ │ ├── ScaleHandle.cs
│ │ │ │ │ │ └── ScaleHandle.cs.meta
│ │ │ │ │ └── Scale.meta
│ │ │ │ ├── Handles.meta
│ │ │ │ ├── RuntimeTransformHandle.cs
│ │ │ │ ├── RuntimeTransformHandle.cs.meta
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── HandleMathUtils.cs
│ │ │ │ │ ├── HandleMathUtils.cs.meta
│ │ │ │ │ ├── MeshUtils.cs
│ │ │ │ │ └── MeshUtils.cs.meta
│ │ │ │ └── Utils.meta
│ │ │ ├── Scripts.meta
│ │ │ ├── Sprites/
│ │ │ │ ├── Move-Icon.png.meta
│ │ │ │ ├── Rotate-Icon.png.meta
│ │ │ │ └── Scale-Icon.png.meta
│ │ │ ├── Sprites.meta
│ │ │ ├── package.json
│ │ │ └── package.json.meta
│ │ └── RuntimeTransformHandle.meta
│ ├── Plugins.meta
│ ├── RuntimeHandleTest.cs
│ ├── RuntimeHandleTest.cs.meta
│ ├── Scenes/
│ │ ├── CubeMaterial.mat
│ │ ├── CubeMaterial.mat.meta
│ │ ├── TestScene.unity
│ │ └── TestScene.unity.meta
│ ├── Scenes.meta
│ ├── Settings/
│ │ ├── ForwardRenderer.asset
│ │ ├── ForwardRenderer.asset.meta
│ │ ├── SampleSceneProfile.asset
│ │ ├── SampleSceneProfile.asset.meta
│ │ ├── UniversalRP-HighQuality.asset
│ │ ├── UniversalRP-HighQuality.asset.meta
│ │ ├── UniversalRP-LowQuality.asset
│ │ ├── UniversalRP-LowQuality.asset.meta
│ │ ├── UniversalRP-MediumQuality.asset
│ │ └── UniversalRP-MediumQuality.asset.meta
│ └── Settings.meta
├── LICENSE
├── Packages/
│ ├── manifest.json
│ └── packages-lock.json
├── ProjectSettings/
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── PackageManagerSettings.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── URPProjectSettings.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ ├── VersionControlSettings.asset
│ └── XRSettings.asset
├── README.md
└── UserSettings/
└── EditorUserSettings.asset
SYMBOL INDEX (86 symbols across 17 files)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleAxes.cs
type HandleAxes (line 6) | public enum HandleAxes
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleBase.cs
class HandleBase (line 10) | public abstract class HandleBase : MonoBehaviour
method InitializeMaterial (line 28) | protected virtual void InitializeMaterial()
method SetDefaultColor (line 34) | public void SetDefaultColor()
method SetColor (line 39) | public void SetColor(Color p_color)
method StartInteraction (line 44) | public virtual void StartInteraction(Vector3 p_hitPoint)
method CanInteract (line 51) | public virtual bool CanInteract(Vector3 p_hitPoint)
method Interact (line 56) | public virtual void Interact(Vector3 p_previousPosition)
method EndInteraction (line 61) | public virtual void EndInteraction()
method GetVectorFromAxes (line 69) | static public Vector3 GetVectorFromAxes(HandleAxes p_axes)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSnappingType.cs
type HandleSnappingType (line 6) | public enum HandleSnappingType
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSpace.cs
type HandleSpace (line 6) | public enum HandleSpace
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleType.cs
type HandleType (line 6) | public enum HandleType
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionAxis.cs
class PositionAxis (line 9) | public class PositionAxis : HandleBase
method Initialize (line 17) | public PositionAxis Initialize(RuntimeTransformHandle p_runtimeHandle,...
method Interact (line 50) | public override void Interact(Vector3 p_previousPosition)
method StartInteraction (line 80) | public override void StartInteraction(Vector3 p_hitPoint)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionHandle.cs
class PositionHandle (line 9) | public class PositionHandle : MonoBehaviour
method Initialize (line 15) | public PositionHandle Initialize(RuntimeTransformHandle p_runtimeHandle)
method Destroy (line 51) | public void Destroy()
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionPlane.cs
class PositionPlane (line 8) | public class PositionPlane : HandleBase
method Initialize (line 18) | public PositionPlane Initialize(RuntimeTransformHandle p_runtimeHandle...
method Interact (line 43) | public override void Interact(Vector3 p_previousPosition)
method StartInteraction (line 78) | public override void StartInteraction(Vector3 p_hitPoint)
method Update (line 96) | void Update()
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationAxis.cs
class RotationAxis (line 9) | public class RotationAxis : HandleBase
method Initialize (line 21) | public RotationAxis Initialize(RuntimeTransformHandle p_runtimeHandle,...
method InitializeMaterial (line 43) | protected override void InitializeMaterial()
method Update (line 49) | public void Update()
method Interact (line 57) | public override void Interact(Vector3 p_previousPosition)
method CanInteract (line 96) | public override bool CanInteract(Vector3 p_hitPoint)
method StartInteraction (line 103) | public override void StartInteraction(Vector3 p_hitPoint)
method EndInteraction (line 144) | public override void EndInteraction()
method DrawArc (line 151) | void DrawArc()
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationHandle.cs
class RotationHandle (line 9) | public class RotationHandle : MonoBehaviour
method Initialize (line 14) | public RotationHandle Initialize(RuntimeTransformHandle p_parentTransf...
method Destroy (line 36) | public void Destroy()
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleAxis.cs
class ScaleAxis (line 10) | public class ScaleAxis : HandleBase
method Initialize (line 20) | public ScaleAxis Initialize(RuntimeTransformHandle p_parentTransformHa...
method Update (line 53) | protected void Update()
method Interact (line 59) | public override void Interact(Vector3 p_previousPosition)
method StartInteraction (line 92) | public override void StartInteraction(Vector3 p_hitPoint)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleGlobal.cs
class ScaleGlobal (line 9) | public class ScaleGlobal : HandleBase
method Initialize (line 14) | public ScaleGlobal Initialize(RuntimeTransformHandle p_parentTransform...
method Interact (line 35) | public override void Interact(Vector3 p_previousPosition)
method StartInteraction (line 45) | public override void StartInteraction(Vector3 p_hitPoint)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleHandle.cs
class ScaleHandle (line 10) | public class ScaleHandle : MonoBehaviour
method Initialize (line 16) | public ScaleHandle Initialize(RuntimeTransformHandle p_parentTransform...
method OnGlobalInteractionStart (line 48) | void OnGlobalInteractionStart()
method OnGlobalInteractionUpdate (line 56) | void OnGlobalInteractionUpdate(float p_delta)
method OnGlobalInteractionEnd (line 64) | void OnGlobalInteractionEnd()
method Destroy (line 73) | public void Destroy()
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs
class RuntimeTransformHandle (line 12) | public class RuntimeTransformHandle : MonoBehaviour
method Start (line 47) | void Start()
method CreateHandles (line 63) | void CreateHandles()
method Clear (line 79) | void Clear()
method Update (line 88) | void Update()
method GetPointerDown (line 141) | public static bool GetPointerDown()
method PointerIsDown (line 150) | public static bool PointerIsDown()
method GetPointerUp (line 159) | public static bool GetPointerUp()
method GetMousePosition (line 168) | public static Vector3 GetMousePosition()
method HandleOverEffect (line 177) | void HandleOverEffect(HandleBase p_axis, Vector3 p_hitPoint)
method GetHandle (line 192) | private void GetHandle(ref HandleBase p_handle, ref Vector3 p_hitPoint)
method Create (line 211) | static public RuntimeTransformHandle Create(Transform p_target, Handle...
method SetTarget (line 221) | public void SetTarget(Transform newTarget)
method SetTarget (line 226) | public void SetTarget(GameObject newTarget)
method SetHandleMode (line 239) | public void SetHandleMode(int mode)
method SetHandleMode (line 244) | public void SetHandleMode(HandleType mode)
method EnableXAxis (line 249) | public void EnableXAxis(bool enable)
method EnableYAxis (line 257) | public void EnableYAxis(bool enable)
method EnableZAxis (line 265) | public void EnableZAxis(bool enable)
method SetAxis (line 273) | public void SetAxis(HandleAxes newAxes)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/HandleMathUtils.cs
class HandleMathUtils (line 5) | public static class HandleMathUtils
method ClosestPointOnRay (line 9) | public static float ClosestPointOnRay(Ray ray, Ray other)
FILE: Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/MeshUtils.cs
class MeshUtils (line 11) | public class MeshUtils
method CreateArc (line 13) | static public Mesh CreateArc(Vector3 p_center, Vector3 p_startPoint, V...
method CreateArc (line 60) | static public Mesh CreateArc(float p_radius, float p_angle, int p_segm...
method CreateGrid (line 105) | static public Mesh CreateGrid(float p_width, float p_height, int p_seg...
method CreateBox (line 168) | static public Mesh CreateBox(float p_width, float p_height, float p_de...
method CreateCone (line 289) | static public Mesh CreateCone(float p_height, float p_bottomRadius, fl...
method CreateTube (line 471) | static public Mesh CreateTube(float p_height, int p_sideCount, float p...
method CreateTorus (line 720) | static public Mesh CreateTorus(float p_radius, float p_thickness, int ...
method CreateSphere (line 808) | static public Mesh CreateSphere(float p_radius, int p_longitudeCount, ...
FILE: Assets/RuntimeHandleTest.cs
class RuntimeHandleTest (line 6) | public class RuntimeHandleTest : MonoBehaviour
method Start (line 11) | void Start()
method Update (line 17) | void Update()
Condensed preview — 99 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (191K chars).
[
{
"path": ".gitignore",
"chars": 1028,
"preview": "# This .gitignore file should be placed at the root of your Unity project directory\n#\n# Get latest from https://github.c"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/AdvancedHandleShader.shader",
"chars": 1529,
"preview": "/**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n\nShader \"sHTiF/AdvancedHandleShader\"\n{\n Properties\n {\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/AdvancedHandleShader.shader.meta",
"chars": 83,
"preview": "fileFormatVersion: 2\nguid: 1008cb9dd02145ec90ad3213cd72bac8\ntimeCreated: 1684239200"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/HandleShader.shader",
"chars": 1068,
"preview": "/**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n\nShader \"sHTiF/HandleShader\"\n{\n Properties\n {\n _Colo"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources/Shaders/HandleShader.shader.meta",
"chars": 204,
"preview": "fileFormatVersion: 2\nguid: 3f2eb4d1f3e2b144991ccf3f3a019f91\nShaderImporter:\n externalObjects: {}\n defaultTextures: []\n"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources/Shaders.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 89706ea9f1b2943b4af61baa2b55853e\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Resources.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: bed7928ed89f4a7ab2abc3aea954441f\ntimeCreated: 1603357821"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/RuntimeTransformHandle.asmdef",
"chars": 408,
"preview": "{\n \"name\": \"RuntimeTransformHandle\",\n \"rootNamespace\": \"\",\n \"references\": [\n \"GUID:75469ad4d38634e559750"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/RuntimeTransformHandle.asmdef.meta",
"chars": 166,
"preview": "fileFormatVersion: 2\nguid: bd138c7a207f4ee4894d6faa1b365b8c\nAssemblyDefinitionImporter:\n externalObjects: {}\n userData"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleAxes.cs",
"chars": 269,
"preview": "namespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n public enum HandleAxes\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleAxes.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 0f8747d6fd4e4dfbb3654026c416b588\ntimeCreated: 1603396831"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleBase.cs",
"chars": 2407,
"preview": "using System;\nusing System.IO;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stef"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleBase.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 18fdd5d34b974458a9622a65624bb704\ntimeCreated: 1603269597"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSnappingType.cs",
"chars": 175,
"preview": "namespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n public enum HandleSnappi"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSnappingType.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: cfac020ebdcf4d3a835fec9855abd233\ntimeCreated: 1603399999"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSpace.cs",
"chars": 162,
"preview": "namespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n public enum HandleSpace\n"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleSpace.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 9873d4af6ebd422187dc7894d4c6774a\ntimeCreated: 1603316095"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleType.cs",
"chars": 182,
"preview": "namespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n public enum HandleType\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/HandleType.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: ab5ba2a246f74a698d4cf4c4457d2311\ntimeCreated: 1603294240"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionAxis.cs",
"chars": 3950,
"preview": "using System;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionAxis.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 3d71686958d04dd4bbcdb353ff4c95e0\ntimeCreated: 1603268885"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionHandle.cs",
"chars": 3062,
"preview": "using System.Collections.Generic;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF S"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionHandle.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: b74328aefac54b6ba984bdeb94170a79\ntimeCreated: 1603382407"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionPlane.cs",
"chars": 4901,
"preview": "using UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n */\n publ"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position/PositionPlane.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 5a5015f7e5184426a12b667bac91ff94\ntimeCreated: 1603382398"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Position.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 749259c97ae845798e58978915f5b894\ntimeCreated: 1603379534"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationAxis.cs",
"chars": 6496,
"preview": "using System;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationAxis.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 887cfee69e3349bc94c52b27882d2a32\ntimeCreated: 1603287291"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationHandle.cs",
"chars": 1932,
"preview": "using System.Collections.Generic;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF S"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation/RotationHandle.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 1742203d7bd34c8fb00333fe33169a0b\ntimeCreated: 1603382419"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Rotation.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 809e64720473404b9320301c1ce89ce2\ntimeCreated: 1603379562"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleAxis.cs",
"chars": 4364,
"preview": "using System.IO;\nusing System.Security.Permissions;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleAxis.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 9c35d890b25848d384900b0bf5bfaeba\ntimeCreated: 1603294174"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleGlobal.cs",
"chars": 1717,
"preview": "using System.IO;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by Peter @sHTiF Stefcek 20.10.2020"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleGlobal.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 68740daa55f44180892aca8775a8c0ee\ntimeCreated: 1603318850"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleHandle.cs",
"chars": 3233,
"preview": "using System;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{\n /**\n * Created by "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale/ScaleHandle.cs.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 563d66185932403da1818cdbc93a7cb7\ntimeCreated: 1603358227"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles/Scale.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 2b844fc0a14b4a878e70f4b7a6af3137\ntimeCreated: 1603379502"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Handles.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 8bb76c032e1042dcaaf13886a877b980\ntimeCreated: 1603358181"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs",
"chars": 8067,
"preview": "using UnityEngine;\nusing UnityEngine.Events;\n#if ENABLE_INPUT_SYSTEM\nusing UnityEngine.InputSystem;\n#endif\n\nnamespace R"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/RuntimeTransformHandle.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ecfa17e94c9ff9c47b43ede109092ac1\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/HandleMathUtils.cs",
"chars": 983,
"preview": "using UnityEngine;\r\n\r\nnamespace RuntimeHandle\r\n{\r\n\tpublic static class HandleMathUtils\r\n\t{\r\n\t\tpublic const float PRECISI"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/HandleMathUtils.cs.meta",
"chars": 83,
"preview": "fileFormatVersion: 2\nguid: 4dcd8e76b88b4fa792b0112ce898f6b2\ntimeCreated: 1655982569"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/MeshUtils.cs",
"chars": 22764,
"preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing UnityEngine;\n\nnamespace RuntimeHandle\n{"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Utils/MeshUtils.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 9a4bcd6adf26f9548996c3b2dac3215a\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts/Utils.meta",
"chars": 84,
"preview": "fileFormatVersion: 2\nguid: 8e54c08f563848849e74976a3cbbf235\ntimeCreated: 1603357836"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Scripts.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 394a97cdf878fda4cbed5380738fb0ac\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Sprites/Move-Icon.png.meta",
"chars": 3153,
"preview": "fileFormatVersion: 2\nguid: 051bce463e99c431ab45f4b1c3734584\nTextureImporter:\n internalIDToNameTable: []\n externalObjec"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Sprites/Rotate-Icon.png.meta",
"chars": 3153,
"preview": "fileFormatVersion: 2\nguid: 9dc1f02eb7b3540a6899de3e2cfaa38e\nTextureImporter:\n internalIDToNameTable: []\n externalObjec"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Sprites/Scale-Icon.png.meta",
"chars": 3153,
"preview": "fileFormatVersion: 2\nguid: cf489f9b2f7ce40f6ad54209ee794526\nTextureImporter:\n internalIDToNameTable: []\n externalObjec"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/Sprites.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: f71c7cc0745fb45a38392d10844e3cfc\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/package.json",
"chars": 347,
"preview": "{\n \"name\": \"com.shtif.runtimetransformhandle\",\n \"displayName\": \"Runtime Transform Handle\",\n \"version\": \"0.1.4\",\n \"un"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle/package.json.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 31131589ff97ec446826ba4bbc7086d3\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Assets/Plugins/RuntimeTransformHandle.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: a76f415e45e0b3548815bd4cd0994975\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Plugins.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: f437c94b97613dc49a5933cdea3b03ff\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/RuntimeHandleTest.cs",
"chars": 411,
"preview": "using System.Collections;\nusing System.Collections.Generic;\nusing RuntimeHandle;\nusing UnityEngine;\n\npublic class Runtim"
},
{
"path": "Assets/RuntimeHandleTest.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: abd7ea1532fb10f4981049738b87c30c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Assets/Scenes/CubeMaterial.mat",
"chars": 2036,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!21 &2100000\nMaterial:\n serializedVersion: 6\n m_ObjectHideFlags: 0\n m_"
},
{
"path": "Assets/Scenes/CubeMaterial.mat.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: 5c949d3705413b645aa43ff6900169e4\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Scenes/TestScene.unity",
"chars": 16213,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!29 &1\nOcclusionCullingSettings:\n m_ObjectHideFlags: 0\n serializedVersi"
},
{
"path": "Assets/Scenes/TestScene.unity.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: d6325f3f903727644bba5477c9a7d0d6\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/Scenes.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: b6d330becb0133744859adad5284cce2\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Settings/ForwardRenderer.asset",
"chars": 1273,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Settings/ForwardRenderer.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 4a8e21d5c33334b11b34a596161b9360\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Settings/SampleSceneProfile.asset",
"chars": 2724,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &-7893295128165547882\nMonoBehaviour:\n m_ObjectHideFlags: 3\n m_Corr"
},
{
"path": "Assets/Settings/SampleSceneProfile.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 10fc4df2da32a41aaa32d77bc913491c\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Settings/UniversalRP-HighQuality.asset",
"chars": 1534,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Settings/UniversalRP-HighQuality.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: 19ba41d7c0026c3459d37c2fe90c55a0\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Settings/UniversalRP-LowQuality.asset",
"chars": 1533,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Settings/UniversalRP-LowQuality.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: a31e9f9f9c9d4b9429ed0d1234e22103\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Settings/UniversalRP-MediumQuality.asset",
"chars": 1536,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Settings/UniversalRP-MediumQuality.asset.meta",
"chars": 182,
"preview": "fileFormatVersion: 2\nguid: d847b876476d3d6468f5dfcd34266f96\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Settings.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 0735c275001a2c84dafdb30deced5d8d\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "LICENSE",
"chars": 1077,
"preview": "MIT License\n\nCopyright (c) 2021 Peter @sHTiF Stefcek\n\nPermission is hereby granted, free of charge, to any person obtain"
},
{
"path": "Packages/manifest.json",
"chars": 1815,
"preview": "{\n \"dependencies\": {\n \"com.unity.collab-proxy\": \"2.0.1\",\n \"com.unity.ide.rider\": \"3.0.18\",\n \"com.unity.ide.vis"
},
{
"path": "Packages/packages-lock.json",
"chars": 10370,
"preview": "{\n \"dependencies\": {\n \"com.unity.collab-proxy\": {\n \"version\": \"2.0.1\",\n \"depth\": 0,\n \"source\": \"regis"
},
{
"path": "ProjectSettings/AudioManager.asset",
"chars": 413,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!11 &1\nAudioManager:\n m_ObjectHideFlags: 0\n serializedVersion: 2\n m_Vo"
},
{
"path": "ProjectSettings/ClusterInputManager.asset",
"chars": 114,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!236 &1\nClusterInputManager:\n m_ObjectHideFlags: 0\n m_Inputs: []\n"
},
{
"path": "ProjectSettings/DynamicsManager.asset",
"chars": 1253,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!55 &1\nPhysicsManager:\n m_ObjectHideFlags: 0\n serializedVersion: 13\n m"
},
{
"path": "ProjectSettings/EditorBuildSettings.asset",
"chars": 257,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1045 &1\nEditorBuildSettings:\n m_ObjectHideFlags: 0\n serializedVersion:"
},
{
"path": "ProjectSettings/EditorSettings.asset",
"chars": 995,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!159 &1\nEditorSettings:\n m_AssetPipelineMode: 1\n m_ObjectHideFlags: 0\n "
},
{
"path": "ProjectSettings/GraphicsSettings.asset",
"chars": 2506,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!30 &1\nGraphicsSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 13\n "
},
{
"path": "ProjectSettings/InputManager.asset",
"chars": 9731,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!13 &1\nInputManager:\n m_ObjectHideFlags: 0\n serializedVersion: 2\n m_Ax"
},
{
"path": "ProjectSettings/NavMeshAreas.asset",
"chars": 1308,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!126 &1\nNavMeshProjectSettings:\n m_ObjectHideFlags: 0\n serializedVersio"
},
{
"path": "ProjectSettings/PackageManagerSettings.asset",
"chars": 1049,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 61\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/Physics2DSettings.asset",
"chars": 2028,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!19 &1\nPhysics2DSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 4\n "
},
{
"path": "ProjectSettings/PresetManager.asset",
"chars": 797,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1386491679 &1\nPresetManager:\n m_ObjectHideFlags: 0\n m_DefaultList:\n -"
},
{
"path": "ProjectSettings/ProjectSettings.asset",
"chars": 19108,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!129 &1\nPlayerSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 21\n "
},
{
"path": "ProjectSettings/ProjectVersion.txt",
"chars": 85,
"preview": "m_EditorVersion: 2020.3.47f1\nm_EditorVersionWithRevision: 2020.3.47f1 (5ef4f5b5e2d4)\n"
},
{
"path": "ProjectSettings/QualitySettings.asset",
"chars": 3683,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!47 &1\nQualitySettings:\n m_ObjectHideFlags: 0\n serializedVersion: 5\n m"
},
{
"path": "ProjectSettings/TagManager.asset",
"chars": 378,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!78 &1\nTagManager:\n serializedVersion: 2\n tags: []\n layers:\n - Defaul"
},
{
"path": "ProjectSettings/TimeManager.asset",
"chars": 195,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!5 &1\nTimeManager:\n m_ObjectHideFlags: 0\n Fixed Timestep: 0.02\n Maximu"
},
{
"path": "ProjectSettings/URPProjectSettings.asset",
"chars": 410,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 61\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/UnityConnectSettings.asset",
"chars": 853,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!310 &1\nUnityConnectSettings:\n m_ObjectHideFlags: 0\n serializedVersion:"
},
{
"path": "ProjectSettings/VFXManager.asset",
"chars": 273,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!937362698 &1\nVFXManager:\n m_ObjectHideFlags: 0\n m_IndirectShader: {fil"
},
{
"path": "ProjectSettings/VersionControlSettings.asset",
"chars": 188,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!890905787 &1\nVersionControlSettings:\n m_ObjectHideFlags: 0\n m_Mode: Vi"
},
{
"path": "ProjectSettings/XRSettings.asset",
"chars": 158,
"preview": "{\n \"m_SettingKeys\": [\n \"VR Device Disabled\",\n \"VR Device User Alert\"\n ],\n \"m_SettingValues\": [\n "
},
{
"path": "README.md",
"chars": 1675,
"preview": "# RuntimeTransformHandle\n\nRuntime transform handle for Unity.\n\n## Installation\n\n#### Install Unity Package Manager\n\nUsin"
},
{
"path": "UserSettings/EditorUserSettings.asset",
"chars": 841,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!162 &1\nEditorUserSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 4"
}
]
About this extraction
This page contains the full source code of the pshtif/RuntimeTransformHandle GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 99 files (168.7 KB), approximately 59.2k tokens, and a symbol index with 86 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.