Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Potrzebna pomoc przy skrypcie [Unity3D]


jasso

Rekomendowane odpowiedzi

Opublikowano

Witam, potrzebuję kogoś kto w szybki sposób podpowie mi co i gdzie mam dopisać abym otrzymał coś w stylu blokady kamery na osi Y (minimalnej wysokości na osi Y - tak aby kamera nie wchodziła w ziemię gdy nią manipuluję) 

Jeszcze raz o co mi głównie chodzi, mam postać w trybie 3 osoby, mam skrypt do kontroli kamery PPM, którą niestety mogę obracać do bólu :/ czyli o 1xxxxxx stopni po osi Y, chodzi mi o to aby zrobić jakiś limit który zablokuje kamerę na osi Y tak aby była możliwość przechylenia kamery tak jak np. w GTA czyli, że kamera sięga od 0 stopni do 90 stopni


Podaję skrypt: PROSZĘ O POMOC

 

 

using UnityEngine;

using System.Collections;
 
public class KontrolerKamery : MonoBehaviour {
public Transform target;
public float walkDistance;
public float runDistance;
public float height;
public float xSpeed = 250.0f;
public float ySpeed = 120.0f;
 
private Transform _myTransform;
private float x;
private float y;
private bool camButtonDown = false;
 
 
// Use this for initialization
void Start () {
if (target == null)
Debug.LogWarning ("Cel nie istnieje");
 
_myTransform = transform;
CameraSetUp ();
 
}
 
void Update (){
if(Input.GetMouseButtonDown(2)){
camButtonDown = true;
}
if(Input.GetMouseButtonUp(2)) {
camButtonDown = false;
}
}
 
// Funkcja służy do aktualizacji funkcji zakończonych
void LateUpdate () {
// _myTransform.position = new Vector3 (target.position.x, target.position.y + height, target.position.z - walkDistance);
// _myTransform.LookAt(target)
 
if(camButtonDown){  //Instrukcja wejścia służy do używania myszki do poruszania kamerą
x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
 
// y = ClampAngle(y, yMinLimit, yMaxLimit);
 
Quaternion rotation = Quaternion.Euler(y, x, 0);
Vector3 position = rotation * new Vector3(0.0f, 0.0f, -walkDistance) + target.position;
 
_myTransform.rotation = rotation;
_myTransform.position = position;
}
}
 
public void CameraSetUp() {
_myTransform.position = new Vector3 (target.position.x, target.position.y + height, target.position.z - walkDistance);
_myTransform.LookAt (target);
}
}
 

 

 

1390144171-U592769.png


 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...