size 124840 |
@ -0,0 +1,8 @@ | |||
fileFormatVersion: 2 | |||
guid: 6ff30248c3fcdbd42bc0663b93351e6d | |||
folderAsset: yes | |||
DefaultImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,63 @@ | |||
using System.Collections; | |||
using System.Collections.Generic; | |||
using UnityEngine; | |||
using VRTK; | |||
public class RingBezierPointer : VRTK_BezierPointerRenderer | |||
{ | |||
#region Read-Only Fields | |||
/// <summary> | |||
/// Direction from Centre of ship to CameraRig | |||
/// </summary> | |||
public Vector3 DownDirection => m_ring.getDownDirection(transform.position); | |||
#endregion Read-Only Fields | |||
#region Inspector Fields | |||
[Header("Ring Settings")] | |||
[SerializeField, Tooltip("Reference to the Ship which is being teleported on. If left empty will try and find one in scene")] | |||
private RotationController m_ring; | |||
#endregion Inspector Fields | |||
protected override void OnEnable() | |||
{ | |||
base.OnEnable(); | |||
if (m_ring == null) | |||
m_ring = FindObjectOfType<RotationController>(); | |||
} | |||
protected override Vector3 ProjectDownBeam(Vector3 jointPosition) | |||
{ | |||
Vector3 downPosition = Vector3.zero; | |||
Ray projectedBeamDownRaycast = new Ray(jointPosition, DownDirection); | |||
RaycastHit collidedWith; | |||
bool downRayHit = VRTK_CustomRaycast.Raycast(customRaycast, projectedBeamDownRaycast, out collidedWith, defaultIgnoreLayer, maximumLength.y); | |||
if (!downRayHit || (destinationHit.collider && destinationHit.collider != collidedWith.collider)) | |||
{ | |||
if (destinationHit.collider != null) | |||
{ | |||
PointerExit(destinationHit); | |||
} | |||
destinationHit = new RaycastHit(); | |||
downPosition = projectedBeamDownRaycast.GetPoint(0f); | |||
} | |||
if (downRayHit) | |||
{ | |||
downPosition = projectedBeamDownRaycast.GetPoint(collidedWith.distance); | |||
PointerEnter(collidedWith); | |||
destinationHit = collidedWith; | |||
} | |||
return downPosition; | |||
} | |||
} |
@ -0,0 +1,11 @@ | |||
fileFormatVersion: 2 | |||
guid: b6e8c3fb9bf61394fb782cbc1f199d60 | |||
MonoImporter: | |||
externalObjects: {} | |||
serializedVersion: 2 | |||
defaultReferences: [] | |||
executionOrder: 0 | |||
icon: {instanceID: 0} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,58 @@ | |||
using System.Collections; | |||
using System.Collections.Generic; | |||
using UnityEngine; | |||
using VRTK; | |||
public class RingTeleportation : VRTK_HeightAdjustTeleport | |||
{ | |||
#region Read-Only Fields | |||
/// <summary> | |||
/// Direction from Centre of ship to CameraRig | |||
/// </summary> | |||
public Vector3 DownDirection => m_ring.getDownDirection(playArea.position); | |||
#endregion Read-Only Fields | |||
#region Inspector Fields | |||
[Header("Ring Settings")] | |||
[SerializeField, Tooltip("Reference to the Ship which is being teleported on. If left empty will try and find one in scene")] | |||
private RotationController m_ring; | |||
#endregion Inspector Fields | |||
protected override void OnEnable() | |||
{ | |||
base.OnEnable(); | |||
if (m_ring == null) | |||
m_ring = FindObjectOfType<RotationController>(); | |||
} | |||
protected override Vector3 GetNewPosition(Vector3 tipPosition, Transform target, bool returnOriginalPosition) | |||
{ | |||
Vector3 basePosition = base.GetNewPosition(tipPosition, target, true); | |||
return basePosition; | |||
} | |||
protected override Quaternion SetNewRotation(Quaternion? rotation) | |||
{ | |||
Debug.Log("Setting new rotation"); | |||
return Quaternion.FromToRotation(Vector3.down, DownDirection); | |||
} | |||
protected override void ProcessOrientation(object sender, DestinationMarkerEventArgs e, Vector3 targetPosition, Quaternion targetRotation) | |||
{ | |||
base.ProcessOrientation(sender, e, targetPosition, targetRotation); | |||
Quaternion newRotation = Quaternion.FromToRotation(Vector3.down, m_ring.getDownDirection(targetPosition)); | |||
playArea.rotation = newRotation; | |||
} | |||
} |
@ -0,0 +1,11 @@ | |||
fileFormatVersion: 2 | |||
guid: f9fd0a446f013b24d97e08a91813b0b9 | |||
MonoImporter: | |||
externalObjects: {} | |||
serializedVersion: 2 | |||
defaultReferences: [] | |||
executionOrder: 0 | |||
icon: {instanceID: 0} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,77 @@ | |||
%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: White | |||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} | |||
m_ShaderKeywords: | |||
m_LightmapFlags: 6 | |||
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.281 | |||
- _GlossyReflections: 1 | |||
- _Metallic: 0.207 | |||
- _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} |
@ -0,0 +1,8 @@ | |||
fileFormatVersion: 2 | |||
guid: de25c7031de3cd74b8d50896cddbf62d | |||
NativeFormatImporter: | |||
externalObjects: {} | |||
mainObjectFileID: 0 | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
size 278780 |
@ -0,0 +1,97 @@ | |||
fileFormatVersion: 2 | |||
guid: b94c538735c7e1d42abc86910cdb58db | |||
ModelImporter: | |||
serializedVersion: 19301 | |||
internalIDToNameTable: [] | |||
externalObjects: {} | |||
materials: | |||
materialImportMode: 1 | |||
materialName: 0 | |||
materialSearch: 1 | |||
materialLocation: 1 | |||
animations: | |||
legacyGenerateAnimations: 4 | |||
bakeSimulation: 0 | |||
resampleCurves: 1 | |||
optimizeGameObjects: 0 | |||
motionNodeName: | |||
rigImportErrors: | |||
rigImportWarnings: | |||
animationImportErrors: | |||
animationImportWarnings: | |||
animationRetargetingWarnings: | |||
animationDoRetargetingWarnings: 0 | |||
importAnimatedCustomProperties: 0 | |||
importConstraints: 0 | |||
animationCompression: 1 | |||
animationRotationError: 0.5 | |||
animationPositionError: 0.5 | |||
animationScaleError: 0.5 | |||
animationWrapMode: 0 | |||
extraExposedTransformPaths: [] | |||
extraUserProperties: [] | |||
clipAnimations: [] | |||
isReadable: 0 | |||
meshes: | |||
lODScreenPercentages: [] | |||
globalScale: 1 | |||
meshCompression: 0 | |||
addColliders: 0 | |||
useSRGBMaterialColor: 1 | |||
sortHierarchyByName: 1 | |||
importVisibility: 1 | |||
importBlendShapes: 1 | |||
importCameras: 1 | |||
importLights: 1 | |||
fileIdsGeneration: 2 | |||
swapUVChannels: 0 | |||
generateSecondaryUV: 0 | |||
useFileUnits: 1 | |||
keepQuads: 0 | |||
weldVertices: 1 | |||
preserveHierarchy: 0 | |||
skinWeightsMode: 0 | |||
maxBonesPerVertex: 4 | |||
minBoneWeight: 0.001 | |||
meshOptimizationFlags: -1 | |||
indexFormat: 0 | |||
secondaryUVAngleDistortion: 8 | |||
secondaryUVAreaDistortion: 15.000001 | |||
secondaryUVHardAngle: 88 | |||
secondaryUVPackMargin: 4 | |||
useFileScale: 1 | |||
tangentSpace: | |||
normalSmoothAngle: 60 | |||
normalImportMode: 0 | |||
tangentImportMode: 3 | |||
normalCalculationMode: 4 | |||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 | |||
blendShapeNormalImportMode: 1 | |||
normalSmoothingSource: 0 | |||
referencedClips: [] | |||
importAnimation: 1 | |||
humanDescription: | |||
serializedVersion: 3 | |||
human: [] | |||
skeleton: [] | |||
armTwist: 0.5 | |||
foreArmTwist: 0.5 | |||
upperLegTwist: 0.5 | |||
legTwist: 0.5 | |||
armStretch: 0.05 | |||
legStretch: 0.05 | |||
feetSpacing: 0 | |||
globalScale: 1 | |||
rootMotionBoneName: | |||
hasTranslationDoF: 0 | |||
hasExtraRoot: 0 | |||
skeletonHasParents: 1 | |||
lastHumanDescriptionAvatarSource: {instanceID: 0} | |||
autoGenerateAvatarMappingIfUnspecified: 1 | |||
animationType: 2 | |||
humanoidOversampling: 1 | |||
avatarSetup: 0 | |||
additionalBone: 0 | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,8 @@ | |||
fileFormatVersion: 2 | |||
guid: ff0c6062395b07f418f2a1b08061cfed | |||
folderAsset: yes | |||
DefaultImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,7 @@ | |||
fileFormatVersion: 2 | |||
guid: ce917c1fc9c926d4582545921991b2a5 | |||
PrefabImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |