Prefab do listy? Unity3d

Programowanie w Unity.

Prefab do listy? Unity3d

Postprzez Jo5zek » 22 Lip 2019, 16:33

Cześć!
Czy mógłby mi ktoś podpowiedzieć jak mogę stworzone przeze mnie prefaby ( ID, pozycja) wrzucić do listy? Ale chodzi mi tu o taką listę z której później będę mógł odczytywać/ kopiować te dane. Najlepszą formą byłyby dla mnie dane w tabeli typu excel.
Pozdrawiam
Jo5zek
Jo5zek
 
Posty: 8
Rejestracja: 13 Lip 2019, 12:15
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Ether_141 » 22 Lip 2019, 16:57

Możesz sobie użyć System.Collections.Generic.List z typem GameObject i do tej listy wrzucać swoje prefaby i później je ładować i odczytywać potrzebne informacje. Jeśli chcesz natomiast zapisywać jakieś dane do pliku, no to już od Ciebie zależy czego użyjesz. Możesz zapisywać do pustego pliku tektowego i później z niego czytać, albo do .xml albo do jsona albo do pliku Excela. Jest biblioteka do C# przeznaczona do obsługi Excela.
Awatar użytkownika
Ether_141
 
Posty: 465
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Jo5zek » 22 Lip 2019, 17:07

Da radę jakoś jaśniej :D? Jakiś przykład? Jestem dosyć nowy w UNITY i jeszcze nie wiem do konca co z czym się je :|
Jo5zek
 
Posty: 8
Rejestracja: 13 Lip 2019, 12:15
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Ether_141 » 22 Lip 2019, 21:23

Ok, ale najpierw mi powiedz co dokładnie chcesz zrobić? Zapisywać informacje o obiektach w pliku oddzielnym czy co? Opisz czego potrzebujesz.
Awatar użytkownika
Ether_141
 
Posty: 465
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Jo5zek » 23 Lip 2019, 12:39

W grze tworze prefab w postaci "sphere" za pomocą raycastu. Prefab wyznacza mi pozycję (x,y,z) tak jak na zdjęciu-->
https://zapodaj.net/images/0b5609591d68b.png

I to właśnie tę pozycję chcę zapistwać w oddzielnym pliku który będę mógł odczytać w html, np. -->
https://zapodaj.net/images/d576e29a2f21d.png

Jakby dało radę to proszę o łopatologiczne wytłumaczenie :D stworzenie tych prefabów zajęło mi kupe czasu i szukania po internecie :|
Jo5zek
 
Posty: 8
Rejestracja: 13 Lip 2019, 12:15
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Wichur » 23 Lip 2019, 13:02

List<Vector3> listaPozycji = new List<Vector3>();

Vector3 position = new Vector3(x,y,z);
listaPozycji.Add(position);

To jest lista, przechowywanie pozycji.

Potem mozesz np zrobic pętle foreach i w debug.log wypisac pozycje, albo stworzyc pliki csv, json, itp, itd. Nieograniczona mozliwosc
Awatar użytkownika
Wichur
 
Posty: 125
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Jo5zek » 23 Lip 2019, 13:14

Wichur napisał(a):List<Vector3> listaPozycji = new List<Vector3>();

Vector3 position = new Vector3(x,y,z);
listaPozycji.Add(position);

To jest lista, przechowywanie pozycji.

Potem mozesz np zrobic pętle foreach i w debug.log wypisac pozycje, albo stworzyc pliki csv, json, itp, itd. Nieograniczona mozliwosc


Jestem na tyle nowy, że nie wiem nawet gdzie wrzucić tą nową listę (ten kod który napisałeś). Mam stworzyć osobną klasę? Jeżeli stworzę osobną klasę to jak mam zrobić odwołanie żeby odbierała mi każdy (nowy, przeze mnie stworzony) prefab do tej listy?
Jo5zek
 
Posty: 8
Rejestracja: 13 Lip 2019, 12:15
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Ether_141 » 23 Lip 2019, 17:13

Jak chcesz robić taką liste jak pokazał Wichur, to możesz sobie zrobić oddzielną statyczną klasę i tam zrobić tą liste, albo skrypt wrzucić go na scene i tam przechowywać te pozycje. Nie wiem jak wygląda to spawnowanie tych obiektów u Ciebie, ale być może możesz sobie zrobić tą liste w skrypcie który tworzy te obiekty i od razu po stworzeniu tego obiektu, wrzucać jego pozycje do tej listy. Albo w ogóle nie musisz robić takiej listy tylko od razu zapisywać do pliku.
Awatar użytkownika
Ether_141
 
Posty: 465
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Prefab do listy? Unity3d

Postprzez Hostur » 23 Lip 2019, 20:21

Najprościej ściągnij sobie newtonjson z assetstora
https://assetstore.unity.com/packages/t ... nity-11347

Tworzysz sobie jakąś strukturę bądź klasę która będzie przechowywać potrzebne Ci informację a następnie taki obiekt po wypełnieniu serializujesz i zapisujesz jako plik jsona najlepiej w PlayerPrefsach żeby Ci już nie utrudniać z uprawnieniami do ścieżek.
https://www.newtonsoft.com/json/help/ht ... ToFile.htm
https://docs.unity3d.com/ScriptReferenc ... tring.html

Potem możesz wyciągnąć takiego jsona z PlayerPrefs i zdeserializować ponownie w Twój typ.
Hostur
 
Posty: 742
Rejestracja: 05 Sie 2015, 07:36
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 2 gości

cron