Skip to content

Commit

Permalink
Merge pull request #161 from BasisVR/1e3de80
Browse files Browse the repository at this point in the history
improved raycasting apis
  • Loading branch information
dooly123 authored Feb 22, 2025
2 parents 0958f5b + ad4b81d commit 399f6cf
Show file tree
Hide file tree
Showing 6 changed files with 107 additions and 774 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ MonoBehaviour:
m_RequireOpaqueTexture: 1
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 0
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 1
m_SupportsHDR: 0
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1.0486807
m_RenderScale: 1.041047
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
Expand All @@ -43,17 +43,17 @@ MonoBehaviour:
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 8192
m_MainLightShadowmapResolution: 256
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 8
m_AdditionalLightsPerObjectLimit: 0
m_AdditionalLightShadowsSupported: 1
m_AdditionalLightsShadowmapResolution: 8192
m_AdditionalLightsShadowmapResolution: 256
m_AdditionalLightsShadowResolutionTierLow: 128
m_AdditionalLightsShadowResolutionTierMedium: 256
m_AdditionalLightsShadowResolutionTierHigh: 512
m_ReflectionProbeBlending: 1
m_ReflectionProbeBoxProjection: 1
m_ShadowDistance: 150
m_ShadowDistance: 5
m_ShadowCascadeCount: 4
m_Cascade2Split: 0.12
m_Cascade3Split: {x: 0.12, y: 0.5}
Expand Down Expand Up @@ -108,7 +108,7 @@ MonoBehaviour:
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 0
m_PrefilterHDROutput: 1
m_PrefilterAlphaOutput: 1
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ public abstract class BasisInput : MonoBehaviour
public float3 AvatarPositionOffset = Vector3.zero;
public float3 AvatarRotationOffset = Vector3.zero;

public bool HasRaycastSupport = false;
public bool HasInteractVisual = true;

public string CommonDeviceIdentifier;
public BasisVisualTracker BasisVisualTracker;
public BasisPointRaycaster BasisPointRaycaster;//used to raycast against things like UI
Expand Down Expand Up @@ -142,6 +139,10 @@ public void OnDestroy()
{
StopTracking();
}
public bool HasRaycastSupport()
{
return hasRoleAssigned && BasisDeviceMatchSettings.HasRayCastSupport;
}
/// <summary>
/// initalize the tracking of this input
/// </summary>
Expand Down Expand Up @@ -171,21 +172,16 @@ public void InitalizeTracking(string uniqueID, string unUniqueDeviceID, string s
{
AvatarRotationOffset = BasisDeviceMatchSettings.AvatarRotationOffset;
AvatarPositionOffset = BasisDeviceMatchSettings.AvatarPositionOffset;
HasRaycastSupport = BasisDeviceMatchSettings.HasRayCastSupport;
HasInteractVisual = BasisDeviceMatchSettings.HasInteractVisual;
if (HasRaycastSupport)
{
CreateRayCaster(this);
}
}
else
{
HasRaycastSupport = false;
HasInteractVisual = false;
AvatarPositionOffset = Vector3.zero;
AvatarRotationOffset = Vector3.zero;
}

if(HasRaycastSupport())
{
CreateRayCaster(this);
}
if (HasEvents == false)
{
BasisLocalPlayer.Instance.LocalBoneDriver.OnSimulate += PollData;
Expand Down Expand Up @@ -389,7 +385,7 @@ public void UpdatePlayerControl()
case BasisBoneTrackedRole.Mouth:
break;
}
if (HasRaycastSupport)
if (HasRaycastSupport())
{
BasisPointRaycaster.UpdateRaycast();
BasisUIRaycast.HandleUIRaycast();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public void Simulate()
for (int Index = 0; Index < DevicesCount; Index++)
{
BasisInput input = Inputs[Index];
if (input.HasRaycastSupport && input.BasisUIRaycast != null && input.BasisUIRaycast != null && input.BasisUIRaycast.WasCorrectLayer)
if (input.HasRaycastSupport() && input.BasisUIRaycast.WasCorrectLayer)
{
EffectiveMouseAction |= input.BasisUIRaycast.CurrentEventData.WasLastDown == false && input.InputState.Trigger == 1;
if (input.BasisUIRaycast.HadRaycastUITarget)
Expand All @@ -70,7 +70,7 @@ public void Simulate()
for (int Index = 0; Index < DevicesCount; Index++)
{
BasisInput input = Inputs[Index];
if (input.HasRaycastSupport && input.BasisUIRaycast != null && input.BasisUIRaycast.WasCorrectLayer)
if (input.HasRaycastSupport() && input.BasisUIRaycast.WasCorrectLayer)
{
SendUpdateEventToSelectedObject(input.BasisUIRaycast.CurrentEventData); //needed if you want to use the keyboard
}
Expand Down
Loading

0 comments on commit 399f6cf

Please sign in to comment.