Problem textury 2d


#1

witam od niedawna tworze swoją grę jednak kiedy moja postać się porusza piksele jak by nie nadążają za nią przez co kiedy postać przestanie się ruszać zaczynają wracać na miejsce i falować (dodałbym filmik ale nie ma takiej opcji)


#2

możesz wrzucić filmik na kanał youtube ( jako prywatny ) i wkleić link.

w zasadzie to musisz, bo ni wafla nie wiadomo o co chodzi z tego opisu.


#3

ciężko mi było to opisać i się trochę spodziewałem że będzie ciężko komuś ustalić co to jest xD
Ale już dodaje


#4

#5

to wygląda jakby kamera się ruszała i cofała. Na pewno nie masz żadnych skryptów dodanych?


#6

napisałem skrypt kamery
public class ruch_kamery : MonoBehaviour
{
public Transform target;
public float smoothing = 5f;

Vector3 offset;                    

void Start()
{
    offset = transform.position - target.position;
}

void FixedUpdate()
{

    Vector3 targetCamPos = target.position + offset;

    transform.position = Vector3.Lerp(transform.position, targetCamPos, smoothing * Time.deltaTime);
}

czy to może być jego wina?


#7
  1. wyłącz skrypt kamery i porusz postacią. Jeżeli będzie wyglądać ok to problem jest z kamerą, jak dalej będzie wyglądać nie tak, to problem leży gdzie indziej.

  2. Poruszasz transform, a nie rigidbody. Daj to w Update, a nie FixedUpdate.

  3. Jeżeli już uzależniasz coś od FixedUpdate, to wypadało by użyć Time.fixedDeltaTime.

Podejrzewam, że postać porusza się w update, a kamera w fixedUpdate. Wtedy transform postaci aktualizuje się kilka razy częściej i być może to to.


#8

usunąłem ten skrypt i jest lepiej jednak problem pozostaje


#9

Postać się przesuwa… Zakładam że identycznie co kamera


#10

Hmmm porównałem ten skrypt z moim i jest taki sam a, jak mawiają programiści “u mnie działa” =)). Może to wina samego unity? spróbuj przeinstalować pliki albo zrobić nowy projekt. Może masz jakiś skrypt lub animację która koliduje z kamerą lub poruszaniem się? Bo to wygląda trochę jak animator sam się rozpędzał szybciej a potem wracał na pozycje wyjściową.


#11

Niestety dalej po ponownym zainstalowaniu unity jest tak samo lepiej jednak dalej występuje ten sam problem nawet po wyłączeniu skryptu
wersja unity : 2020.3.4f1


#12

może to być powód tego skrypt?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class poruszanie : MonoBehaviour
{
public int speed;
public int JumpHight;
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
   if(Input.GetKeyDown(KeyCode.W))
    {
        GetComponent<Rigidbody2D>().velocity = new Vector2(0, JumpHight);
    }
    if (Input.GetKey(KeyCode.D))
    {
        GetComponent<Rigidbody2D>().velocity = new Vector2(speed, GetComponent<Rigidbody2D>().velocity.y);
    }
    if (Input.GetKey(KeyCode.A))
    {
        GetComponent<Rigidbody2D>().velocity = new Vector2(-speed, GetComponent<Rigidbody2D>().velocity.y);
    }
}

}


#13

Nie wiem czy to coś zmieni ale podczas korzystania z pixilart mam ten sam problem czy to może się okazać problem np z monitorem


#14

Te nagranie powyżej, to ty klikasz tylko raz nie trzymasz przycisku?jeśli tak to wszystko raczej działa jak powinnao, rigidbody odpowiada za tarcie oraz przesunięcie https://docs.unity3d.com/ScriptReference/Rigidbody2D.html


#15

Cześć,
jeżeli chcesz mogę ci z tym pomóc, ale będę potrzebował chwilowy wgląd do całego projektu.
Jeżeli się zdecydujesz, pisz.

Tymczasem życzę miłego dnia, wieczora, albo dobrej nocy :upside_down_face: