Percorso interattivo esterno[risolto]

Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
  • Autore
    Articoli
  • #3562

    kimal73
    Partecipante
    • Blenderista
    • Post sul Forum 3

    Ho delle bellissime piante, ed ora posso anche realizzare un ottimo prato visto questo tutorial http://www.blenderguru.com/the-secret-t … stic-grass. Ma se volessi inserire il tutto in un game?

    Mi spiego: vorrei fare un’ambientazione di una villa immersa nel verde con una resa abbastanza realistica (senza esagerare). Per gli interni sto usando il vecchio radiosity che mi fa una baking automatico sulle mesh, e vengono molto bene. Potete guardare questa mia realizzazione per farvi un’idea:

    http://www.youtube.com/watch?v=trKIIYBPVto

    Per gli esterni, soprattutto se volessi conferire una certa dinamica al fogliame, dovrei sicuramente usare il motore di render di default. Oppure potrei fare lo stesso baking con radiosity per avere più realismo e fregarmene se le luci e le ombre rimangono sempre quelle nonostante il movimento delle foglie. Dovrei fare delle prove ineffetti perchè non so neanche se il radiosity accetta tutte quelle mesh.

    Avete qualche link o suggerimento da consigliarmi per fare quello di cui sto parlando?

    Ho notato ad esempio che per gli esterni è molto meglio usare i materiali GLSL che riconoscono gli shaders anche trasparenti. Quindi dovrei fare prima un render fotorealistico con un render di tipo radiosity, o yafaray, fare un baking delle texture e poi sistemare il tutto in ambiente GLSL?

    Oppure è una follia?

    #75113

    Anfeo
    Partecipante
    • Blender.it Staff
    • Associato Blender Italia
    • Professionista accreditato
    • Moderatore Forum

    Ciao, il mio consiglio è: se puoi farne un bake fallo :D.

    Il Radiosity non l’ho mai usato, ma credo che con i GLSL si possa fare molto, a patto di avere un bella scheda video.

    Cmq non ho ben capito cosa vuoi fare, con l’interno bisogna faticare un po’ con l’illuminazione ma qualcosa di decente si ottiene.

    Logico che tutto quello che riesci ad ottenere in render lo riversi poi su Bake.


    #75114

    kimal73
    Partecipante
    • Blenderista
    • Post sul Forum 3

    Ho risolto tutti i problemi con l’autobaking del radiosity calcolato solo una volta anche per l’esterno.

    Come si fa a cambiare lo script “mouse look.py” in modo tale da registrengere il movimento dell’oggetto solo alla rotazione orizzontale e non anche a quella verticale?

    ok ci sono riuscito assegnando un attivatore motion server control alla rotazione UpDown.

    ma ora il problema è allineare la camera al movimento dell’oggetto. L’oggetto “uomo” pare ruotare sì, ma in ritardo rispetto alla camera nonostante abbiano gli stessi parametri di controllo. Per chi non lo ricordasse, riporto qui il codice del mouselook.py

    Code:
    ######################################################
    #
    # MouseLook.py aggiornato Blender 2.49
    #
    # Tutorial for using MouseLook.py can be found at
    #
    # http://www.tutorialsforblender3D.com
    #
    ######################################################
    # import Rasterizer
    import Rasterizer

    # get controller
    controller = GameLogic.getCurrentController()

    # get the object this script is attached to
    player = controller.owner

    # Get sensor named Mouse
    mouse = controller.sensors[“Mouse”]

    # Get the actuators
    lookLeftRight = controller.actuators[“LookLeftRight”]
    lookUpDown = controller.actuators[“LookUpDown”]

    # get width and height of game window
    width = Rasterizer.getWindowWidth()
    height = Rasterizer.getWindowHeight()

    # define mouse movement function
    def mouseMove():

    # distance moved from screen center
    x = width/2 – mouse.position[0]
    y = height/2 – mouse.position[1]

    # intialize mouse so it doesn’t jerk first time
    if player.has_key(‘mouseInit’) == False:
    x = 0
    y = 0
    # bug in Add Property
    # can’t use True. Have to use 1
    player[‘mouseInit’] =1

    # return mouse movement
    return (x, y)

    # get mouse movement from function
    move = mouseMove()

    # set mouse sensitivity
    sensitivity = 0.001

    # Amount, direction and sensitivity
    leftRight = move[0] * sensitivity
    upDown = move[1] * sensitivity

    # set the values
    lookLeftRight.useLocalDRot=0
    lookLeftRight.dRot=[0.0,0.0,leftRight]
    lookUpDown.dRot=[upDown,0.0,0.0]

    # Use them
    controller.activate(lookLeftRight)
    controller.activate(lookUpDown)

    # Center mouse in game window
    Rasterizer.setMousePosition(width/2, height/2)
    # set the values
    lookLeftRight.setDRot( 0.0, 0.0, leftRight, False)
    lookUpDown.setDRot( upDown, 0.0, 0.0, True)

    # Use them
    GameLogic.addActiveActuator(lookLeftRight, True)
    GameLogic.addActiveActuator(lookUpDown, True)

    # Center mouse in game window
    Rasterizer.setMousePosition(width/2, height/2)

    Niente, pensavo derivasse da una mancanza di allineamento tra l’asse di rotazione z della telecamera e quello dell’oggetto, ma nonostante li ho allineati perfettamente, la telecamera continua ad girare più velocemente lasciando indietro l’oggetto. ❓

    #75115

    kimal73
    Partecipante
    • Blenderista
    • Post sul Forum 3

    Ho risolto tutto.

    Ora l’oggetto e la telecamera si muovono esattamente come in unreal turnement.

    #75116

    Anonimo
    Membro
    • Veterano Oro
    • ★★★★★
    • Post sul Forum 4019

    Perfect! aggiungo risolto 😛

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

Devi essere loggato per rispondere a questa discussione.