Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Vezo_20

Strony: [1]
1
Kombinuję z Eulerem - Dziwny zrywany ruch kamery (znowu)
transform.Rotate(...) (w tym przypadku cam.Rotate(...)) - także nie działa jak powinno...
Nie wiem już sam, co jest dobrze, co źle, niby te funkcje rozumiem, ale jak przyjdzie coś zrobić, to nie potrafię wszystkiego ogarnąć. Może rzucam się za szybko na głęboką wodę. Chciałbym jednak dobrze zrozumieć czemu to nie działa i jak powinienem to napisać. (Przepraszam za małą ułomność, ale jak za coś się wezmę, to nie odpuszczę xD)

2
Ostatnio postanowiłem, że krok po kroku zaprogramuję Third Person Controller bez użycia żadnych assetów z zewnątrz. Jestem jak na razie (dopiero) w trakcie pisania skryptu na zoom kamery od/do postaci. Chciałem go dopracować maksymalnie - oprócz ruchu w osi Z i Y, bardzo pragnąłem dodać obrót kamery w osi X. Niestety po napisaniu poniższego kodu, oś obrotu X ma wartość 180. Domniemuję, że jest to spowodowane moim brakiem wiedzy odnośnie Quaternionów, nie wiem po jakiego grzyba nie może być po prostu użyty tu zwykły Vector3 dla osi x, y, z. Musi być tu jeszcze w, którego istoty istnienia nie rozumiem.  :ayfkm: (Po zmianie jego wartości na przykładowo 180, kamera wariuje). Co mam poprawić, aby działało tak, jak powinno?  :hmmm:

using UnityEngine;
using System.Collections;

public class CharCamera : MonoBehaviour {

    //Zmienne odpowiedzialne za przybliżanie kamery:
    [Header("Zoom")]
    public Transform cam;
    public float minY = 1.15f;
    public float maxY = 9.0f;
    public float minZ = -4.0f;
    public float maxZ = -20.0f;
    public float minXRot = 0.0f;
    public float maxXRot = 15.0f;
    public float smoothTime = 0.4f;
    public float szybkosc = 0.4F;
    private float actualY = 2.0f;
    private float actualZ = -6.0f;
    private float actualXRot;
    private Vector3 speedTrans = Vector3.zero;
    private float speedRotX = 0.0f;

    void Update () {

        //Zoom && Smooth Zoom:
        if (Input.GetAxis("Mouse ScrollWheel") < 0) // forward
        {
            if(actualY < maxY)
                actualY = actualY + szybkosc * Mathf.Abs((maxY - minY) / (maxZ - minZ));
            if(actualZ > maxZ)
                actualZ = actualZ - szybkosc;
            if(actualXRot < maxXRot)
                actualXRot = actualXRot + szybkosc * Mathf.Abs((maxY - minY) / (maxZ - minZ));
        }
        if (Input.GetAxis("Mouse ScrollWheel") > 0) // back
        {
            if(actualY > minY)
                actualY = actualY - szybkosc * Mathf.Abs((maxY - minY) / (maxZ - minZ));
            if(actualZ < minZ)
                actualZ = actualZ + szybkosc;
            if (actualXRot > minXRot)
                actualXRot = actualXRot - szybkosc * Mathf.Abs((maxY - minY) / (maxZ - minZ));
        }

        Vector3 basicPosition = new Vector3(0, actualY, actualZ);
        float basicRotationX = actualXRot;
        Vector3 smoothPosition = Vector3.SmoothDamp(cam.localPosition, basicPosition, ref speedTrans, smoothTime);
        float smoothRotationX = Mathf.SmoothDamp(cam.localRotation.x, basicRotationX, ref speedRotX, smoothTime);
        cam.localPosition = smoothPosition;
        cam.localRotation = new Quaternion(smoothRotationX, 0, 0, 0);
    }
}

Z góry dziękuję za pomoc. ;)

3
Prace 3D / Miecz - Mój model (oteksturowany)
« dnia: 2016-10-31, 18:27 »
Pragnę pochwalić się moim modelem ostatnio stworzonym w blenderze.  :D


Link do pobrania tutaj: http://adf.ly/1fFHvA
(W paczce 2 foldery z plikami:
1. do otworzenia w blenderze,
2. do unity 3D.)

Jeśli miałby on być gdziekolwiek wykorzystywany, prosiłbym tylko, aby podać nick autora (mój).

>> Z góry zaznaczam, iż jestem kompozytorem bez budżetu, nie grafikiem, więc jeśli się spodoba, to bardzo mi miło.  <<
>> Mile widziane porady udzielone przez bardziej zaawansowanych grafików 3D. :D <<

Strony: [1]
Do góry