Jump to content
Rpg²S Forum

Lomax_Iced

Utenti
  • Posts

    221
  • Joined

  • Last visited

Posts posted by Lomax_Iced

  1. Salve gente oggi mi sto dedicando a capire bene il funzionamento dei template che ospitano i nostri personaggi.
    Ovvero sto studiando lo schema e gli associamenti che avvengono fra le istruzioni della classe Sprite_Character
    e i relativi template che abbiamo nella nostra cartella Graphics.
    Premessa:


    In sostanza voglio individuare le stringhe di codice che danno importanza a ciò che viene rappresentato nel template.
    Riconoscerle e inseguito apportare delle modifiche al codice ruby per cambiarne le regole. Come ad esempio inserire
    o sottrarre un numero di Pose; oppure aumentare o diminuire un numero di frames.

    Ovviamente sono a conoscenza che esistono moltissimi scripts che trattano l'argomento e sono già belli pronti all'uso.
    Però, lo scopo di questo piccolo tutorial è quello di saper apportare delle modifiche direttamente al codice che abbiamo
    già a nostra disposizione nei nostri scripts di default.


    Quindi fatti i relativi convenevoli Iniziamo ;)

    Primo Punto:


    Per prima cosa occorre studiare cosa ci viene dato a nostra disposizione:


    E quindi possiamo notare che nella cartella " Graphics\Characters " sono depositati tutti i file.png che rappresenteranno i nostri personaggi (eroi o npg) che popoleranno il nostro gioco.

    Scegliendo di aprire uno di questi file con un qualsiasi programma grafico (ad esempio Paint) possiamo determinare la grandezza dell'immagine, ad esempio:

     


    http://i67.tinypic.com/10i9err.jpg Questa la si conosce già. E' il template di Charaset di default che ha dimensioni di 128x192.
    Vi posso dire che le dimensioni non contano o comunque non assumono una particolare importanza, perché anche se
    costruirete un template più grande ma mantenendo sempre l'ordine delle celle 4x4 , aldilà di quale sarà la dimensione
    non importa il nostro chara avrà sempre (in questo caso) 4 frames per posa, per un totale di 4 pose.


    Considerato quanto specificato nell'esempio, posso adesso chiarire da un punto di vista grafico cosa si intende per "Frames"
    e cosa è una "Posa". Dunque..

    Cosa sono i Frames?


    Solitamente per definizione standard si intendono tutte quelle immagini che ritraggono un soggetto (o diversi) e ne catturano i movimenti. Per capire bene il concetto basta pensare subito ad un cartone animato, una Gif o un qualsiasi video.
    Tutti questi esempi non sono altro che il prodotto scaturito da un accumulo di immagini messe in sequenza e fatte scorrere ad una determinata frazione di secondo. E quindi tutto ciò produce un'animazione. E qui volevo arrivare!

    Per permettere ai nostri personaggi di gioco di muoversi all'interno delle nostre scene occorre Animarli.
    Ciò che permette di realizzare un'Animazione adeguata e non "scattosa" quindi fluida, sono appunto i Frames.
    Più ce n'è, Meglio è!

    Questi Frames vengono rappresentati nel template orizzontalmente. Quindi prendendo come esempio visivo la tabella seguente, possiamo notare lo schema e l'ordine delle singole cellette. che in questo caso sono quattro per fila e le file sono anch'esse 4.
    http://i65.tinypic.com/4jnvxu.jpg
    Dove F(1,2,3,4) sta ad indicare il numero di Frames, mentre P(1,2,3,4) sono le Pose.


    Quindi adesso che abbiamo un'idea su ciò che significa Frames e come vengono rappresentati nel grafico del template,
    possiamo vedere..
    Cosa sono le Pose?


    Le Pose in Rpg Maker (aldilà delle versioni del tool) sono le Tipologie di Movimento.
    Ora rimanendo in RMXP nel caso del template posto in esame, quello schema lì convenzionalmente ospita le varie tipologie di Camminata: Posa Frontale, Laterale sinistra, Laterale destra e retro.

    Quindi immaginiamocelo, da adesso in poi, in questo modo:
    http://i66.tinypic.com/3580txt.jpg


    Riuscendo adesso ad interpretare lo schema grafico (ovvero il template), abbiamo già capito come dovrà essere impostata la nostra tabella concettuale. Quindi una volta che si hanno chiari il concetto di Pose; di Frames e la loro funzione e il come vengono rappresentati da un punto di vista tabellare. Adesso non ci resta che associare questi concetti alle istruzioni impartite dai nostri Sprite_Character, che abbiamo a disposizione all'interno del nostro script editor.
    E quindi vi esorto a passare al nostro..



    Secondo Punto:


    Apriamo un progetto qualunque ( è preferibile uno nuovo dove appunto fare i nostri esperimenti in totale tranquillità).
    Apriamo il nostro script editor e rechiamoci subito alle Classe..
    Sprite_Character:

     

    #------------------------------------------------------------------------------
    #  This sprite is used to display the character.It observes the Game_Character
    #  class and automatically changes sprite conditions.
    #==============================================================================
    
    class Sprite_Character < RPG::Sprite
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_accessor :character                # character
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     viewport  : viewport
      #     character : character (Game_Character)
      #--------------------------------------------------------------------------
      def initialize(viewport, character = nil)
        super(viewport)
        @character = character
        update
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        super
        # If tile ID, file name, or hue are different from current ones
        if @tile_id != @character.tile_id or
           @character_name != @character.character_name or
           @character_hue != @character.character_hue
          # Remember tile ID, file name, and hue
          @tile_id = @character.tile_id
          @character_name = @character.character_name
          @character_hue = @character.character_hue
          # If tile ID value is valid
          if @tile_id >= 384
            self.bitmap = RPG::Cache.tile($game_map.tileset_name,
              @tile_id, @character.character_hue)
            self.src_rect.set(0, 0, 32, 32)
            self.ox = 16
            self.oy = 32
          # If tile ID value is invalid
          else
            self.bitmap = RPG::Cache.character(@character.character_name,
              @character.character_hue)
            @cw = bitmap.width / 4
            @ch = bitmap.height / 4
            self.ox = @cw / 2
            self.oy = @ch
          end
        end
        # Set visible situation
        self.visible = (not @character.transparent)
        # If graphic is character
        if @tile_id == 0
          # Set rectangular transfer
          sx = @character.pattern * @cw
          sy = (@character.direction - 2) / 2 * @ch
          self.src_rect.set(sx, sy, @cw, @ch)
        end
        # Set sprite coordinates
        self.x = @character.screen_x
        self.y = @character.screen_y
        self.z = @character.screen_z(@ch)
        # Set opacity level, blend method, and bush depth
        self.opacity = @character.opacity
        self.blend_type = @character.blend_type
        self.bush_depth = @character.bush_depth
        # Animation
        if @character.animation_id != 0
          animation = $data_animations[@character.animation_id]
          animation(animation, true)
          @character.animation_id = 0
        end
      end
    end
    
    

     


    Perfetto.
    Ora, come è evidente, questa classe si occupa di identificare la variabile character appunto.
    Quindi la idealizza tramite il metodo initialize; dopo di che con il relativo metodo update gli assegna le proprietà che dovrà avere. Ovvero le funzioni che sarà in grado di svolgere.

    Tra le tante, possiamo notare apparire le due stringhe che controllano (o meglio assegnano) il numero di Frames e di Pose che dovrà avere il nostro template.
    Per vederle occorre recarvi alla riga 47 e 48 dello Sprite_Character:

            @cw = bitmap.width / 4  #numero di Frames
            @ch = bitmap.height / 4 #numero di Pose
    

    Quando vedete queste due stringhe è comodo ricordarsi lo schema grafico precedente (ve lo ricordate?!)
    http://i63.tinypic.com/2luz7h3.jpg
    In @cw = bitmap.width / verranno assegnati il numero di Frames.
    In @ch = bitmap.height / verranno assegnate le Pose.

     


    Quindi ricapitolando:


    I Frames si visualizzano nel Template grafico orizzontalmente e sono il numero delle cellette che costituiscono la fila:
    Quindi questa celletta:
    http://i65.tinypic.com/rmnp6r.jpg è un Frame.
    Più celle sviluppate in orizzontale costituiscono una fila che in gergo viene nominata..
    Posa:
    http://i63.tinypic.com/flzmyq.jpg e loro si sviluppano verticalmente.

    le stringhe di codice che permettono di riconosce e dare importanza al numero delle celle o delle file sono
    le seguenti: @cw = bitmap.width / numero di frames
    @ch = bitmap-height / numero di pose


    Ma adesso vediamo di fare un esempio (Come giustamente suggerisce Guardian :) )


    Allora, di default nella cartella Characters abbiamo all'incirca 199 file.png tutti quanti di proporzione 4x4.
    (sappiamo già cosa significa)

    Adesso facciamo invece che nel nostro gioco vengano accettati dei template che hanno come numero di Frames 6 ad esempio e un numero di Pose maggiore, tipo.. 8
    (come nei comunissimi script che permettono una camminata in più direzioni).

    Ora tempi fa realizzai io stesso un template di un chara a 8 direzioni e adesso vediamolo di riesumare:
    XNHoTg.png Questo di qua ha una proporzione 4x8
    Proviamo solo a scopo didattico ad aggiungere qualche frames in più.
    Quindi prendete pure questa risorsa e modificatela orizzontalmente attraverso un qualsiasi vostro programma di grafica.
    (Io userò il buon Paint)


    Dunque fatte le relative modifiche il nostro nuovo template si presenterà in questo modo:
    http://i64.tinypic.com/2vvjszt.jpg
    Per provarlo occorrerà modificare il codice seguente..

     

    01: Rechiamoci in Sprite_Character (se non l'avete già fatto) modificate le due stringhe 47 e 48.


    Scrivendo appunto:

    @cw = bitmap.width / 6
    @ch = bitmap.height / 8

     


    Adesso solo con questa modifica, se non avete implementato le 8 direzioni, si eseguiranno solo i movimenti relativi alle 4 direzioni. Per testare quel template lì in maniera totale occorrerà modificare qualche stringa in più dei nostri script di default.

    Perché in questo modo il Nuovo Template verrà accettato dal programma solo che l'unico inconveniente riguarderà
    che le pose non corrispondono ai tasti direzionali. Per ovviare a questo problema occorrerà svolgere questi passaggi
    (Andiamo un poco OT ma mi serve per dare un buon reso finale)


    Camminata a 8 Direzioni modificando gli script di default:


    Per Abilitarla, basta recarsi alla riga 214 di Game_Player:

    case Input.dir4
          when 2
            move_down
          when 4
            move_left
          when 6
            move_right
          when 8
            move_up
    end
    

    e modificarla in questo modo:

    
    case Input.dir8
    
    when 2
       move_down
    when 4
       move_left
    when 6
       move_right
    when 8
       move_up
    
    when 1
       move_lower_left  
    when 7
       move_upper_left  
    when 3
       move_lower_right
    when 9
       move_upper_right
    end
    

    Così facendo abbiamo abilitato la camminata a 8 direzioni però ancora le Pose non sono correlate correttamente alle direzioni. Quindi per permettere che lo siano, occorre Ritornare in Sprite_Characters:


    Ovvero alla riga 58:

    sx = @character.pattern * @cw
    
    sy = (@character.direction - 2) / 2 * @ch
    
    

    Ricompaiono @cw e @ch (vi ricordate Frames e Pose) Non per nulla sx è rappresentato da @cw e sy da @ch.
    (Tenete sempre a mente lo schema).

    Comunque noi già sappiamo che RPG MAKER XP ha accettato benissimo i Charaset a più frame, quindi:

    
    sx = @character.pattern * @cw
    
    

    Possiamo anche lasciarlo così per com'è, non ci interessa. Vediamo invece di attuare delle modifiche in..

    
    sy = (@character.direction - 2) / 2 * @ch
    
    

    ^^ lui si che necessita assolutamente delle modifiche. Anzi ne approfitto per ringraziare PROGM che nel lontano 2009
    postò uno script in soccorso ad un utente della sezione Supporto Rgss, script che però andò perso poiché attualmente
    è salvato su un'unica riga (maledetta a lei -.-) che io ho recuperato solo la parte che mi necessitava
    (per fortuna che era all'inizio dello script) Comunque torniamo al discorso..

    Dobbiamo modificare quella stringa lì e sostituiamola con questo:

    if @character.is_a?(Game_Player)
            case @character.direction
            when 1
              sy = 0
            when 2
              sy = @ch
            when 3 
              sy = 2 * @ch
            when 4
              sy = 3 * @ch
            when 6 
              sy = 4 * @ch
            when 7 
              sy = 5 * @ch
            when 8
              sy = 6 * @ch
            when 9 
              sy = 7 * @ch
          end
        else
          sy = (@character.direction - 2) / 2 * @ch
        end
    

    Vediamo che la rincontriamo dopo per una cosa di default qualora non si dovessero realizzare dei parametri.
    (Grazie ancora PRO)


    Bene adesso siamo quasi giunti al termine della nostra spiegazione, dobbiamo recarci ora in..
    Game_Character 3: ..........Daytan Daytan Daytan!


    In questa classe si possono notare già dalle prime righe di codice i metodi che riguardano i movimenti e più sotto ci
    sono pure le direzioni.

    Ora analizzando questo script potete notare che i movimenti a 8 direzioni esistono di default. Però l'unica cosa che manca
    sono le direzioni (o i sensi di marcia per intenderci) Quindi occorre crearli ! Ed è facile:


    Recatevi alla riga 372 di Game_Character 3. Da lì fino alla riga 407 ci sono ospitate le quattro direzioni
    Giù
    Sinistra
    Destra
    Su

    Appena sotto la riga 407 costruite le altre quatto direzioni in questo modo:

      #--------------------------------------------------------------------------
      # * Turn Lower_Left
      #--------------------------------------------------------------------------
      def turn_lower_left
        unless @direction_fix
          @direction = 1
          @stop_count = 0
        end
      end
      #--------------------------------------------------------------------------
      # * Turn Lower_Right
      #--------------------------------------------------------------------------
      def turn_lower_right
        unless @direction_fix
          @direction = 3
          @stop_count = 0
        end
      end
        #--------------------------------------------------------------------------
      # * Turn Upper_Left
      #--------------------------------------------------------------------------
      def turn_upper_left
        unless @direction_fix
          @direction = 7
          @stop_count = 0
        end
      end
      #--------------------------------------------------------------------------
      # * Turn Upper_Right
      #--------------------------------------------------------------------------
      def turn_upper_right
        unless @direction_fix
          @direction = 9
          @stop_count = 0
        end
      end
    

    Spiego un pochettino cosa ho fatto (nulla di eclatante, ho solo copia incollato ad esempio:

      #--------------------------------------------------------------------------
      # * Turn Up
      #--------------------------------------------------------------------------
      def turn_up
        unless @direction_fix
          @direction = 8
          @stop_count = 0
        end
      end
    

    Sostituendo i parametri, ad esempio ho visto che esiste già la dicitura:
    lower_left ; lower_right ; upper_left ; upper_right
    utilizzata all'interno dei metodi riguardanti il movimento a 8 direzioni
    (ho soltanto riciclato questi termini e utilizzati dove mi necessitava)

    poi cos'altro ho fatto.. nella variabile @diraction ho visto che quei numeri l' (2,4,6,8) corrispondono ai numeri del tastierino
    numerico della tastiera, quelli che solitamente vengono associati ai tasti direzionali di alcuni giochi per pc.
    Sempre per logica ho sperimentato se tale dicitura potesse comprendere anche i valori (1.3.7.9) che corrispondono alle
    diagonali.

    In sostanza quel turn uo lì, l'ho copiato 4 volte in più e le copie le ho fatte diventare le quattro direzioni diagonali.


    Adesso siamo pronti,rimanendo sempre all'interno di Game_Character 3, nel dirigerci alla riga 101 poco più su.


    Finalmente siamo al cospetto dei 4 metodi che si occupano di far muovere il chara diagonalmente:

    
    #--------------------------------------------------------------------------
      # * Move Lower Left
      #--------------------------------------------------------------------------
      def move_lower_left
        # If no direction fix
        unless @direction_fix
          # Face down is facing right or up
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
        end
        # When a down to left or a left to down course is passable
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
          # Update coordinates
          @x -= 1
          @y += 1
          # Increase steps
          increase_steps
        end
      end
      #--------------------------------------------------------------------------
      # * Move Lower Right
      #--------------------------------------------------------------------------
      def move_lower_right
        # If no direction fix
        unless @direction_fix
          # Face right if facing left, and face down if facing up
          @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
        end
        # When a down to right or a right to down course is passable
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
          # Update coordinates
          @x += 1
          @y += 1
          # Increase steps
          increase_steps
        end
      end
      #--------------------------------------------------------------------------
      # * Move Upper Left
      #--------------------------------------------------------------------------
      def move_upper_left
        # If no direction fix
        unless @direction_fix
          # Face left if facing right, and face up if facing down
          @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
        end
        # When an up to left or a left to up course is passable
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
          # Update coordinates
          @x -= 1
          @y -= 1
          # Increase steps
          increase_steps
        end
      end
      #--------------------------------------------------------------------------
      # * Move Upper Right
      #--------------------------------------------------------------------------
      def move_upper_right
        # If no direction fix
        unless @direction_fix
          # Face right if facing left, and face up if facing down
          @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
        end
        # When an up to right or a right to up course is passable
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
          # Update coordinates
          @x += 1
          @y -= 1
          # Increase steps
          increase_steps
        end
      end
    
    

    Bene. Adesso vi spiego cosa abbiamo ottenuto fino ad ora:
    Allora, il programma riconosce i chara.png di proporzione 6x8 ; il chara cammina in tutte le 8 direzioni ..
    Ma ancora le nostre otto pose non ne vogliono sapere di associarsi alle 8 direzioni di camminata.. Perché!!?
    Ve lo spiego subito:
    Adesso che abbiamo le conoscenze necessarie possiamo modificare quei quattro metodi in maniera corretta,
    Procediamo:

     

    Prendiamo in esempio il primo:

    
      #--------------------------------------------------------------------------
    
      # * Move Lower Left
    
      #--------------------------------------------------------------------------
    
      def move_lower_left
    
        # If no direction fix
    
        unless @direction_fix
    
          # Face down is facing right or up
    
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
    
        end
    
        # When a down to left or a left to down course is passable
    
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
    
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
    
          # Update coordinates
    
          @x -= 1
    
          @y += 1
    
          # Increase steps
    
          increase_steps
    
        end
    
      end
    
    

    Intanto mettiamolo a confronto con una normalissima camminata di default ad esempio Move_Down (così a caso):

      #--------------------------------------------------------------------------
      # * Move Down
      #     turn_enabled : a flag permits direction change on that spot
      #--------------------------------------------------------------------------
      def move_down(turn_enabled = true)
        # Turn down
        if turn_enabled
          turn_down
        end
        # If passable
        if passable?(@x, @y, 2)
          # Turn down
          turn_down
          # Update coordinates
          @y += 1
          # Increase steps
          increase_steps
        # If impassable
        else
          # Determine if touch event is triggered
          check_event_trigger_touch(@x, @y+1)
        end
      end
    

    Notiamo sin da subito che i due metodi si presentano in maniera diversa.
    Move_Down ha la direzione cosa che Move_Lower_Left non ha.Perché di default prima non esisteva il metodo
    Turn_Lower_Left. Ma adesso non è più così! ;)

    Benissimo avendo capito questo passaggio, possiamo adesso implementare il metodo turn_lower_left all'interno
    di move_lower_left. così:

      #--------------------------------------------------------------------------
    
      # * Move Lower Left
    
      #--------------------------------------------------------------------------
      def move_lower_left(turn_enabled = true)
        # Turn Lower_Left
        if turn_enabled
          turn_lower_left
        end
     
    #....ecc non abbiamo ancora finito..
    

    In questo modo abbiamo impostato il senso di marcia. Continuiamo..
    Lasciamo ora tutto così per com'è e fra i due end finali (appunto) inseriamogli un return, in questo modo:

    
       end
    
       return passable?(@x,@y,1)
    
    end
    
    

    Adesso il nostro metodo Move_Lower_Left si presenterà in questo modo:

    
      #--------------------------------------------------------------------------
    
      # * Move Lower Left
    
      #--------------------------------------------------------------------------
    
      def move_lower_left(turn_enabled = true)
    
         # Turn Lower_Left
    
         if turn_enabled
    
           turn_lower_left
    
        end
    
        # If no direction fix
    
        unless @direction_fix
    
          # Face down is facing right or up
    
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
    
        end
    
        # When a down to left or a left to down course is passable
    
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
    
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
    
          # Update coordinates
    
          @x -= 1
    
          @y += 1
    
          # Increase steps
    
          increase_steps
    
        end
    
        return passable?(@x, @y, 1)
    
      end
    
    

    Applichiamo queste modifiche anche agli altri tre rimanenti e otterremo questo:


    #--------------------------------------------------------------------------
      # * Move Lower Left
      #--------------------------------------------------------------------------
      def move_lower_left(turn_enabled = true)
        # Turn Lower Left
        if turn_enabled
          turn_lower_left
        end
        # If no direction fix
        unless @direction_fix
          # Face down is facing right or up
          @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
        end
        # When a down to left or a left to down course is passable
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
          # Update coordinates
          @x -= 1
          @y += 1
          # Increase steps
          increase_steps
        end
        return passable?(@x,@y,1)
      end
      #--------------------------------------------------------------------------
      # * Move Lower Right
      #--------------------------------------------------------------------------
      def move_lower_right(turn_enabled = true)
        # Turn Lower right
        if turn_enabled
          turn_lower_right
        end
        # If no direction fix
        unless @direction_fix
          # Face right if facing left, and face down if facing up
          @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
        end
        # When a down to right or a right to down course is passable
        if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
          # Update coordinates
          @x += 1
          @y += 1
          # Increase steps
          increase_steps
        end
        return passable?(@x, @y, 3)
      end
      #--------------------------------------------------------------------------
      # * Move Upper Left
      #--------------------------------------------------------------------------
      def move_upper_left(turn_enabled = true)
        # Turn Upper Left
        if turn_enabled
          turn_upper_left
        end
        # If no direction fix
        unless @direction_fix
          # Face left if facing right, and face up if facing down
          @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
        end
        # When an up to left or a left to up course is passable
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
           (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
          # Update coordinates
          @x -= 1
          @y -= 1
          # Increase steps
          increase_steps
        end
        return passable?(@x, @y, 7)
      end
      #--------------------------------------------------------------------------
      # * Move Upper Right
      #--------------------------------------------------------------------------
      def move_upper_right(turn_enabled = true)
        # Turn Upper Right
        if turn_enabled
          turn_upper_right
        end
        # If no direction fix
        unless @direction_fix
          # Face right if facing left, and face up if facing down
          @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
        end
        # When an up to right or a right to up course is passable
        if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
           (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
          # Update coordinates
          @x += 1
          @y -= 1
          # Increase steps
          increase_steps
        end
        return passable?(@x, @y, 9)
      end
    
    
    Perfetto Abbiamo Finito! :D

     

     

     

     

     







    Spero che tutto sia stato di vostro gradimento. E' ovvio che un tutorial del genere non è destinato a dei programmatori esperti. Piuttosto mi rivolgo a coloro che vogliono imparare a fare le cose da se, capire meglio i processi logici del codice e
    in un futuro prossimo sviluppare nuove idee e magari di migliorarne di già esistenti. Quindi è un tutorial per niubbi di livello medio come dire per coloro a cui piace far le cose da se :)


    Comunque...
    Ad ogni modo, una nozione del genere (credetemi) apre un mondo, soprattutto per chi è all'inizio.
    Vi auguro una buona serata :)

     

     

  2. Grazie Testament, Guardian e Sin spero di non fare altri pasticci.
    Dunque ho aggiunto nuove voci (su) tra gli spoiler.
    Per adesso mi sono dedicato a fare una panoramica generale sulle finestre che circondano l'area di lavoro 3D.
    Specificando, di alcune, le funzionalità di base. Adesso invece, per chi segue o per chi seguirà voglio fare una sorta di verifica o per meglio dire esercizio guidato, che serva per ripassare quanto si è detto in questi pochi giorni e prendere così seriamente dimestichezza con il programma Blender 2.77a.

    Allora l'esercizio consisterà in questo:
    -Proviamo ad aggiungere oggetti alla scena-


    1.Apriamo Blender.
    2.Organizziamo l'area di lavoro visualizzando gli oggetti da più prospettive.
    (questa operazione non è estremamente necessaria ma noi stiamo ripassando)
    3.Aggiungiamo un oggetto in scena ad esempio un Cilindro.
    4.Una volta aver aggiunto il cilindro trasliamolo alla destra del cubo e poi alla sua sinistra.
    5.Proviamo anche a far roteare il cubo e ridimensioniamolo modificando l'altezza e la profondità.
    6.Chiudiamo Blender senza salvare e riapriamolo lasciando la schermata come si presenta di default.


    Abbiamo terminato con la verifica. Durante lo svolgimento non ci dimentichiamo di tenere sott'occhio l'Outline
    e la finestra Info. Abituiamoci all'idea di consultarle spesso.
    Adesso invece andiamo avanti con la nostra spiegazione:

    Abbiamo visto che adesso siamo in grado di aggiungere oggetti nella nostra area di lavoro 3D con discreta nonchalance.
    (Se così non fosse allora andate a ripassare quanto è stato spiegato nel primo post e poi ripetete questo test e se otterrete risultati, andate avanti)

    Qui invece voglio approfondire meglio il concetto di "Aggiungere un Oggetto" che non è cosa da poco.
    Non soltanto le Mesh vengono considerate oggetti. Noi possiamo aggiungere qualsiasi cosa che è presente nel menu Add.


    http://i64.tinypic.com/x3p7n.jpg
    Eccola qui ve la ricordate questa schermata. Qui dentro vi sono racchiusi tutti i tipi di oggetti che possiamo aggiungere all'interno della nostra scena.
    Analizziamoli dall'alto verso il basso:
    1.Group Instance:


    Di default cliccando su di esso non ci apparirà nulla perché avendo aperto un progetto nuovo, noi in esso non avremo ancora creato alcun gruppo di oggetti.
    Questa funzionalità può essere molto facile da spiegare quando si accosta questa terminologia agli Array della programmazione (qualcuno di voi se li ricorda?). Erano soliti essere usati come se fossero degli insiemi in cui a loro interno venivano raggruppati degli elementi specifici. Richiamare il nome di quell'Array (o insieme) e fare svolgere ad esso delle determinate operazioni, permetteva di far adempiere in simultanea quelle date operazioni a tutti gli elementi che risiedevano all'interno di esso.

    Per farvi un esempio molto casareccio, quando noi giochiamo ad un Gdr tipo Final Fantasy 9 e vinciamo uno scontro contro un Boss quando riceviamo gli Exp, questi vengono distribuiti in simultanea a tutti i personaggi che compongono il Party.

    Il Party nel nostro caso è come se fosse un Array ovvero (in Blender) un Instance Group. Che tornando alla spiegazione altro non è che un Raggruppamento di più oggetti presenti in scena. Spero di essere stato esaudiente.


    2.Force Field:


    Oppure Campi di Forza.
    Questi elementi servono per permettere agli oggetti presenti nella nostra scena ad essere soggetti a delle proprietà che li contraddistingueranno. Ad esempio se noi stessimo modellando un ambiente tridimensionale in cui esiste un ruscello che scorre
    o del vento che permette a del fogliame di adagiarsi nell'aria, questi elementi sono utilissimi per far simulare una cosa del genere.
    In questo modo vengono create delle animazioni con degli effetti fighi.

    Pigliamo per esempio una Mesh di un cubo e conferiamo ad esso le proprietà di un solido. Quindi quest'oggetto sarà soggetto ai campi di forza propri a questa tipologia.




  3. Pfiuu ci sono riuscito. Grazie Guardian per la pazienza O.O'
    Scusate invece tutti per il disagio. In sostanza avevo verso le 18:00 reso erroneamente
    pubblico il tutorial quando ancora era in fase di lavorazione, poi una volta terminato, verso le 19:45 l'ho ripostato convinto di averlo fatto per la prima volta, quando invece ho creato 2 post quasi identici dello stesso argomento. In sostanza è accaduto questo. Ora attendo che Guardian chiuda il post farlocco e si procede con il normale proseguo degli eventi in questa sede xD
    . . .
    Adesso Ciancio alle Bande e mi accingo a continuare il tutorial ;)

  4. http://2.bp.blogspot.com/-0QoZni13BA0/UbSbyaXR4KI/AAAAAAAAACQ/EJLTD4_WONI/s1600/Blender2.5_45mill.jpg

    -Guida pratica all'uso di Blender-
    Salve gente! :wink:
    Questa guida è dedicata a tutti coloro che desiderano imparare a realizzare delle immagini tridimensionali estrapolate da un contesto bidimensionale.
    Introduzione:


    In sostanza voglio imparare insieme a voi a ricavare un modello 3D da una qualsiasi immagine a due dimensioni.
    Per riuscire a fare una cosa del genere occorre un programma grafico adeguato e sul mercato (in giro per il web) ce ne sono tantissimi.
    Basti pensare ad
    Autodesk 3Ds Max programma a pagamento che appunto possiede delle funzioni molto appropriate a quanto necessita il caso, non per nulla esce da casa Autocad, non so se mi spiego.
    Ma non è il solo..
    Un altro programmino molto bello e molto più performante è senza ombra di dubbio Substance Painter
    (sia versione 1 che la recente versione 2) ovviamente anch'esso a pagamento. Basti pensare che con quest'ultimo stanno realizzando e sono stati realizzati giochi dal calibro di
    Uncharted 4 o Call of Duty per Playstation 4, non so se rendo l'idea!
    Un altro programmino docile docile che intendo segnalarvi prima di intraprendere la mia guida all'utilizzo di Blender è
    YEBIS, che in realtà non è un semplice programma ma in vero è una Suite di programmi utili per la realizzazione di giochi come i Final Fantasy?! ahah.. Esatto! Di fatti il suo Terzo Upgrade sta dando i natali a Final Fantasy 15. Ovviamente anche quest'ultimo è un programma assolutamente a pagamento.

    Per iniziare a curiosare nel mondo della grafica a tre dimensioni e imparare a prendere dimestichezza su tutto ciò che è inerente a questo, occorre secondo me partire da un programma semplice e cosa molto importante GRATUITO, ma che al tempo stesso possa darvi le stesse emozioni di un programma simil Autodesk. In sostanza in questa guida impareremo a Modellare (quindi creare da zero un soggetto tridimensionale, traendo spunto da una serie di immagini)
    e poi scegliere le texture adeguate per conferirgli una sorta di identità, ( in parole molto blande: colorarlo :uhuh: )


    Spero che l'intro vi sia piaciuta..
    Ma adesso spostiamoci a come scaricare Blender:


    Basta recarsi nel suo sito di appartenenza
    (ovvero questo qui: https://www.blender.org/)
    Se siete diffidenti, da non accettare i link dagli sconosciuti, basta digitare nei propri motori di ricerca la parola Blender e il primo link che vi apparirà in sovrimpressione sarà quello giusto. Il programma è assolutamente gratuito e molto bello, ma adesso vedremo perché..

    Attualmente(03/05/2016) siamo giunti alla versione 2.77a, quindi questa guida si basta su questa piattaforma, non credo che in futuro altre versioni avranno cambiamenti sostanziali ma nel caso fosse io qui proverò a imparare insieme a voi le basi, quindi credo che questa guida vi potrà essere utile anche per le versioni a seguire. in caso non fosse, sentitevi liberi di apportare i giusti accorgimenti.


    Bene!
    Adesso che si è scaricato il programmino e seguito le procedure di istallazione del suddetto, passiamo subito a visionare
    la nostra interfaccia di Blender, la nota pulsantiera con tutti i comandi di Plancia: :wink:
    INTERFACCIA:


    http://i67.tinypic.com/30cn5o2.png
    Una volta avviato il programma si aprirà per pochi secondi una finestra cmd e subito dopo questa immagine a tutto schermo.
    La finestrella nera posta al centro con l'immagine colorata dove appunto ci spiega quale versione stiamo utilizzando e ci da anche altre informazioni riguardo appunto del programma, possiamo chiuderla semplicemente cliccando a vuoto con il mouse.

    Non appena si sarà tolta la finestrella nera introduttiva, avremo finalmente davanti a noi l'interfaccia principale composta da ben 7 layout, che adesso andremo ad analizzare per bene:

    Il 1°Layout:


    http://i65.tinypic.com/babt5.png
    Questa finestra rappresentata come se fosse una riga, ma estensibile qualora si voglia, è la finestra delle Informazioni, in cui sono contenute le opzioni principali del programma. Tipo ad esempio: FILE ; RENDER ; WINDOW ; HELP le prime quattro partendo da sinistra ed a seguito altri strumenti per poter caricare o salvare le scene che a mano a mano andremo a creare;
    Importare o Esportare oggetti; aggiungerli nelle nostre scene; avviare un rendering; avviare un motore di rendering; visualizzare le statistiche sulla scena o su una particolare selezione (come ad esempio numero di vertici, facce e oggetti oppure nome dell'oggetto attivo).

    (spiego un pochettino in sommatoria per darci un'idea. Poi le singole voci le approfondiremo meglio in un secondo momento.
    Questo per non sovraccaricarci troppo con le nozioni).


    Il 2°Layout:


    http://i64.tinypic.com/jfgei9.png
    Questa finestra posta estremamente in basso è la finestra Timeline, che possiamo tradurre letteralmente BARRA del TEMPO
    Contiene i controlli per spostarsi dai frames (ovvero i singoli fotogrammi che compongono una sequenza di immagini, ovvero un'animazione); in più da lì si decide la durata dell'animazione; Si può avviare un'anteprima oppure stopparla qualora fosse già avviata.


    Il 3°Layout:

     

    http://i67.tinypic.com/2rft0ex.png

    Questa grossa interfaccia è la finestra di Navigazione 3D, Qui dentro verrà simulato lo spazio tridimensionale in cui opereremo per la modellazione dei nostri oggetti tridimensionali che andremo a creare secondo le nostre esigenze.

    In questa sezione avremo la facoltà di cambiare punto di osservazione tramite i comandi Panning, Rotazioni e Zoom.
    (poi vedremo più nel dettaglio come fare letteralmente).

     


    Il 4°Layout:


    http://i63.tinypic.com/rvf1tv.png
    Prestando attenzione alla nostra sinistra noteremo questa finestra che altro non è che un pannello in cui sono situati una serie di strumenti utili per effettuare le trasformazioni sugli oggetti durante appunto i nostri processi di modellazione dei modelli. Questa finestra possiamo tenerla sempre in evidenza ovvero sottocchio ma qualora ci necessitasse spazio nella nostra area di Navigazione 3D (Layout numero 3), noi possiamo avere la facoltà di rendere invisibile questo pannello degli strumenti semplicemente digitando la lettera T. (Questo è un piccolo accorgimento innocuo, si può imparare sin da subito).


    Il 5°Layout:


    http://i66.tinypic.com/f0cidv.png
    Questa finestra non sarà subito visibile con l'avvio del programma. Però ve la cito perché è un'estensione della precedente
    Ovvero come la sua gemella posta a sinistra, anche questa ha dentro di se una serie di strumenti utili per la modellazione.
    La si può richiamare e far sparire una volta chiamata attraverso la lettera N. Scendendo più nel dettaglio questo Layout permetterà di impostare determinate informazione che saranno proprie dell'oggetto che avremo selezionato. Come ad esempio le sue generalità; l'orientamento e la sua posizione; e in più vi sono gli strumenti per definire le caratteristiche della telecamera virtuale, ovvero questa qua (rappresentata nella finestra di Navigazione 3D in questo modo):
    http://i67.tinypic.com/2efj6tg.png
    Tornando invece a questo layout, qui si possono impostare tutte le decisioni riguardanti le caratteristiche del cursore, della visualizzazione in generale e molto altro ancora che andremo ad approfondire in un secondo momento.


    Il 6°Layout:

     

    http://i65.tinypic.com/20zofm8.png
    Finestra OUTLINER, in essa vi è presente un elenco degli elementi che sono contenuti nella nostra scena posta in esame.
    (capisco bene che ancora non avete ben chiaro a cosa si riferisce il termine "scena". Ma vi basta pensare che riguarda tutto
    ciò che sussiste all'interno della finestra di Navigazione 3D).

     

    Il 7°Layout:


    http://i68.tinypic.com/nq351l.png
    Appena sotto l'Outliner, sempre all'estrema destra, abbiamo la finestra delle Proprietà.
    In questa finestra vi sono raggruppate in sotto schede gli strumenti necessari per modificare le impostazioni globali della scena. Per modificare i MESH (ovvero gli oggetti 3D) ; impostare le caratteristiche delle Luci ; impostare le Texture ; selezionare altri strumenti particellari utili per rendere verosimili le simulazioni fisiche tramite animazioni.
    La disposizione delle sotto schede della finestra Proprietà può essere cambiata da verticale a orizzontale o ridimensionare le schede a secondo del nostro gusto e rendere la nostra area di lavoro più facile.

    Ogni finestra possiede un Header o Intestazione che può visualizzarsi o sopra la finestra di riferimento oppure in basso, come in questo esempio:
    http://i64.tinypic.com/2vrtrma.png
    Come vedete in questo caso l'Header è impostata in basso. Ma se noi volessimo spostarla in alto, allora bisognerà:
    cliccare con il tasto destro del Mouse:
    http://i68.tinypic.com/30vj5tx.png
    Si aprira una piccola finestrella. In questo caso basterà selezionare la voce "Flip to Top" e l'Header si sposterà in alto. In caso contrario è in alto e noi vorremo l'intestazione in basso, procedendo con la stessa procedura questa volta cliccheremo sempre sulla prima voce della finestrella aperta con il tasto destro del mouse "Flip to Botton" e questa si visualizzerà sotto.
    Così per tutte le header di tutte le finestre.


    Dopo aver preso visione delle 7 disposizioni delle finestre principali di Blender, è utile sapere che questa è l'impostazione standard. Poi noi possiamo avvalerci della facoltà di cambiare l'ordine delle finestre attraverso il comando apposito posto in ogni header e siamo persino in grano di crearne di nuove a nostro piacimento.

    Consigli Utili:


    1. E' sempre utile aprire nella nostra area di Navigazione 3D quattro prospettive per avere una visione globale dell'oggetto che ci accingeremo a modellare, vi faccio vedere cosa intendo con ciò:

    http://i66.tinypic.com/350q6aq.png
    Ora così impostate è ovvio che le quattro prospettive sono le stesse per ogni riquadro.
    Innanzitutto vediamo come mi sono ricavato questi quattro riquadri. In sostanza ho fatto questo procedimento:


    Innanzi tutto teniamo in considerazione questo triangolino posto in alto a destra di ogni layout.
    http://i68.tinypic.com/2nvrvax.png
    Ora se voi gli posizionate sopra il cursore del Mouse e tenete premuto il tasto sinistro, noterete che muovendo in contemporanea il mouse vi trascinerete un secondo riquadro. Applicate questo per formare i 4 riquadri che alloggeranno le 4 prospettive e avrete questa nuova visione della vostra Plancia di lavoro, (ovvero quella che ho già riportato su).


    Per assegnare le prospettive ai 4 riquadri, convenzionalmente si utilizza questo Iter, ovvero:
    In alto a sinistra verrà alloggiata la prospettiva TOP (ovvero visione dall'alto), e la si può assegnare in 2 diversi modi:
    IL PIU' IMMEDIATO:
    Digitate sulla tastiera il Numero 7 del tastierino numerico. (Numpad7 = Top)
    IL PIU' COMPLESSO:
    Andare sull'Header del riquadro posto in alto a sinistra situato in "Flip to botton" ovvero in basso della finestra di Navigazione 3D, selezionare la voce "View"; si aprirà un menù a tendina e li selezionare la voce "Top".

    Consiglio vivamente di memorizzarvi i comandi da tastiera.
    ma continuiamo quindi:
    In alto a sinistra avremo la prospettiva presa dall'alto.
    In alto a destra avremo la prospettiva Frontale (Numero 1 del tastierino numerico)
    In basso a sinistra avremo la prospettiva Destra(right: Numero 3 del tastierino numerico)
    In basso a destra avremo la prospettiva User/Camera (Numero 0 del tastierino numerico)

    Ad impostazione terminata, convenzionalmente avrete questo tipo di area di lavoro:
    http://i64.tinypic.com/w0rhb7.png
    Tramite il comando "View" degli appositi riquadri, sarete anche in grado di impostare il tipo di visione fra le due voci:
    Prospettiva (siglata in prosp) oppure Ortogonale (siglata in ortho) Però sempre per essere immediati, premendo il numero 5 del tastierino numerico cambierete prospettiva in maniera più spigliata. che andare nella voce view e perder tempo lì.

    Io vi consiglio sempre di prendere dimestichezza con i comandi da tastiera per essere più lesti nello svolgere le varie operazioni.

    Ora che sapete che esistono due modalità differenti per visualizzare i nostri oggetti in scena, vi posso dire che è più utile mostrare in visione ortogonale le prospettive TOP FRONT e DESTRA, quindi mi accingo a utilizzare il tastierino numerico
    su questi tre riquadri:
    http://i63.tinypic.com/rwp8p4.png


    Oltre all'impostazione convenzionale citata all'interno dello spoiler Consigli Utili, vi basta sapere che oltre a creare più punti focali, Blender è in grado di fondere riquadri. Il procedimento per far avvenire una cosa del genere è il seguente:


    Riprendiamo in considerazione il triangolino che c'è servito per costituire i 4 riquadri:
    http://i68.tinypic.com/2nvrvax.jpg
    Questa volta teniamo sempre premuto su di esso il tasto sinistro del Mouse, però dobbiamo tenere in considerazione SOLO il triangolino o del riquadro in alto a sinistra oppure quello in basso a sinistra. Se noi ci atterremo a questa regola, noteremo che una volta tenuta la selezione con il tasto sinistro del Mouse e in contemporanea si scorre con il cursore o verso Destra o verso Sinistra, apparirà una freccia che ci illustrerà il "Verso di fusione" dei due riquadri. Queste operazioni possono essere effettuate anche in verticale, attraverso la medesima operazione, ma spostandovi per il senso scelto.

    Inoltre interagendo sempre con il triangolino posto in alto a destra di ogni riquadro e selezionandolo con il mouse ma tenendo premuto in contemporanea il tasto SHIFT e spostando il cursore, si potrà rendere il riquadro in questione Flottante, ovvero non legata alle altre, ovvero in questo modo:
    http://i63.tinypic.com/34yobk8.png


    Un altra cosa che possiamo fare è Massimizzare e minimizzare i singoli riquadri che ospitano le prospettive del nostro oggetto. E ciò puà essere fatto cliccando sulle loro apposite Header con il tasto destro del Mouse. Dopo la voce "Flip to Top or Botton (a seconda dei casi) avremo alla terza voce Maximize Area oppure Tile Area che appunto sono le due voci che ci permettono di ingrandire o no i nostri riquadri.

    Anche qui è molto utile imparare i comandi da tastiera, in quanto per massimizzare un area (riquadro) basterà tenere premuto il tasto CTRL e poi il tasto direzionale Up (Su) per tornare indietro CTRL+Down (Giù).

    Invece se avete un mouse con la rotellina, (io no :tears: ) si può anche Zoommare (avvicinando o allontanando l'immagine).

    In alternativa bisogna apportare delle dovute modifiche di Assegnazione comandi, altrimenti non avrete la possibilità ne di ruotare l'oggetto e nemmeno di zoomarlo. Qui di seguito vi mostrerò come fare:


    Innanzitutto teniamo premuto: CTRL ALT U e si aprirà la finestra User Preferences
    oppure in Maniera più complicata rechiamoci al primo layout Info e clicchiamo la voce File:
    http://i67.tinypic.com/2jfypo8.png
    Cliccando su di esso si aprirà un Menu a tendina ; scorriamo il menù a tendina fino a giungere alla decima voce User Preferences. Cliccando su di essa si aprirà una nuova finestra di settaggio, questa:
    http://i68.tinypic.com/2j27qlh.png
    Per Prima cosa rechiamoci alla prima voce INTERFACE:
    http://i65.tinypic.com/209n52b.png
    Selezioniamo le voci Zoom To Mouse Position e Rotate Around Selection:
    http://i66.tinypic.com/98ss3o.jpg
    Dopo di ché digitiamo Save User Settings ovvero salva queste impostazioni come di Default. Cosicché ogni qualvolta aprirete il programma lo visualizzerete così come impostato il tutto.

    Detto questo adesso potete tranquillamente emulare con i tasti da tastiera e il mouse munito dei tre tasti più rotellina.
    Io vi consiglio sempre di imparare i comandi immediati così da poter subito fare le vostre operazioni in maniera lesta.
    Per zoomare occorrerà tener premuti i tasti CTRL+ALT+TastoSinistro del Mouse (o touchpad) e muovere il cursore su o giù.
    Per roteare intorno ad un oggetto e quindi passare da una visuale preimpostata ad una vostra libera, scelta appunto dall'utente basterà tener premuto il tasto ALT+TastoSinistro del Mouse e muovere il cursore liberamente.


    Bene, intanto che prendiamo dimestichezza con l'interfaccia e i comandi di base appena citati io faccio una pausetta, mangio qualcosa e ora riprendo con il resto del tutorial. Voi combinate i vostri pastrocchi con Blender io torno subito.. ;)


    HEADER della finestra di NAVIGAZIONE 3D:


    http://i65.tinypic.com/2s9ohas.png
    Ricordiamo sempre che possiamo trovare questa Intestazione o in basso rispetto alla finestra di Navigazione 3D oppure in alto. Abbiamo imparato come fargli cambiare posizione (clicchiamo su di essa con il tasto dx del mouse e selezioniamo
    "Flip to (Top/Botton) a seconda dei casi). Ma esiste un altro modo più facile per adempiere tale operazione ed è il seguente:
    Posizionate il cursore del Mouse sopra l'Header e digitate F5. Se l'intestazione sarà in basso si posizionerà in alto, altrimenti viceversa.

    Benissimo! Adesso invece ci accingeremo ad analizzare più nel dettaglio gli strumenti che vi sono alloggiati al suo interno:
    (Partendo da Sinistra)
    1° = Selettore del Tipo di Finestra:


    http://i63.tinypic.com/34j7k9h.jpg <-Ecco l'icona, facile da individuare.
    Cliccando su di essa si aprirà un Menu contenente 17 voci, ovvero queste:
    http://i65.tinypic.com/8wlk6v.jpg
    In questo menu si può scegliere la finestra che ci occorre tenere in primo piano. Di Default abbiamo la 3D View ovvero la finestra di Navigazione 3D.


    2° = View:


    http://i66.tinypic.com/2m4ug4m.jpg
    In questo menu troviamo tutti i comandi che si riferiscono alla visualizzazione. Come abbiamo già visto, qui si impostano le diverse prospettive e le 2 diverse proiezioni (ortogonali e non) e non solo ovviamente.. Si può navigare nello spazio 3D, ad esempio passando dalla visuale Globale a quella Locale dell'oggetto posto in analisi per lavorare meglio sui dettagli dello stesso.

    Per quest'ultima funzione vi rimando sempre ad imparare i comandi da tastiera perché se si vuole eseguire un'operazione del genere, basta semplicemente utilizzare il tasto / ((Slash) Ma attenzione di non usare quello che equivale al tasto sette, perché non si tratta di quello. Bensì quello situato sopra il tasto otto del tastierino numerico. Premendo quel tasto lì si può passare in visuale Locale o Globale in maniera molto immediata.


    3° = Select:


    http://i68.tinypic.com/hraa95.jpg
    In questo menu vi sono alcuni strumenti che riguardano la selezione degli elementi presenti in scena e possono benissimo classificarsi in due semplici categorie tipo ad esempio:
    Circle, Border e All, in cui le loro funzionalità sono palesi, possono definirsi di categoria semplice,
    in quanto:

    All si occupa di selezionare tutti gli oggetti presenti in scena ; (A)
    Border una parte selezionata entro un riquadro ; (B)
    Circle all'interno di una circonferenza ; (C)
    Utilizzando quest'ultima forma di selezione semplice, potrete aumentare o diminuire il diametro del selettore utilizzando i tasti
    + e - del tastierino numerico.

    Una cosa molto importante anche qui, per essere immediati basterà tenere selezionato il selettore maiuscolo della nostra tastiera e utilizzare le lettere A B C che sono i comandi corrispettivi che permettono di far svolgere queste funzioni selettive.


    Quelle un po più complesse sono le selezioni che si distinguono per Tipo, per Gruppo o per Materia. Comunque per quanto complesso, le voci presenti nei menu sono molto intuitive e rendono comprensibile le funzioni a cui esse si riferiscono.


    4° = Add:


    http://i68.tinypic.com/293k3lz.jpg
    Questo menu a quanto pare è stato aggiunto in questa posizione nel upgrade attuale (prima non c'era) serve per inserire degli oggetti in scena. E gli esempi sono vasti, tipo possiamo inserire una camera secondaria, degli speaker o una fonte di luce, del testo, delle linee, i così detti oggetti 3D definiti Mesh e tanto altro ancora.

    Se notate mi mantengo ancora molto sullo generico perché è come se stessimo facendo una panoramica sopra Blender, tanto per capire un po questo cottage quante stanze e servizi ci offre. Una volta che avremo preso dimestichezza con la predisposizione delle stanze e saremo in grado di orientarci all'interno del programma, approfondiremo meglio ogni singola voce. Spero che quest'impostazione vi sia gradita.


    5° = Object:


    http://i68.tinypic.com/6iu2cn.jpg
    Questo menu raggruppa in sommatoria tutti quegli strumenti che riguardano unicamente l'interazione con gli oggetti presenti in scena.
    In particolare da qui possiamo accedere ad una serie di opzioni che servono per permettere ad un oggetto di essere inserito all'interno di un gruppo (ovvero un insieme di oggetti che possiedono le stesse proprietà) inerente a questo si possono impostare dei vincoli all'oggetto in modo che possa essere raggruppato anche per tipologia di insieme. tramite l'opzione Mirror si è in grado di riprodurre una copia a specchio dell'oggetto e questo è molto utile quando si vogliono modellare due lati che appariranno simmetricamente (ad esempio le visioni laterali di un'autovettura).

    Un'altra cosa bella che si può fare attraverso l'ausilio di questo menu è il poter aggiungere o sottrarre frame per costruire una sequenza di immagini ossia un'animazione.

    In più vi sono altre operazioni che riguardano il settaggio delle Mesh, ma che al momento preferisco non addentrarmi oltre.


    Ora queste funzionalità sono raggruppate in questi menu che fungono come una sorta di scorciatoia però possono essere settate attraverso i loro appositi pannelli di appartenenza (vedia ad esempio il Pannello riguardante le Mesh) dove sono ospitati maggiori settaggi che rendono l'editing più meticoloso.

    La prossima sezione presente nell'Header è una sezione riguardante le Modalità di lavoro. Questo perché in Blender si può operare attraverso diverse modalità che spiegherò sempre in linea generale nel punto sei, qui sotto:
    6° = Modalità di lavoro:


    http://i65.tinypic.com/11imyxe.jpg
    Queste modalità si possono suddividere in due categorie, che sono quelle di base, utilizzate sempre in qualsiasi progetto e delle altre un po più particolari (o specifiche).
    Le Modalità di base sono Object Mode in cui siamo soliti vedere aprire la schermata di Blender di default e l'Edit Mode.
    La differenza è sostanziale, in quanto nella prima modalità possiamo selezionare anche singolarmente gli oggetti presenti nella scena, considerandoli nella loro interezza. Nella seconda modalità di editing o di modifica possiamo andare appunto a modificare i vertici o le facce che compongono l'oggetto che avremo preso in considerazione.

    Prendere in considerazione un oggetto presente nella scena significa Renderlo Attivo. Memorizzate bene questo concetto
    (soprattutto queste parole "Rendere Attivo un Oggetto", perché le sentirete spesso nei forum dedicati o nei tutorial o parlando tra di noi inerente appunto questa tipologia di argomento).

    Ora sempre per tornare al concetto che i comandi da tastiera sono i meglio! Si può cambiare modalità in maniera immediata tramite il tasto TAB presente in tastiera (per chi non sapesse dove fosse situato, è appena sopra il tasto selettore Maiuscolo accanto la Q)

    Un'altra cosa che c'è da sapere molto importante per saperci orientare è che passando da una modalità ad un'altra, cambieranno pure le finestre intorno all'area di Navigazione 3D. Questo per facilitare il lavoro, poiché i pannelli che accosteranno l'area di lavoro saranno quelli appositi che riguardano proprio quella modalità da noi selezionata.


    7° = Viewport Shading:


    http://i66.tinypic.com/vxjint.jpg
    I comandi situati in questo menu ci permettono di scegliere le modalità con vorremo visualizzare il nostro oggetto attivo (cioè l'oggetto che stiamo elaborando) e questo menu ci permette di scegliere diverse modalità di visualizzazione. Spieghiamoli in linea di massima:

    Bounding Box = indica letteralmente "la scatola che racchiude l'oggetto" (il suo involucro)
    Wireframe = permette di visualizzare gli spigoli dell'oggetto
    Solid = è come lo vediamo visualizzato di default (comunque visualizza le facce dell'oggetto)
    Texture = non si usa mai durante un processo di modellazione iniziale (si usa più solid) perché lo si fa alla fine quando vorremo
    conferire all'oggetto una sua precisa identità (in sostanza quando lo vorremo colorare (anche se di colore non si tratta))
    Material = {Al momento preferirei non sbilanciarmi su questo argomento perché avremo modo più avanti}
    Rendered = riguarda invece il risultato nel suo insieme (il come sta venendo la modellazione) può servire per dare una sbirciatina
    a ciò che si sta facendo e qualora fosse qualcosa di figo, gongolare per bene :)

    Bene! Passiamo avanti..


    8° = Pivot Point:


    http://i63.tinypic.com/aoajjs.jpg
    Questo menu ha un utilizzo molto importante. Intanto serve per far avvenire, all'oggetto da noi selezionato e reso attivo, dei cambiamenti di stato. Con ciò voglio dire che attraverso questo menu, si ha la possibilità di poter Traslare il nostro oggetto nello spazio di Navigazione 3D (e ciò significa spostarlo dove si vuole), oppure si può permettere di fargli eseguire una Rotazione sul proprio asse, oppure ancora lo si può ridimensionare tramite il comando Sharing.
    Per permettere tali operazioni però occorre sempre definire un Pivot. Tale parola corrisponde ad un punto (detto anche Perno) che funge da riferimento. Un po come nella visualizzazione dell'oggetto nello spazio. Come lo visualizziamo? Noi abbiamo un punto focale che definiamo "camera" e tramite questo punto di riferimento (detto in questo caso dell'esempio obbiettivo) possiamo visualizzare tutto ciò che si trova all'interno del cono della camera, cioè nel quadro di visualizzazione.

    Ma lasciamo stare quest'esempio che era solo per farvi capire il concetto di "Pivot e punto di riferimento", in questa sede non stiamo parlando di visualizzazioni perché non ci riguardano qui dentro, quindi non associate Mai il "Pivot alla camera in se perché è sbagliato".

    Torniamo a noi:
    Convenzionalmente questo Pivot coincide con il punto centro dell'involucro dell'oggetto.
    (Per "involucro dell'oggetto" intendo il Bounding Box dell'oggetto.
    Preferisco che impariate il termine inglese, perché è quello che troveremo più spesso in giro per il web).
    Quindi ripetiamo: Bounding Box è l'involucro ovvero la scatola che ospita l'oggetto.
    Con la Mesh del Cubo la distinzione non è chiara, perché coincide con la Wireframe.
    Ma se noi volessimo prendere in considerazione un'altra Mesh raffigurante ad esempio un cilindro o la mascotte di Blender la faccia di scimmia, noteremo che la distinzione fra le due modalità sarà molto evidente.

    Ora per una questione di comodità, tornando al concetto di Pivot, si potrebbe impostarlo in modo che coincida con la posizione del cursore 3D. Il cursore 3D è rappresentato così nella finestra di Navigazione 3D:
    http://i64.tinypic.com/2i93cn.jpg
    E assume un ruolo molto rilevante all'interno dello spazio tridimensionale.


    Dunque adesso che ho introdotto il concetto di Pivot, prima di passare oltre con la panoramica delle altre impostazioni dell'Header, voglio soffermarmi sul concetto di selezioni e oggetti attivi:


    In una scena di default sappiamo che abbiamo più oggetti presenti in essa e sono tre: la camera, la luce e la Mesh del Cubo.
    se noi volessimo selezionare uno di questi tre oggetti occorrerà posizionare il cursore su di esso, ad esempio la camera e
    premere il tasto Dx del mouse, verrà selezionato appunto l'oggetto scelto.
    Un consiglio importante, qualora avessimo in scena molti più oggetti, è quello di tenere sempre sott'occhio l'OUTLINER che
    vi indicherà il nome degli oggetti selezionati e presenti in scena. Iniziate sin da subito a tenerla in considerazione per abituarvi ad essa.

    Ora nel caso si avesse selezionato un solo oggetto, questo in automatico verrà reso attivo. Invece se noi avessimo selezionato più oggetti, solo l'ultimo della selezione verrà reso attivo.
    Quindi occorre memorizzare anche questa regola di Blender così da non confonderci.
    Ad ogni modo ripassate come si selezionano più oggetti presenti in scena ( A B C ).


    Passiamo avanti:
    9° = Il tasto con i tre Assi Cartesiani:


    http://i67.tinypic.com/34rvibt.jpg
    Se lo selezionate vi appariranno sulla destra queste tre opzioni. Di default appare sempre impostato sulla prima che è indicata con una freccia. Questa freccia si riferisce allo strumento Sposta sul sistema di Assi cartesiani.
    Ed è rappresentato in questo modo nella finestra di Navigazione 3D:
    http://i66.tinypic.com/71h9p2.jpg
    Funge da Pivot e convenzionalmente coinciderà con il baricentro dell'oggetto reso attivo posto all'interno del suo Bounding Box di appartenenza. (se non avete chiaro cosa ho appena espresso forse è il caso di ripassare un po quanto spiegato negli spoiler precedenti e poi ritornare qui).

    La freccia Blu che va verso l'alto, indica che potremo traslare il nostro oggetto in Up/Down rispetto al sistema di assi cartesiani che costituiscono il nostro spazio 3D.
    La freccia Verde che indica il background, permette di traslare la nostra Mesh in Avanti/Indietro.
    La freccia Rossa invece ci da la possibilità di spostare il nostro oggetto lateralmente (Sinistra/Destra).

    Invece selezionando la seconda opzione:
    http://i64.tinypic.com/fan2mr.jpg
    Il nostro Pivot muterà forma è ci apparirà in questo modo:
    http://i65.tinypic.com/10igldu.jpg
    Di default lo troveremo sempre al solito posto, soltanto che adesso ci permetterà di Roteare l'oggetto sul proprio Baricentro.
    Passate il Mouse su uno dei tre colori (quei semicerchi che vedete rappresentati in Blu,Verde e Rosso) e noterete che cliccando sul:
    Blu = l'oggetto ruoterà da sinistra verso destra e viceversa da destra verso sinistra (in una proiezione laterale).
    Verde = l'oggetto ruoterà da sinistra verso Alto/Basso destra (in una proiezione trasversale sinistra).
    Rosso = l'oggetto ruoterà da destra verso Alto/Basso sinistra (in una proiezione trasversale destra).
    Provate voi.

    La terza opzione serve per modificare le dimensioni del nostro oggetto 3D
    http://i67.tinypic.com/339ipi0.jpg
    Il Pivot sostanzialmente muterà ulteriormente
    tanto che verrà rappresentato in questo modo:
    http://i67.tinypic.com/4ugfg5.jpg
    E anche qui i tre colori direzionali assumono un ruolo ben definito:
    Il Blu = Permetterà di modificare l'Altezza.

    Il Verde = Permetterà di modificare la Profondità.
    Il Rosso = Permetterà di modificare la Larghezza dell'oggetto.


    10° = Menu Orientation:


    http://i67.tinypic.com/jju2v6.jpg
    Questo menu serve per impostare quale tipo di Pivot vogliamo tenere in considerazione.
    Settato su Global indica che verranno presi in considerazione il sistema di assi cartesiani propri a tutto spazio tridimensionale,
    Tipo così:
    http://i68.tinypic.com/2exodoi.jpg
    Altrimenti selezionando "Local" il sistema di riferimento sarà il sistema di assi che appartiene all'oggetto specifico.
    Tipo in quest'altro modo:
    http://i66.tinypic.com/5n6461.jpg
    Rimanendo in questa modalità Local (selezionando il selettore della Traslazione) e volessimo spostare la nostra Mesh in alto o in basso
    dovremo spostare il nostro mouse sulla Freccia Verde e lasciare premuto il tasto sinistro e muovere il cursore. Noterete che l'oggetto si sposterà o in alto oppure in basso. Invece, Avanti/Indietro Freccia Rossa ; Destra/Sinistra Freccia Blu.

    Gli altri orientamenti li vedremo in seguito meglio nel dettaglio. Per adesso è utile essere capaci di saperci orientare in plancia altrimenti l'aereo bluum cade giù. ;)
    Passiamo oltre..


    11° = Venti Layers:


    http://i65.tinypic.com/2hi2cqv.jpg
    Questa è la sezione dedicata ai Livelli
    Blender ce ne mette a disposizione 20.

    Il loro utilizzo è un po simile a quello che si fa in qualsiasi programma di Grafica 2d o Tool di Rpg Maker.
    Per intenderci quando si fa Mapping ad esempio o si hanno in scena un gran numero di oggetti raggruppati per tipologia
    e si vuole lavorare avendo un buon campo visivo escludendo o includendo elementi presenti nella scena.
    Un po come quando mappiamo in parallax con Gimp o con Photoshop. O semplicemente quando aggiustiamo una Mappa del nostro game con qualsiasi rpg maker. In quest'ultimo caso abbiamo 3 Layers in Blender invece 20. Ma aldilà del numero di possibilità, la loro funzione rimane sempre la stessa.

    Per cambiare livello occorrerà selezionarlo singolarmente oppure se vogliamo visualizzare più livelli teniamo premuto SHIFT e vediamo che ci sarà permesso di selezionare più quadratini (layers)


    12° = Proportional Edit:


    http://i67.tinypic.com/rvlnhv.jpg
    Attivando questo menu in modalità edit mode si andranno a modificare i vertici che compongono le facce del nostro oggetto.
    Per ora dico solo questo e non vado oltre perché è un argomento molto importante e complesso e preferisco spiegarlo meglio
    quando saremo giunti sulla soglia del suo apposito pannello.


    13° = Lo Snap:


    http://i63.tinypic.com/68uao1.jpg
    Questa serie di strumenti permettono invece di vincolare gli spostamenti del mouse alla griglia del sistema di riferimento oppure ad altri elementi presenti nel nostro spazio tridimensionale. Per permettere che ciò avvenga basta digitare l'icona che raffigura una calamita e scegliere tramite l'apposito menu una delle 5 voci che vediamo a nostra disposizione.
    Un esempio se noi volessimo modellare un ingranaggio, queste tre voci:
    Vertex = Vertice
    Edge = Spigolo
    Face = Faccia

    Ci risulterebbero molto utili allo scopo.

    Quando noi opereremo con questi strumenti occorre tenere sempre sott'occhio anche la finestra Info. Ovvero la finestra che ospita i quattro comandi principali (File,Render,Window,Help) dove il quale vengono pure annotate il numero di vertici, spigoli e facce che formano il nostro oggetto selezionato e reso attivo.
    http://i66.tinypic.com/28vdqjb.jpg
    Quindi il mio consiglio è di modellare il Mesh tenendo sott'occhio anche la finestra delle info che verifica in tempo reale le modifiche che
    apporteremo all'oggetto contando il numero di elementi sopracitati.

    In modalità Object Mode quella sezione evidenziata mostrerà il numero dei vertici e delle facce totali cioè di tutti i Mesh presenti in scena. In questa modalità viene indicato anche il numero degli oggetti presenti nella scena tramite la voce "Ob".
    Invece in Modalità Edit Mod vengono indicizzati solo i vertici, gli spigoli e le facce proprie a quell'oggetto reso attivo.


     

  5. Wow Concetti utilissimi anche per chi vuole creare Elementi grafici per il proprio Game. Tipo Ambientazioni oppure semplici sprite di personaggi, tipo Faces e quant'altro..(lo so che già esiste il Generatore Mv ma per chi volesse non usare un pre-impostato oppure per chi volesse proprio creare elementi per quel generatore! *_*) Ad ogni modo ottimo lavoro Flame :asd:

  6. Raga non so se ve l'ho mai detto ma io adoro gli animali e ne ho proprio di tutti i tipi, anche preistorici ;)
    Ad esempio a casa possiedo una voliera con dei Pterodattili !!
    http://i65.tinypic.com/106lpah.png

    Poi per non parlare di quel che c'è nella stalla..
    Ho un box in cui ospito un Ankylosaurus, io volevo un furetto ma mi hanno voluto per forza regalare
    l'Ankylosauro!
    http://i67.tinypic.com/ak8uiw.jpg
    Nel box adiacente invece ho un Triceratopo che mangiucchia sempre qualche foglia..
    http://i64.tinypic.com/2gv3h5d.png
    Però quando non siamo in casa, anziché azionare allarmi e via dicendo..
    noi sguinzagliamo i nostri Velociraptor!
    http://i67.tinypic.com/2pttf6h.png

    :cool: by Lomax Iced

  7. Ho cercato i giro per il web, ma non si riesce a determinare una stima precisa. (Non c'è proprio nulla in materia)
    Eccetto ovviamente presupposti o dati provvisori. Il punto è:

    Quante persone acquistano giochi da tavolo?
    Che fascia d'età media hanno?
    Quanta gente partecipa agli RPG Live? ( i così detti LARP o GRV)

    Quante persone acquistano videogame è più semplice appunto perché esistono siti che ne determinano gli indici di partecipazione
    (Visualizzazione, acquisto ecc)

    Ma non si sa proprio nulla sui LARP.
    Ecco quello che a me interessa maggiormente è conoscere il numero effettivo (e la fonte) che determina quante persone sono interessate ai LARP.

    Il punto è: o non so cercare io (ma nemmeno la mia squadra impossibile) o nel web non c'è proprio nulla inerente a ciò.
    Ve la siete mai posta la curiosità? :)

  8. Ottimi Lavori! :D
    Dunque sotto con le considerazioni:::..................
    GIF1:
    L'idea è molto carina. Ottimo il Mapping
    Ma per una tontaggine mia non sono riuscito a capire il messaggio.
    Comunque Buon Natale anche a te ;)

    GIF2:
    Messaggio simpatico, ma il Mapping è scarno, peccato.
    Bella anche se semplice, l'animazione con la slitta.

    GIF3:
    WOW! In quella mappa ci sono un'infinita accozzaglia di elementi!
    Ma son messi bene e tutti al posto giusto, tanto da rendere il tutto
    un Ottimo Mapping ed è ciò che mi convince realmente.
    Peccato che la gente non si muove. Volevi ipnotizzarci con le
    luminarie ammettilo xD
    Comunque un bell'effetto quello delle luci, semplice ma efficace.

    GIF4:
    Ahahah xD Questa gif mi ha fatto sorridere tantissimo!
    Il mapping è buono, con delle risorse apparentemente semplici
    sei riuscito/a a creare un bell'ambiente. In pochi frames hai saputo
    sintetizzare più o meno tutto ciò che è in clima natalizio. Ottimo!
    Ps: il dettaglio dell'orso ahah xD Ottima gif.

    GIF5:
    L'idea sicuramente all'inizio era bella.
    Da un punto di vista di Mapping, mi piacciono molto più degli elementi
    rispetto che altri. Ad esempio, mi piace la pelle di Orso vicino al camino;
    mi piace il camino e l'albero di natale con i regali sotto; ho apprezzato pure
    il tavolo con sopra la torta o i biscotti, perché si sa, è tradizione che gli si offra
    a babbo natale qualche dolcetto. Però ecco vedi è mancato proprio l'animazione.
    Quindi la mia critica va principalmente ad aver utilizzato una programmazione ad
    eventi molto semplice. Forse si doveva rendere più dettagliata. Perché l'idea intima
    dei bambini che aspettano l'arrivo di Babbo Natale è bella.
    Solo che........................chi con un po di sale in zucca regalerebbe mai a un bambino
    una spada e ad una bambina uno scudo???????????? xD
    Se dovessi regalare alla mia cuginetta uno scudo, me lo lancerebbe in testa xD ahah.


    Passiamo adesso alla classifica
    ooooooooooooooooooooooooh


    Il terzo posto se lo aggiudica.....


    La GIF numero..........................


    5



    Il secondo posto se lo giudica...


    La GIF numero.........................


    3



    IL PRIMO POSTO....................


    ooooooooooooooooooooooooh


    Se lo aggiudica la GIF numero:


    QUATTRO!!!




     

  9. Grazie ragazzi :D
    Ovviamente sono consapevole che per realizzare bene un buon Chara non occorre semplicemente dargli una stirata.
    Però vi garantisco che con quelle proporzioni là, si avranno molte possibilità di poter applicare un re-styling dei suddetti.
    Ad ogni modo preferisco procedere per gradi, iniziando a raccogliere i primi template che ospiteranno gli slot dei personaggi stiracchiati.
    Ed in seguito e solo in seguito, mi occuperò del new-look. :cool:
    Come vedete è ancora in fase di lavorazione:
    http://i68.tinypic.com/2nu0y0k.jpg

    P.S:
    Ovviamente per chi volesse usufruire delle risorse può farlo e modificarle di sua volta, così da alleggerirmi il lavoro che volendo, non guasta mai :wink:

  10. Salve gente, in occasione di queste festività natalizie, voglio farvi un regalo e condividere con voi un modo per poter rappresentare meglio i vostri personaggi in game. Posto qui perché, oltre ad illustrarvi questo nuovo tutorial voglio mettere a vostra disposizione le risorse che realizzeremo insieme.
    Per chi non dovesse essere amante dei Charaset pucciosi o volesse semplicemente dare maggiore caratterizzazione ai propri personaggi, distinguendosi dai modelli offerti pur mantenendo la stessa qualità grafica. Ecco che vi dono un nuovo stile per rappresentare i vostri personaggi in gioco.
    Pertanto fatta la premessa...........iniziamo :cool: :

    - CharaNoChibi -

    Il template che troviamo a nostra disposizione sono solitamente grandi 576x384,
    a cui al loro interno ospitano 96 cellette di dimensione 48x48 cada una.

    La nostra modifica consiste di ridimensionare il template standard, facendo si che
    abbia questa volta le seguenti grandezze: 564x512 a cui al suo interno verranno
    ospitate sempre 96 cellette ma questa volta aventi le dimensioni di 47x64 cada una.
    Come da immagine:
    http://i66.tinypic.com/r079rp.jpg

    .............................................................................................................................................
    Adesso vi spiegherò come trasformare un comunissimo chara 48x48 in un CharaNoChibi:

    Punto1:
    Selezionate un chara preso dall'elenco che avete a vostra disposizione direttamente dalla
    cartella Game/NomeProgetto/img/characters.
    Punto2:
    Aprite il file con il vostro programma di grafica preferito (io consiglio Gimp 2.8).
    http://i68.tinypic.com/25rdwt1.jpg
    Punto3:
    Come potete vedere quello slot è composto da 3 colonne verticali
    e da 4 file orizzontali. Iniziamo ad interagire con la prima fila (partendo dall'alto).
    http://i68.tinypic.com/v47wpw.jpg
    Una volta che l'avete presa in considerazione, selezioniamo con lo strumento di
    'seleziona rettangolo'
    http://i65.tinypic.com/293d5d2.jpg
    La parte posta appena sotto il mento dei nostri tre frames.
    Per facilitarvi meglio la selezione, provate zoommare l'immagine a 400.
    Il tutto dovrebbe risultare in questo modo:
    http://i66.tinypic.com/29clyr7.jpg
    Punto4:
    Una volta che avrete selezionato la porzione di immagine e rispettato i bordi in maniera precisa,
    cliccate con il tasto destro del vostro mouse o touchpad e selezionate le voci: Modifica/Copia il visibile.
    Punto5:
    Salvate l'immagine che avete appena copiato dentro un nuovo progetto (o di Gimp oppure di un altro tool)
    Io ad esempio uso molto Paint, perché lo reputo più immediato, pertanto aperto seguirò questa linea guida.
    Una volta aperto il nuovo programma, incollo quanto copiato sul foglio senza però eliminare la selezione.
    In questo modo:
    http://i66.tinypic.com/33wbamp.jpg
    Punto6:
    Adesso basterà giocare con l'altezza dell'immagine, in modo da migliorare le fattezze del corpo,
    eliminando l'effetto Chibi. Quindi bisogna apportare una vera e propria stiratura, abbassando
    l'immagine in questo modo:
    http://i64.tinypic.com/2na6tld.jpg
    Punto7:
    Ora tornate pure in Gimp e selezionate i tre frames partendo dal mento in su, in questo modo:
    http://i68.tinypic.com/10si22x.jpg
    Occhio a rispettare i margini. Anche qui copiate il visibile, ripetendo l'operazione precedente e incollate il
    tutto dentro il foglio creato con Paint (dove avevate precedentemente stirato il corpo).
    http://i64.tinypic.com/w2fxie.jpg
    Mi raccomando, cercate di far combaciare bene le due parti, se è il caso, sovrapponete parzialmente le
    due immagini, in modo da poter garantire una proporzione più adeguata. Io vi consiglio di creare una celletta
    che abbia le dimensioni pari a 47x64.
    Punto8:
    Non appena sarete soddisfatti fissate la testa al corpo e dopo sistemate il colore dei riquadri eliminando il superfluo.
    In modo da presentarsi così:
    http://i66.tinypic.com/x37ml5.jpg
    Ed in fine:
    Applicate lo stesso procedimento anche per le restanti 3 file, vi faccio vedere che l'effetto sarà molto bello.
    Un'ultima cosa:
    Una volta che avrete modificato tutte e quattro le file, ricordatevi di copia/incollare tutto lo slot all'interno del box grande 564x512.
    Altrimenti il programma RpgMv non vi permetterà di utilizzare la risorsa in maniera corretta.
    Un'altra cosa:
    Molto importantissima è stabilire la trasparenza, che serve per evitare che si veda il solito sfondo bianco che accompagna l'immagine.
    Così utilizzando il Paint, ricoloriamo di un unica tinta (un colore di background diverso dai gradienti utilizzati nell'immagine) tramite il comando 'riempi' le 12 cellette che costituiscono lo slot, in questo modo:
    http://i67.tinypic.com/1zcisn.jpg
    Salviamo l'immagine e riapriamola attraverso Gimp.
    A questo punto dobbiamo fare 3 semplici passaggi:

    1.Finestra Sinistra:
    Selezioniamo lo strumento 'Selezione Fuzzy' e usiamolo sul bianco dello sfondo.
    Vedremo che verrà selezionata solo la parte che sarà colorata di bianco.

    2.Finestra Destra:
    Andiamo in 'Livelli-Pennelli' / Tasto destro e selezioniamo la voce 'Aggiungi canale Alfa'.

    3.Finestra Sinistra:
    Una volta fatto, selezioniamo ora lo strumento 'Gomma' e cancelliamo tutta la parte selezionata dal Fuzzy.
    Otterremo questo:
    http://i63.tinypic.com/9kbi52.jpg
    Esportiamo l'immagine e salviamola all'interno della nostra cartella
    img/charasets.
    A questo punto controllate voi stessi come vi sembra l'effetto direttamente in gioco.

    Presto aggiornerò questo post inserendo tutti gli altri personaggi di gioco (che esistono di default) al quale applicherò le suddette modifiche. Spero che quanto ho condiviso oggi possa esservi utile.
    Vi auguro buon Natale e buon Making come sempre :smile:

    Allegato1:
    Actor1-NoChibi.png
    http://i63.tinypic.com/2e1ezo0.jpg

    P.S:
    Vi auguro tante Scorpacciate ricche :wink:

  11. Bella la canzone. Ma...questo post non era meglio conservartelo per il topic del progetto quando son goku deciderà di aprirlo?

    Si xD è che conoscendomi poi mi sarebbe passato di mente. Allora ho preferito trarre una recensione a caldo. Non vedo l'ora che esca il gioco completo e rivisitato. Anche perché si è interrotto in una fase interessante e non vedo l'ora di andare avanti con la storia :smile:

  12. Bella gente scrivo qui perché è l'unico post dove viene accennato il gioco dunque io l'ho appena finito (la prima parte :( )
    Però posso dirvi esattamente come la penso:

    La storia è stupenda!
    Le musiche secondo me sono azzeccate!
    Vi assicuro che vi innamorerete della canzone che accompagna il Menu iniziale!


    E non solo, la battlemusic dei boss, è eccezionale!

    Occorre però migliorare senza ombra di dubbio il mapping. Curando le proporzioni delle case, arredando meglio le singole stanze, stando bene attenti ai Tiles e ai loro livelli di passabilità. C'è da lavorare molto sui dialoghi e renderli simpaticamente accessibili a tutti.

    Se curato bene il gioco potrà rendere tantissimo, anche perché tocca delle tematiche davvero importanti e che spesso vengono trascurate. Come il riconsiderare la condizione di 'Bene o Male'/'Giusto o Sbagliato'/'Uguaglianze o Pregiudizi'. Le ipocrisie saranno all'ordine del giorno e forse sta proprio là la componente satirica. Ovvero enfatizzare certi aspetti che siamo costretti a sorbirci nel nostro quotidiano e che magari ci fanno storcere il naso. Beh nel gioco, tutto questo viene ridicolizzato. Tutti quei cliché della società moderna.

    Devil Inside
    .Ve lo consiglio.

    (Però solo dopo che Andrea lo avrà aggiustato e reso migliore xD)

  13. Io Donerei 12 euro all'anno per sto spazio. Sembra una cavolata di sito che parla di giochi casarecci, ma l'ho sempre detto, non è affatto SOLO una cosa del genere.
    Non voglio ripetermi nel fare elogi e smielate alla via col vento. Però sintetizzo dicendo che a parere mio sto posto merita. Trovo giusto che migliori e diventa sempre meglio. Io sono un tipo che me ne frego se il tasto donazione posto lì sotto spesso viene considerato come una sorta di vigile urbano di cui non bisogna incrociarne lo sguardo.
    Dax si sbatte; Flame si sbatte; Pro, Guardian, e che ne so quanti altri mods ed admin che ci stanno dietro le quinte.
    Vogliamo che le cose cambino in un piccolissimo spazio. Be i giorni nostri ci insegnano che l'unione fa la forza. Che un semplice utente può contribuire a cambiare le cose. Abbiamo quel tastino lì che potrebbe migliorarle.
    . . .
    *E fu così che, raggiunto l'ammontare di 444000 euro, tutto lo staff fuggì via per chissà quale località esotica del mar Nero* :ph34r:

  14. Devo segnalare un bug (chiamiamolo così) Oggi Another ha citato un mio commento. Benissimo, con tutto che già ho avuto modo di cliccare sull'iconcina e di visionare la segnalazione, aggiornando la pagina; chiudendo chrome e riaprendolo, rientrando nel forum, mi continua comunque a segnalare la notifica di Another.
    Devo presupporre che le notifiche non si aggiornano bene.

    E poi c'è un altra cosa che mi succede appena vado per rispondere ad un topic qualsiasi, ovvero che prima mi appare la pagina così:

    http://i64.tinypic.com/v81xm1.jpg
    poi la aggiorno e tutto si vede in maniera normale.

    Terza cosa, se scrivo una risposta e clicco su salva e rispondi mostra l'immagine di caricamento ma di fatto la pagina non viene aggiornata anche se è stata aggiornata. Nel senso che non mi rimanda alla discussione con il mio post di risposta.

    Per farlo funzionare devo usare l'editor completo cliccare su 'invia messaggio modificato in questo modo, prima mi rimanda a quella pagina come da foto li su e poi se aggiorno una seconda volta la pagina si presenta tutto normale come deve essere.

  15. l'ultimo "consiglio corposo" fu quello riguardo gli altri tool e se ne fece un bel topic con tanto di bannerino in cima ;) non siamo così chiusi come pensate xD

    però appunto, se non vi piace il colore dei muri... createci una skin e potremmo anche adottarla come secondaria xD

    Mi piacevano i gradienti tenui del vecchio forum. Però alla fine, il posto è vostro se piace a voi è ok. Un tempo mi spiegavate che al forum sono state aggiunte delle migliorie che l'altra struttura non poteva implementare. Quindi è ok. Capisco anche che gestirci tutti è un'impresa titanica. Anzi però alla fine penso che lo scopo di questo topic sia raccogliere tutte le varie richieste e valutare quali sono intanto quelle fattibili e poi quelle che sono state più menzionate (per garantirne la priorità), così da accoglierle inseguito quando si avranno la voglia, i mezzi e le finanze ovviamente. Don't procupe.

    . . .

     

×
×
  • Create New...