Problem z ładowaniem się tekstur z interfejsu na dany obiekt

Ogólne pytania na temat Unity3D

Problem z ładowaniem się tekstur z interfejsu na dany obiekt

Postprzez Krzychu-M » 07 Lip 2019, 17:21

Witam serdecznie,
potrzebuję pomocy w kwestii ładowania tekstur z interfejsu, który stworzyłem do mojego konfiguratora samochodu. Nie wiem jak zrobić, aby po kliknięciu tekstury z interfejsu, ładowała się ona na danej części samochodu. Przykładowo w stworzonym przeze mnie interfejsie mam tekstury obrazujące felgi, które docelowo chcę ,,załadować'' do kół. Będę wdzięczny za pomoc. Pozdrawiam.
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Ether_141 » 07 Lip 2019, 18:00

Te tekstury na przyciskach nie mają żadnej zależności z teksturami, które chcesz nanosić na koła czy inne elementy samochodu. Grafiki na przyciskach mają tylko obrazować jak np. wygląda ta tekstura, czy w ogóle mogą być to same nazwy, nie wiem jak tam u Ciebie wygląda UI. Nie wiem też czy podany przez Ciebie przykład z felgami jest odpowiedni do twojego problemu, ponieważ felgi to chyba zupełnie inne modele, chyba że chodzi Ci o kolor felg. Nie wiem, ale mniejsza o to.

Stwórz sobie skrypt odpowiedzialny za zmianę materiału danej części, np. tych felg. Będziesz potrzebował referencji do felg oraz do materiałów, które chcesz nanosić na te felgi. Przykładowo:

Kod: Zaznacz wszystko
using UnityEngine;

public class Example : MonoBehaviour {

    public Material paint1;
    public GameObject rim;

    public void SetMaterial ()
    {
        rim.GetComponent<MeshRenderer>().materials[0] = paint1;
    }

}



W momencie naciśnięcia przycisku zmieniany jest materiał naniesiony na felgę. To tylko tak żeby Cie naprowadzić. Możesz też zrobić np. tablice czy listę z tymi materiałami i w funkcji przekazywać przy kliknięciu index materiału który chcesz nanieść. Na przykład:

Kod: Zaznacz wszystko
using UnityEngine;

public class Example : MonoBehaviour {

    public Material[] paints;
    public GameObject rim;

    public void SetMaterial (int paintIndex)
    {
        rim.GetComponent<MeshRenderer>().materials[0] = paints[paintIndex];
    }

}


Jak to sobie ogarniesz i zaimplementujesz, zależy tylko od Ciebie. Powodzenia.
Awatar użytkownika
Ether_141
 
Posty: 460
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Krzychu-M » 11 Lip 2019, 21:17

Cześć, Dziękuję za pomoc. Mam jeszcze jeden problem, mam napisany skrypt na włączanie i wyłączanie w meny pewnych paneli i nie wiem jak usunąć ten błąd - skrypt poniżej (wyskakuje błąd:
Błąd CS0229 Niejednoznaczność pomiędzy „GUIGroupController.GUIGroups” i „GUIGroupController.GUIGroups”


Kod: Zaznacz wszystko
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class GUIGroupController : MonoBehaviour
{
    public RectTransform[] GUIGroups;
    public int GUIGroupControllercurrentIndex = -1;
    public void GUIGroupControllerSwitchGroup(int index)
    {
        currentIndex = index;
    }
    public void updateGroup()
    {
        GameObject currentGroup = GUIGroups [currentIndex].gameObject;
        if (currentGroup.activeSelf)
        {
            currentGroup.SetActive(false);
        }
        else
        {
            currentGroup.SetActive(true);
        }
    }
}
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Hostur » 12 Lip 2019, 07:33

Zmień nazwę tej tablicy GUIGroups i zobacz co się stanie. Po tym fragmencie kodu nie widać o co chodzi a przynajmniej ja nie rozumiem. Trochę jakbyś miał w tej samej przestrzeni nazw klasę o tej samej nazwie? Nie masz folderu o tej samej nazwie?
Hostur
 
Posty: 739
Rejestracja: 05 Sie 2015, 07:36
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Krzychu-M » 13 Lip 2019, 12:06

Cześć, a na jaką nazwę powinienem zmienić? Nie mam takiego folderu w bibliotece projektu.
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Ether_141 » 13 Lip 2019, 16:30

Jak można zrozumieć z treści tego błędu, w twoim projekcie znajdują się obiekty o tych samych nazwach. Nazwę powinieneś zmienić na jakąkolwiek (oczywiście nie taka jak słowa kluczowe czy np. nazwy już stworzonych obiektów). Sprawdź sobie też czy nie masz też przypadkiem zduplikowanego pliku z tym skryptem. Może masz w projekcie taką samą klase już z taką samą zmienną.
Awatar użytkownika
Ether_141
 
Posty: 460
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Krzychu-M » 13 Lip 2019, 19:10

Cześć, udało się, zmiana nazwy rozwiązała problem, dziękuję za pomoc.
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Krzychu-M » 14 Lip 2019, 10:39

Cześć, mam jeszcze jeden problem, mam za zadanie w konfiguratorze pulpitu kierowcy doprowadzić do tego, aby po kliknięciu w interfejsie opcji ,,Prawy pulpit'' podświetlały się przyciski na pulpicie z z prawej strony pulpitu. Przyciski te podlegać będą konfiguracji. Czy potrzebny jest na to jakiś skrypt, czy wystarczy dodać pewne komponenty? Z góry dziękuję za odpowiedź. Pozdrawiam.
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Ether_141 » 14 Lip 2019, 15:54

No oczywiście, że musisz napisać jakiś skrypt, który będzie aktywował bądź dezaktywował te przyciski na pulpitach.
Awatar użytkownika
Ether_141
 
Posty: 460
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z ładowaniem się tekstur z interfejsu na dany ob

Postprzez Krzychu-M » 15 Lip 2019, 21:08

Cześć, a czy masz może podobny skrypt na aktywowanie i dezaktywowanie przycisków? Szczerze mówiąc nie do końca wiem, jakby on miał wyglądać.
Krzychu-M
 
Posty: 27
Rejestracja: 06 Sty 2019, 12:32
Has thanked: 0 time
Been thanked: 0 time

Następna

Wróć do Wsparcie Unity

Kto jest na forum

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

cron