Skip to content

Commit 4ecc40a

Browse files
committed
changed ui raycasting visuals
1 parent 22c0428 commit 4ecc40a

9 files changed

Lines changed: 523 additions & 35 deletions

File tree

Basis/Packages/com.basis.framework/Device Management/Common/BasisDeviceNameMatcher.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public DeviceSupportInformation GetAssociatedDeviceMatchableNamesNoCreate(string
109109
private DeviceSupportInformation CreateAndRegisterFallback(string nameToMatch, BasisBoneTrackedRole fallbackRole, bool useFallbackRole)
110110
{
111111
bool HasRayCastVisual = true;
112-
bool HasRayCastRadical = true;
112+
bool HasRayCastRadical = false;
113113
bool HasRayCastSupport = true;
114114
if (fallbackRole == BasisBoneTrackedRole.CenterEye && useFallbackRole)
115115
{

Basis/Packages/com.basis.framework/Device Management/Devices/Base/BasisInput.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -580,13 +580,17 @@ public void CreateRayCaster(BasisInput input)
580580
LineRenderer.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity);
581581
InteractionLineRenderer.enabled = false;
582582
InteractionLineRenderer.material = BasisPlayerInteract.LineMaterial;
583-
InteractionLineRenderer.startWidth = BasisPlayerInteract.interactLineWidth;
584-
InteractionLineRenderer.endWidth = BasisPlayerInteract.interactLineWidth;
585583
InteractionLineRenderer.useWorldSpace = true;
586584
InteractionLineRenderer.textureMode = LineTextureMode.Tile;
587585
InteractionLineRenderer.positionCount = 2;
588586
InteractionLineRenderer.numCapVertices = 0;
589587
InteractionLineRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
588+
InteractionLineRenderer.startWidth = 0.1f;
589+
InteractionLineRenderer.endWidth = 0.1f;
590+
InteractionLineRenderer.widthMultiplier = BasisPlayerInteract.interactLineWidth;
591+
InteractionLineRenderer.useWorldSpace = true;
592+
InteractionLineRenderer.textureMode = LineTextureMode.Tile;
593+
InteractionLineRenderer.applyActiveColorSpace = false;
590594
}
591595
HasRaycaster = true;
592596
}

Basis/Packages/com.basis.framework/Interactions/BasisPlayerInteract.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class BasisPlayerInteract : MonoBehaviour
3838
public static Material LineMaterial;
3939
private static AsyncOperationHandle<Material> asyncOperationLineMaterial;
4040

41-
public static float interactLineWidth = 0.015f;
41+
public static float interactLineWidth = 1f;
4242
public static bool renderInteractLines = true;
4343
private static bool interactLinesActive = false;
4444

Basis/Packages/com.basis.framework/UI/BasisUIRaycast.cs

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,34 @@ public void Initialize(BasisInput basisInput, BasisPointRaycaster pointRaycaster
8989
LineRenderer.positionCount = 2;
9090
HasLineRenderer = true;
9191
LineRenderer.enabled = HasLineRenderer;
92-
LineRenderer.numCapVertices = 12;
93-
LineRenderer.numCornerVertices = 12;
92+
LineRenderer.numCapVertices = 32;
93+
LineRenderer.numCornerVertices = 32;
9494
LineRenderer.gameObject.layer = UILayer;
95+
96+
LineRenderer.useWorldSpace = true;
97+
LineRenderer.textureMode = LineTextureMode.Tile;
98+
LineRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
99+
LineRenderer.startWidth = 0.1f;
100+
LineRenderer.endWidth = 0.1f;
101+
LineRenderer.widthMultiplier = BasisPlayerInteract.interactLineWidth;
102+
LineRenderer.useWorldSpace = true;
103+
LineRenderer.textureMode = LineTextureMode.Tile;
104+
LineRenderer.applyActiveColorSpace = false;
105+
var g = new Gradient();
106+
g.SetKeys(
107+
new[]
108+
{
109+
new GradientColorKey(new Color(0.3019608f,0.09411766f,0.2980392f), 0f),
110+
new GradientColorKey(new Color(0.1058824f,0.1411765f,0.3137255f), 1f),
111+
},
112+
new[]
113+
{
114+
new GradientAlphaKey(1.00f, 1),
115+
new GradientAlphaKey(1, 0),
116+
}
117+
);
118+
119+
LineRenderer.colorGradient = g;
95120
}
96121
if (basisInput.DeviceMatchSettings.HasRayCastRadical)
97122
{
@@ -249,8 +274,13 @@ private void UpdateLineRenderer()
249274

250275
if (HasLineRenderer)
251276
{
252-
LineRenderer.SetPosition(0, BasisPointRaycaster.ray.origin);
253-
LineRenderer.SetPosition(1, PhysicHit.point);
277+
const float endOffset = 0.01f; // tweak in meters (VR usually likes 0.005–0.02)
278+
279+
Vector3 start = BasisPointRaycaster.ray.origin;
280+
Vector3 end = PhysicHit.point + PhysicHit.normal * endOffset;
281+
282+
LineRenderer.SetPosition(0, start);
283+
LineRenderer.SetPosition(1, end);
254284
}
255285
}
256286

