1
0
forked from cgvr/DeltaVR

quest marker hovers above specified target

This commit is contained in:
2026-02-13 17:40:37 +02:00
parent 1f632c60bc
commit 60951161ed
4 changed files with 23 additions and 7 deletions

View File

@@ -9,6 +9,7 @@
* npc character: * npc character:
* klaas on näha temast eespool * klaas on näha temast eespool
* voicelines: list listidest, mille hulgast saab valida * voicelines: list listidest, mille hulgast saab valida
* Unity crash after stopping the game - most likely due to FMOD trying to do something with invalid audio instances
Can't/Won't Do: Can't/Won't Do:
* glTF loading: vahetada ära shader Universal render pipeline Lit, mitte panna buildi kaasa glTf oma - **ei saa, objekt on siis ilma tekstuurita, lihtsalt hall** * glTF loading: vahetada ära shader Universal render pipeline Lit, mitte panna buildi kaasa glTf oma - **ei saa, objekt on siis ilma tekstuurita, lihtsalt hall**

View File

@@ -58,8 +58,8 @@ public class ShapeDetectionNPC : NPCController
{ {
state = 1; state = 1;
await CallPlayer(); await CallPlayer();
await Task.Delay(2500); await Task.Delay(2000);
questMarker.MoveTo(radio.transform); questMarker.MoveTo(radio.transform, true);
} }
} }
@@ -137,7 +137,7 @@ public class ShapeDetectionNPC : NPCController
{ {
SpeakVoiceLine(5, radio.gameObject, radioAmount); SpeakVoiceLine(5, radio.gameObject, radioAmount);
state = 5; state = 5;
questMarker.MoveTo(shapeScanner.transform); questMarker.MoveTo(shapeScanner.transform, true);
} }
string encodedTexture = Convert.ToBase64String(GeneratedTexture.EncodeToJPG()); string encodedTexture = Convert.ToBase64String(GeneratedTexture.EncodeToJPG());

View File

@@ -7,10 +7,11 @@ public class QuestMarker : MonoBehaviour
public Transform movingPart; public Transform movingPart;
public float amplitude = 0.1f; // How far up/down it moves public float amplitude = 0.1f; // How far up/down it moves
public float frequency = 1.5f; // Speed of oscillation public float frequency = 1.5f; // Speed of oscillation
public float heightAboveTarget = 1f; public float heightAboveTarget = 0.75f;
private Vector3 startPos; private Vector3 startPos;
private Transform playerTransform; private Transform playerTransform;
private Transform hoverAboveTransform;
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
@@ -31,6 +32,13 @@ public class QuestMarker : MonoBehaviour
Vector3 lookTargetPos = new Vector3(playerTransform.position.x, transform.position.y, playerTransform.position.z); Vector3 lookTargetPos = new Vector3(playerTransform.position.x, transform.position.y, playerTransform.position.z);
transform.LookAt(lookTargetPos); transform.LookAt(lookTargetPos);
} }
if (hoverAboveTransform != null)
{
Debug.Log("pos before floating: " + transform.position);
transform.position = hoverAboveTransform.position + new Vector3(0f, heightAboveTarget, 0f);
Debug.Log("pos after floating: " + transform.position);
}
} }
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
@@ -49,8 +57,15 @@ public class QuestMarker : MonoBehaviour
} }
} }
public void MoveTo(Transform target) public void MoveTo(Transform target, bool attach = false)
{ {
transform.position = target.position + new Vector3(0, heightAboveTarget, 0); transform.position = target.position + new Vector3(0, heightAboveTarget, 0);
if (attach)
{
hoverAboveTransform = target;
} else
{
hoverAboveTransform = null;
}
} }
} }