Problema logica di camera che segue 2 oggetti

Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #16135

    ANDREABAZ
    Partecipante
    • Blenderista
    • Conversazioni totali50

    Scusate le mie continue domande sul forum, ma credo che in qualche modo aiuto anche chi sa tanto quanto me, cioè poco.

    Nel game engine ho due oggetti su di un piano. Nella logica aggiungo un sensore per la telecamera always, un AND e due attuatori Camera. Quello che vorrei riuscire a fare sarebbe questo: la telecamera dovrebbe seguire i due oggetti con tanto di comandi wasd insieme, ma invece segue sempre lo stesso, ignorando l’altro. Perchè?

    http://www.mediafire.com/imgbnc.php/46f73224111dfd4760e4f2d0380c43cad7c581066db2211b7438fcad83f9982b6g.jpg

    #183186

    bj
    Partecipante
    • Blenderista
    • Conversazioni totali48

    Ehm..e com’è possibile che una camera segua 2 oggetti contemporaneamente? ❓ ❓

    #183187

    IzE_Design
    Partecipante
    • Blenderista
    • Conversazioni totali202

    una volta ho visto un esempio tipo gioco di combattimento, dove la camera si muoveva, avvicinandosi o allontanandosi in modo da avere sempre i due giocatori nello schermo, non sò se è questo che serve, ma cmq non trovo piu l’esempio…

    #183188

    Biscuic
    Partecipante
    • Blenderista
    • Conversazioni totali52

    Sicuro che fosse fatto con blender?

    cmq si può anche fare una cose del genere con pyton, calcoli la distanza tra i 2, calcoli a quale distanza

    deve essere la camera per 😀 contenerli entrambi ed il gioco è fatto

    #183189

    ANDREABAZ
    Partecipante
    • Blenderista
    • Conversazioni totali50

    Ecco il concetto è quello che dice Ize…ma io di Python ancora non so niente.

    #183190

    ccddxxff
    Partecipante
    • Blenderista
    • Conversazioni totali103

    puoi farlo solo in python.

    Come già  citato da Biscuisc

    Un metodo sarebbe calcolare la distanza che c’è tra i due oggetti. Il valore di questa distanza corrisponde al frame della ipo della camera, dope ovviamente la ipo consiste nell’avvicinamento e allontanamento della camera, oppure al posto della ipo si setta la posizione della camera su di un asse (quello perpendicolare ai due oggetti) col valore della distanza tra i 2 oggetti. Non so se è chiaro…

    Code:
    import GameLogic as G

    objA = G.getCurrentScene().objects[“OBobjA”]
    objB = G.getCurrentScene().objects[“OBobjB”]
    camera = G.getCurrentScene().objects[“OBCamera”]

    start = 0

    posA = objA.position
    posB = objB.position
    posC = camera.position

    dist =( (posA[0]-posB[0])**2 + (posA[1]-posB[1])**2 + (posA[2]-posB[2])**2 ) ** 0.5

    posC[0] = start + dist
    camera.position = posC

    start è un punto fisso da dove deve partire la camera.

    posC[] è solo un asse della camera, e l’indice dell’asse di posC deve essere quello perpendicolare all’asse che collega i 2 oggetti. Quindi se l’asse dove si trovano allineati i due oggetti è l’asse x allora l’asse su cui deve muoversi la camera può essere l’asse y o z … o con entrambi hai un movimento di allontanamento obliquo

    #183191

    ANDREABAZ
    Partecipante
    • Blenderista
    • Conversazioni totali50

    Mamma mia che difficile! Guarda se riuscissi a spiegarmelo a parole ti riterrei un Dio, ma cmq fa niente…ora mi sto imparando Python piano piano, spero un giorno di riuscire a capirlo, ma grazie sai! Spero tu lo abbia testato! 😀

Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)

Devi essere loggato per rispondere a questa discussione.