Basis/Packages/com.basis.openvr/BasisOpenVRInputController.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,20 @@ public class BasisOpenVRInputController : BasisInputController
2222
public TrackedDevicePose_t devicePose = new TrackedDevicePose_t();
2323
public TrackedDevicePose_t deviceGamePose = new TrackedDevicePose_t();
2424
public EVRCompositorError result;
25-
public Vector3 RaycastOffset = new Vector3(0, 0.05f, 0.05f);
25+
public Vector3 LeftRaycastOffset = new Vector3(0.03f, -0.03f, 0.06f);
26+
public Vector3 RightRaycastOffset = new Vector3(-0.03f, -0.03f, 0.06f);
2627
public void Initialize(OpenVRDevice device, string UniqueID, string UnUniqueID, string subSystems, bool AssignTrackedRole, BasisBoneTrackedRole basisBoneTrackedRole, SteamVR_Input_Sources SteamVR_Input_Sources)
2728
{
2829
HandBiasSplay = -0.8f;
2930

3031
// existing hand rotation offsets
31-
leftHandToIKRotationOffset = new Vector3(105, 185, 265);
32-
rightHandToIKRotationOffset = new Vector3(105, 185,265);
32+
leftHandToIKRotationOffset = new Vector3(105, 185, 260);
33+
rightHandToIKRotationOffset = new Vector3(105, 185,290);
3334

3435
leftHandToIKPositionOffset = new Vector3(-0.02f, 0.07f, 0.02f);
3536
rightHandToIKPositionOffset = new Vector3(-0.02f, 0.07f, 0.02f);
3637

38+
3739
if (HasOnUpdate && DeviceposeAction != null)
3840
{
3941
HasOnUpdate = false;
@@ -205,7 +207,7 @@ private void UpdateHandPose(BasisFingerPose hand, SteamVR_Action_Skeleton skelet
205207

206208
UpdateRaycastOffset();
207209
ComputeRaycastDirection(
208-
wristWorldPos + (UnscaledDeviceCoord.rotation * (RaycastOffset * avatarScale)),
210+
wristWorldPos + (UnscaledDeviceCoord.rotation * (isLeft ? LeftRaycastOffset : RightRaycastOffset * avatarScale)),
209211
HandFinal.rotation,
210212
ActiveRaycastOffset
211213
);

Basis/Packages/com.basis.sdk/Materials/RayCastMaterial.mat

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,18 @@ Material:
2121
m_PrefabInstance: {fileID: 0}
2222
m_PrefabAsset: {fileID: 0}
2323
m_Name: RayCastMaterial
24-
m_Shader: {fileID: 4800000, guid: b7839dad95683814aa64166edc107ae2, type: 3}
24+
m_Shader: {fileID: -6465566751694194690, guid: dba9025990bbeba46b0aa3d2b68d5d8c, type: 3}
2525
m_Parent: {fileID: 0}
2626
m_ModifiedSerializedProperties: 0
27-
m_ValidKeywords:
28-
- _COLOROVERLAY_ON
29-
- _RECEIVE_SHADOWS_OFF
30-
m_InvalidKeywords:
31-
- _FLIPBOOKBLENDING_OFF
27+
m_ValidKeywords: []
28+
m_InvalidKeywords: []
3229
m_LightmapFlags: 4
3330
m_EnableInstancingVariants: 0
3431
m_DoubleSidedGI: 0
3532
m_CustomRenderQueue: 2050
36-
stringTagMap:
37-
RenderType: Opaque
38-
disabledShaderPasses: []
33+
stringTagMap: {}
34+
disabledShaderPasses:
35+
- MOTIONVECTORS
3936
m_LockedProperties:
4037
m_SavedProperties:
4138
serializedVersion: 3
@@ -110,6 +107,7 @@ Material:
110107
- _CameraNearFadeDistance: 1
111108
- _ClearCoatMask: 0
112109
- _ClearCoatSmoothness: 0
110+
- _Color: 0
113111
- _ColorMode: 3
114112
- _Cull: 2
115113
- _Cutoff: 0.5
@@ -133,6 +131,7 @@ Material:
133131
- _Mode: 0
134132
- _OcclusionStrength: 1
135133
- _Parallax: 0.005
134+
- _QueueControl: 0
136135
- _QueueOffset: 50
137136
- _ReceiveShadows: 0
138137
- _Smoothness: 0

Basis/Packages/com.basis.sdk/Settings/Basis Devices Matcher.asset

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ MonoBehaviour:
4444
HasRayCastSupport: 1
4545
CanDisplayPhysicalTracker: 0
4646
HasRayCastVisual: 1
47-
HasRayCastRadical: 1
47+
HasRayCastRadical: 0
4848
HasTrackedRole: 1
4949
TrackedRole: 18
5050
HasInteractVisual: 1
@@ -57,7 +57,7 @@ MonoBehaviour:
5757
HasRayCastSupport: 1
5858
CanDisplayPhysicalTracker: 0
5959
HasRayCastVisual: 1
60-
HasRayCastRadical: 1
60+
HasRayCastRadical: 0
6161
HasTrackedRole: 1
6262
TrackedRole: 19
6363
HasInteractVisual: 1
@@ -81,7 +81,7 @@ MonoBehaviour:
8181
HasRayCastSupport: 1
8282
CanDisplayPhysicalTracker: 0
8383
HasRayCastVisual: 1
84-
HasRayCastRadical: 1
84+
HasRayCastRadical: 0
8585
HasTrackedRole: 1
8686
TrackedRole: 18
8787
HasInteractVisual: 1
@@ -92,7 +92,7 @@ MonoBehaviour:
9292
HasRayCastSupport: 1
9393
CanDisplayPhysicalTracker: 0
9494
HasRayCastVisual: 1
95-
HasRayCastRadical: 1
95+
HasRayCastRadical: 0
9696
HasTrackedRole: 1
9797
TrackedRole: 19
9898
HasInteractVisual: 1
@@ -125,7 +125,7 @@ MonoBehaviour:
125125
HasRayCastSupport: 1
126126
CanDisplayPhysicalTracker: 0
127127
HasRayCastVisual: 1
128-
HasRayCastRadical: 1
128+
HasRayCastRadical: 0
129129
HasTrackedRole: 1
130130
TrackedRole: 18
131131
HasInteractVisual: 1
@@ -136,7 +136,7 @@ MonoBehaviour:
136136
HasRayCastSupport: 1
137137
CanDisplayPhysicalTracker: 0
138138
HasRayCastVisual: 1
139-
HasRayCastRadical: 1
139+
HasRayCastRadical: 0
140140
HasTrackedRole: 1
141141
TrackedRole: 19
142142
HasInteractVisual: 1
@@ -147,7 +147,7 @@ MonoBehaviour:
147147
HasRayCastSupport: 1
148148
CanDisplayPhysicalTracker: 0
149149
HasRayCastVisual: 1
150-
HasRayCastRadical: 1
150+
HasRayCastRadical: 0
151151
HasTrackedRole: 1
152152
TrackedRole: 18
153153
HasInteractVisual: 1
@@ -158,7 +158,7 @@ MonoBehaviour:
158158
HasRayCastSupport: 1
159159
CanDisplayPhysicalTracker: 0
160160
HasRayCastVisual: 1
161-
HasRayCastRadical: 1
161+
HasRayCastRadical: 0
162162
HasTrackedRole: 1
163163
TrackedRole: 19
164164
HasInteractVisual: 1
@@ -169,7 +169,7 @@ MonoBehaviour:
169169
HasRayCastSupport: 1
170170
CanDisplayPhysicalTracker: 0
171171
HasRayCastVisual: 1
172-
HasRayCastRadical: 1
172+
HasRayCastRadical: 0
173173
HasTrackedRole: 1
174174
TrackedRole: 19
175175
HasInteractVisual: 1
@@ -180,7 +180,7 @@ MonoBehaviour:
180180
HasRayCastSupport: 1
181181
CanDisplayPhysicalTracker: 0
182182
HasRayCastVisual: 1
183-
HasRayCastRadical: 1
183+
HasRayCastRadical: 0
184184
HasTrackedRole: 1
185185
TrackedRole: 18
186186
HasInteractVisual: 1
@@ -191,7 +191,7 @@ MonoBehaviour:
191191
HasRayCastSupport: 1
192192
CanDisplayPhysicalTracker: 0
193193
HasRayCastVisual: 1
194-
HasRayCastRadical: 1
194+
HasRayCastRadical: 0
195195
HasTrackedRole: 1
196196
TrackedRole: 18
197197
HasInteractVisual: 1
@@ -202,7 +202,7 @@ MonoBehaviour:
202202
HasRayCastSupport: 1
203203
CanDisplayPhysicalTracker: 0
204204
HasRayCastVisual: 1
205-
HasRayCastRadical: 1
205+
HasRayCastRadical: 0
206206
HasTrackedRole: 1
207207
TrackedRole: 19
208208
HasInteractVisual: 1
@@ -224,7 +224,7 @@ MonoBehaviour:
224224
HasRayCastSupport: 1
225225
CanDisplayPhysicalTracker: 0
226226
HasRayCastVisual: 1
227-
HasRayCastRadical: 1
227+
HasRayCastRadical: 0
228228
HasTrackedRole: 1
229229
TrackedRole: 18
230230
HasInteractVisual: 1
@@ -235,7 +235,7 @@ MonoBehaviour:
235235
HasRayCastSupport: 1
236236
CanDisplayPhysicalTracker: 0
237237
HasRayCastVisual: 1
238-
HasRayCastRadical: 1
238+
HasRayCastRadical: 0
239239
HasTrackedRole: 1
240240
TrackedRole: 19
241241
HasInteractVisual: 1

0 commit comments

Comments
 (0)