• Benvenuto in Making Videogames!
  • Condividi la tua passione!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati



Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Title: Problema collisioni inattive(?) su Android
Modi discussione
#1
Bug 
Ciao a tutti  Big Grin
E' da un po' di tempo che sto cercando di capire perché le collisioni con i tag non mi funzionano nella build che creo su android, mentre dal editor su unity si
Ho provato a cercare soluzioni su vari forum ma nessuna di queste mi ha aiutato...
Da quel che ho letto sembra un problema di Unity...

Quel che mi serve è che quando un gameobject con la tag "Giocatore", entra dentro il trigger di un altro gameobject con questo script dentro, si attivano quelle funzioni.

Ora mi domando, scrivere 
  • collisione.tag=="Giocatore" 
oppure
  • collisione.GetComponent.<Collider>().tag=="Giocatore"
E' Sbagliato? funzionano entrambe correttamente nell'editor di unity ma sulla versione android no...
Quindi cosa c'è che non va...


Nel dubbio vi scrivo lo script qui sotto, anche se credo sia corretto (dico credo perché comunque sono ancora molto inesperto nello scripting)

Codice:
#pragma strict

var waypoint : GameObject[];
var posizionecorrente : int=0;
var velocita : float=0.5;
var smussaangoli : float=0.01;
var player : Transform;
var spostaplayer : Transform;
private var spostamento : boolean=false;
var collisione : CharacterController;

function Awake() {
    player = GameObject.FindGameObjectWithTag("Giocatore").transform;
    collisione = GameObject.FindGameObjectWithTag("Giocatore").GetComponent.<Collider>();
}

function Update () {
    if(Vector3.Distance(waypoint[posizionecorrente].transform.position, transform.position)< smussaangoli) {
        posizionecorrente++;
        if(posizionecorrente >= waypoint.Length) {posizionecorrente=0;}
    }
    transform.position=Vector3.MoveTowards(transform.position, waypoint[posizionecorrente].transform.position, Time.deltaTime * velocita);
    if(spostamento==true) {player.position=spostaplayer.transform.position;}
}

function OnTriggerEnter(collisione : Collider) {if(collisione.tag=="Giocatore"){spostamento=true;}}
function OnTriggerStay(collisione : Collider) {if(collisione.tag=="Giocatore") {spostaplayer.position=player.position; player.position=spostaplayer.transform.position;}}
function OnTriggerExit(collisione : Collider) {if(collisione.tag=="Giocatore") {spostamento=false;}}
 
#2
Ottime notizie   Big Grin
Alla fine sono riuscito a sistemare il problema con le collisioni, modificando lo script in questo modo.
- Tra l'altro non ho ancora capito perché le collider non mi funzionavano correttamente.
Codice:
var waypoint : GameObject[];
var posizionecorrente : int=0;
var velocita : float=0.5;
var smussaangoli : float=0.01;
var player : Transform;
var spostaplayer : Transform;
var collisione : CharacterController;

function Awake() {
    player = GameObject.FindGameObjectWithTag("Giocatore").transform;
    collisione = GameObject.FindGameObjectWithTag("Giocatore").GetComponent.<CharacterController>();
}

function Update () {
    if(Vector3.Distance(waypoint[posizionecorrente].transform.position, transform.position)< smussaangoli) {
        posizionecorrente++;
        if(posizionecorrente >= waypoint.Length) {posizionecorrente=0;}
    }
    transform.position=Vector3.MoveTowards(transform.position, waypoint[posizionecorrente].transform.position, Time.deltaTime * velocita);
}

function OnTriggerEnter(collisione : Collider) {if(collisione.GetComponent.<Collider>().tag=="Giocatore"){player.SetParent(spostaplayer);}}
function OnTriggerExit(collisione : Collider) {if(collisione.GetComponent.<Collider>().tag=="Giocatore") {player.SetParent(null);}}


- In questo modo sono riuscito anche a far avere movimenti più fluidi al personaggio, ottimizzando lo script e togliendo OnTriggerStay.

E niente ho risolto da solo, potete chiudere se volete   Tongue


PS: Ringrazio comunque il forum per l'aiuto, citerò sicuramente il nome del forum nei crediti del mio gioco in sviluppo!
 
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Collisioni e rumore erba Slagant 0 71 27-07-2018, 11:03 AM
Ultimo messaggio: Slagant
  Photon Network e Android whiteorchid 3 130 05-07-2018, 12:03 PM
Ultimo messaggio: aandrea1974
  Collegare un'activity Android a Unity Giuseppe_12 0 359 15-07-2017, 04:01 PM
Ultimo messaggio: Giuseppe_12
  Problema su salvataggio e caricamento 93sunderland 2 780 08-07-2016, 06:07 PM
Ultimo messaggio: Thejuster
  Luci pesanti su gioco VR per Android con Unity Refref1990 1 824 13-08-2015, 11:20 PM
Ultimo messaggio: eoasier
  Compilare un gioco in android Master Gabriel 16 1,576 02-04-2015, 10:40 AM
Ultimo messaggio: Master Gabriel
  controllo su android (unity3d) nonsoil2 3 762 23-01-2015, 04:40 PM
Ultimo messaggio: Zettamax
  Problema precisione e reattività su touchscreen Android cuge89 1 878 30-10-2013, 01:13 PM
Ultimo messaggio: cuge89
  Problema collisioni danieleplay 6 1,886 25-03-2011, 08:52 PM
Ultimo messaggio: danieleplay

Vai al forum:


Browsing: 1 Ospite(i)