Po kliknięciu w RESPAWN postać dziwnie się porusza!

Programowanie w Unity.

Po kliknięciu w RESPAWN postać dziwnie się porusza!

Postprzez Darkis » 06 Maj 2018, 15:03

Po wciśnięciu w przycisk RESPAWN wywołuję taki skrypt
Kod: Zaznacz wszystko
if(Application.loadedLevelName == "dom1")
        {
           postac.position = new Vector3(8.55f, 0.356f, 17.36f);
            postac.eulerAngles = new Vector3(0, 90, 0);

        }


I niby wszystko w porządku.
JEDNAK

Mój skrypt poruszania wygląda tak:
Kod: Zaznacz wszystko
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class PlayerControler : MonoBehaviour
{

    //Obiekt odpowiedzialny za ruch gracza.
    public CharacterController characterControler;

   
    public float predkoscPoruszania = 15.0f;
 
    public float wysokoscSkoku = 2.0f;

    public float aktualnaWysokoscSkoku = 0f;

    public float predkoscBiegania = 15.0f;
    public float predkoscChodzenia = 12.0f;

    public bool moznachodzic = true;


    void Start()
    {
        characterControler = GetComponent<CharacterController>();
    }


    void Update()
    {
        poruszanie();
    }

    void poruszanie()
    {
        if (moznachodzic == true)
        {
        float ruchprzodtyl = Input.GetAxis("Vertical") * predkoscPoruszania;

        float ruchlewoprawo = Input.GetAxis("Horizontal") * predkoscPoruszania;

        if (Input.GetKey("left shift"))
        {
            predkoscPoruszania = predkoscBiegania;
        }
        else
        {
            predkoscPoruszania = predkoscChodzenia;
        }

        Vector3 ruch = new Vector3(ruchlewoprawo, aktualnaWysokoscSkoku, ruchprzodtyl);
        ruch = transform.rotation * ruch;

        characterControler.Move(ruch * Time.deltaTime);
             }
    }

   

}


Nie wiem czy to ważna ale mam również skrypt który blokuje "wywracanie się postaci"
Kod: Zaznacz wszystko
  public Transform postac;

    public float potrzebarotacji = 0f;

    void Update()
    {
        if (postac.eulerAngles.x != 0)
        {

            postac.eulerAngles = new Vector3(potrzebarotacji, postac.eulerAngles.y, postac.eulerAngles.z);
        }
        if(postac.eulerAngles.z != 0)
        {
            postac.eulerAngles = new Vector3(postac.eulerAngles.x, postac.eulerAngles.y, potrzebarotacji);
        }



I teraz po wciśnięciu postać dziwnie się zachowuje. Albo bardzo szybko porusza się do przodu, i nic nie mogę na to poradzić,
albo się obraca.
Czego to może być wina?
Darkis
 
Posty: 36
Rejestracja: 25 Mar 2018, 16:21
Has thanked: 0 time
Been thanked: 0 time

Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 13 gości

cron