Snapping System ottimizzato. - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia) +--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D) +--- Discussione: Snapping System ottimizzato. (/thread-Snapping-System-ottimizzato) |
Snapping System ottimizzato. - Penca53 - 10-08-2017 Salve a tutti, avrei bisogno di aiuto per la creazione di un sistema Snapping (in-game). La mia idea era quella di creare tanti quadrati (con spessore y 0 per ridurre il carico al rendering) e all' interno inserire uno script che utilizza OnMouseEnter e Exit... il problema giunge con la creazione di centinaia di oggetti e il gioco inizia a laggare. Come risolvo questo problema? Grazie in anticipo. RE: Snapping System ottimizzato. - aandrea1974 - 10-08-2017 (10-08-2017, 01:50 PM)Penca53 Ha scritto: Salve a tutti, Come crei gli oggetti? RE: Snapping System ottimizzato. - Penca53 - 10-08-2017 Gli oggetti li creo all'inizio con 2 loop for (uno per la x e uno per la z) con Instantiate(ecc..) poi li disattivo con SetActive(false); Quando si preme il tasto m si attivano gli oggetti... inoltre ho anche fatto un sistema per risparmiare memoria con la disattivazione degli oggetti a seconda della distanza. RE: Snapping System ottimizzato. - aandrea1974 - 10-08-2017 (10-08-2017, 07:08 PM)Penca53 Ha scritto: Gli oggetti li creo all'inizio con 2 loop for (uno per la x e uno per la z) con Instantiate(ecc..) poi li disattivo con SetActive(false); Quando si preme il tasto m si attivano gli oggetti... inoltre ho anche fatto un sistema per risparmiare memoria con la disattivazione degli oggetti a seconda della distanza. Hai provato a creare un prefab che rappresenti il singolo oggetto e poi creare n istanze del prefab? RE: Snapping System ottimizzato. - Penca53 - 11-08-2017 Si certo, l'oggetto che costruisco ad inizio game è un prefab. RE: Snapping System ottimizzato. - aandrea1974 - 11-08-2017 Valuta che con SetActive, non li rimuovi dalla memoria. L'oggetto è composto dal solo quadrato? Ci sono texture o altri oggetti attaccati al quadrato? Dopo averli creati, fai altre operazioni di trasformazione? Che istruzioni hai messo nei metodi Update() degli script che hai inserito? RE: Snapping System ottimizzato. - Penca53 - 12-08-2017 (11-08-2017, 05:44 PM)aandrea1974 Ha scritto: Valuta che con SetActive, non li rimuovi dalla memoria. Allora il quadrato è solamente un quadrato poi c'è un materiale grigio semi-trasparente e quando il mouse entra in collisione cambia di materiale e diventa verde chiaro. Gli update non gli ho usati.... cmq questo problema l'ho risolto utilizzando la matematica.... infatti ho messo i uno script a parte la creazione di un ray che parte dal mouse e la solita serie di for loops per x e z e nel caso la posizione della collisione del ray è maggiore della x e z e minore della x e z aumentati di 1 (quindi ho utlizzato la x e z come angoli in alto a sx dei quadrati) allora crea un quadrato alla posizione x+0.5f ez+0.5f cioè il centro del quadrato immaginario. Cosa ne pensate? RE: Snapping System ottimizzato. - aandrea1974 - 12-08-2017 (12-08-2017, 02:34 PM)Penca53 Ha scritto:(11-08-2017, 05:44 PM)aandrea1974 Ha scritto: Valuta che con SetActive, non li rimuovi dalla memoria. Se il risultato è quello che volevi e non hai problemi di prestazione, direi che va bene. RE: Snapping System ottimizzato. - Penca53 - 12-08-2017 Il risultato a me va bene... le prestazioni sono eccellenti... considera che il loop parte da -100 e arriva a 100 e ce ne sono 2 quindi 100*100*100*100 fa 1 miliardo quindi si... le prestazioni sono ottime. RE: Snapping System ottimizzato. - aandrea1974 - 12-08-2017 (12-08-2017, 03:08 PM)Penca53 Ha scritto: Il risultato a me va bene... le prestazioni sono eccellenti... considera che il loop parte da -100 e arriva a 100 e ce ne sono 2 quindi 100*100*100*100 fa 1 miliardo quindi si... le prestazioni sono ottime. Non credo sia un miliardo. 8 zeri sono 100M. Comunque se hai due loop uno dentro all'altro, sarà 200 * 200. RE: Snapping System ottimizzato. - Penca53 - 13-08-2017 (12-08-2017, 09:47 PM)aandrea1974 Ha scritto:(12-08-2017, 03:08 PM)Penca53 Ha scritto: Il risultato a me va bene... le prestazioni sono eccellenti... considera che il loop parte da -100 e arriva a 100 e ce ne sono 2 quindi 100*100*100*100 fa 1 miliardo quindi si... le prestazioni sono ottime. Si hai ragione... cmq 40.000 è un bel numero! RE: Snapping System ottimizzato. - aandrea1974 - 13-08-2017 (13-08-2017, 12:19 PM)Penca53 Ha scritto:(12-08-2017, 09:47 PM)aandrea1974 Ha scritto:(12-08-2017, 03:08 PM)Penca53 Ha scritto: Il risultato a me va bene... le prestazioni sono eccellenti... considera che il loop parte da -100 e arriva a 100 e ce ne sono 2 quindi 100*100*100*100 fa 1 miliardo quindi si... le prestazioni sono ottime. L'importante è che ora le prestazioni vadano bene. |