Cleaned up and commented version.
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
using Unity.Netcode;
|
||||
using UnityEngine;
|
||||
|
||||
// Dieses Skript ist notwendig, um zum einen Smooth-Movement per Stick-Bewegung zu ermöglichen und zum anderen, dass der Character-Controller bei der physikalischen
|
||||
// Roomscale-Bewegung dem/der NutzerIn folgt.
|
||||
|
||||
[RequireComponent(typeof(CharacterController))]
|
||||
public class OVRStickAndRoomscaleMovement : NetworkBehaviour
|
||||
{
|
||||
@@ -12,13 +15,13 @@ public class OVRStickAndRoomscaleMovement : NetworkBehaviour
|
||||
private CharacterController characterController;
|
||||
private Vector3 velocity;
|
||||
|
||||
public float minHeight = 1.0f; // Kleinster Collider
|
||||
public float maxHeight = 2.2f; // Größter Collider
|
||||
public float skinWidth = 0.05f; // Charaktercontroller-Skin
|
||||
|
||||
public float minHeight = 1.0f; // Minimal mögliche Körpergröße (oder Größe wenn geduckt)
|
||||
public float maxHeight = 2.2f; // Maximal mögliche Körpergröße
|
||||
public float skinWidth = 0.05f; // Durchmesser des Kapsel-Colliders für den Körper. Darf nicht zu groß sein, um sich z.B. über Tische beugen zu können, ohne von der ingame-
|
||||
// Physik weggeschoben zu werden.
|
||||
void Start()
|
||||
{
|
||||
//if (!IsOwner) return;
|
||||
//if (!IsOwner) return; Wäre nur bei Multiplayer wichtig.
|
||||
|
||||
characterController = GetComponent<CharacterController>();
|
||||
|
||||
@@ -28,9 +31,9 @@ public class OVRStickAndRoomscaleMovement : NetworkBehaviour
|
||||
|
||||
void Update()
|
||||
{
|
||||
//if (!IsOwner) return;
|
||||
//if (!IsOwner) return; Wäre nur bei Multiplayer wichtig.
|
||||
|
||||
// 1. Real-World Position des Headsets bestimmen
|
||||
// 1. Position des Kopfes in der realen Welt bestimmen.
|
||||
Vector3 headLocalPos = rigRoot.InverseTransformPoint(cameraTransform.position);
|
||||
|
||||
// 2. Höhe anpassen (Stehen, Hocken)
|
||||
|
||||
Reference in New Issue
Block a user