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

Kolizja celownika


Rekomendowane odpowiedzi

Opublikowano

Witam!

 

Mam problem z kolizją celownika jak wyżej,

próbowałem już to zrobić ale nie idzie mi to.

Próbowałem Raycast ale działa tylko z pewnego

ułożenia postaci i nie zawszę.

Chcę zrobić coś takiego, że jak najadę celownikiem

na jakiś przedmiot, np: kamień to mi się pojawi informacja

że mogę go podnieść.

 

Dzięki za każdą pomoc.

 

Ps. Żeby nie było, że nic ie robię tyko odpowiedź chcę, to

zamieszczam kawałek kodu(C#)(Unity):

 

        RaycastHit hit;
 
        Vector3 fwd = transform.TransformDirection(Vector3.forward);
 
        if (Physics.Raycast(transform.position, fwd, out hit, rayLength))
        {
            logScript = GameObject.Find(hit.collider.gameObject.name).GetComponent<Log>();
 
            if (hit.collider.gameObject.tag == "Log")
            {
                collision = true;
            }
            else
            {
                collision = false;
            }
        }

 

 

Opublikowano

W sumie to poradziłem sobie już z tym ale nie miałem czasu napisać jak 

więc napiszę dla innych :)

 

Miałem bal drzewa a chciałem żeby się turlała(The Forest jak się zetnie drzewo to wylatują

bale drewna i jak jest jakiś pagórek to się z niego .. z turla) jak to bal drzewa no więc dałem

colidera mesh i chciałem żeby można było podnieść, no więc napisałem skrypt trochę źle,

ponieważ łapał tylko z jednej strony i nie zawsze, przyczyną że nie zawsze łapał był colider

więc dodałem drugi(box i trochę powiększyłem) tyle, że z triggerem i zmieniłem trochę skrypt,

na:

    int rayLength = 5;
    public bool collision;
 
    void Update()
    {
        RaycastHit hit;
        Ray detect = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
 
        if (Physics.Raycast(detect, out hit, rayLength))
        {
            if (hit.collider.gameObject.tag == "Log")
            {
                collision = true;
            }
            else
            {
                collision = false;
            }
        }

 

Tak więc dzięki za każdą pomoc @skprime

 

Ps. Jeżeli coś w kodzie jest źle to poproszę o poprawienie mnie :)

Opublikowano

Nie będę zaśmiecał kolejnym tematem, więc napiszę tutaj(ale postem to zaśmiecę :))
Takie pytanko, jak zrobić bazę item'ów hmm "item database", wolałbym zrobić coś

takiego że mam 1 class'e od typów (weapon, ore, potion .. itp), nwm jak to zrobić,

może dodawanie do listy(List)(Próbowałem zbytnio nie pykło :()?

Czy może jakoś inaczej się da?

 

Jakby co cały czas googluje :) (Jak coś znajdę to dam znać :))

Opublikowano

Może tak przechowywanie w plikach?

Odpalasz gre, ładujesz dane z pliku do array'a.

Jak gra się zamyka, serializujesz array'a do pliku.

W czasie runtime korzystasz z array'a.

Opublikowano

Xml

Co z tego, że zakodujesz skoro każdy kto się uprze będzie mógł to odkodować? Tego typu pliki oraz inne zasoby wrzucaj sobie do jednego archiwum zip, zmień nazwę na .dat a w kodzie gry otwieraj pliki z tego archiwum zamiast bezpośrednio z dysku. W ten sposób ograniczysz liczbę osób grzebiących w tych plikach do zaledwie kilku procent. Dalsze zabezpieczanie nie ma sensu.

 

 


Jak gra się zamyka, serializujesz array'a do pliku.

 

Jaki w tym sens? Definicje itemów to wg mnie coś stałego w grze.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...