-
Posts
221 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Lomax_Iced
-
-
Non riesco a modificare il titolo del topic.
-
Si.. lo è, anche perché facilita tantissimo il compito del mappatore o che usa gimp mappando in parallasse o che usa un qualsiasi tileset-creator e quindi ha bisogno di elementi per crearne uno (ecco spiegato il perché delle sessanta immagini in .png, ai tempi arricchii la demo postata da (credo) Near Fantastica e aggiunsi un casino di elementi e apportai anche delle migliorie personali agli script Aworks e tileset creator della suddetta demo.
Poi però imparai a mappare in parallasse e non ne ebbi più bisogno.
Ad ogni modo spero a poco a poco di postare un quantitativo sostanzioso di risorse, ma non credo di avere tra i miei archivi materiale vx o mv
anche perché io ho sempre usato grafiche xp. Ma ve l'ho detto se vi ho messo la pulce in testa potrete ampliare l'idea :)
Sarebbe figo hm.. perché no, creare qui in questo forum un archivio di tutti gli elementi grafici presi singolarmente che compongono i vari tileset
una sorta di punto di ritrovo, dove la gente sa che se perde una risorsa/elemento la può trovare qui. Bu mi è venuta così :)
-
Ciao raga è da assai che non ci si becca. Come state?
Qualche giorno fa mi ero messo in testa di postare qualche addons utile per mappare.
Così ho tirato fuori la mia folder dei pennelli con tutte le specie di alberi presenti negli rtp di rpg maker xp.
E per iniziare penso che vada bene. Sono sicuro che già alcuni di voi avranno queste risorse ben conservate pertanto quanto condiviso potrà tornare utile a chi invece non le ha e magari traendo spunto forse potrà ampliare l'idea.
So benissimo che già esistono cose simili cedute a pagamento. Ma non sarà questo il caso. Quindi fatta questa precisazione, vi mostro di cosa sto parlando:
http://i64.tinypic.com/2ro6f83.jpg
http://i64.tinypic.com/s49u6f.jpg
http://i67.tinypic.com/n3n4nr.jpg
Questo era prima:
Ecc ecc in tutto sono 60 file immagine con estensione .png
e ulteriori 60 pennelli con estensione .gbr
custoditi in un archivio.rar di Dimensioni 463Kb e sul disco invece 464Kb
Ecco a voi il link, spero vi sarà utile.
http://www.mediafire.com/file/5hzmk7rd43h77c3/brushes.rar :) ciao
Modifica effettuata l'8/12/2017:
Ho ordinato meglio alcuni elementi in modo da favorire l'ordine e avere ogni cosa nella cartella apposita.
Badate sotto geniale idea o comunque spunto preso da una richiesta di Lusianl sto cercando pian pianino di
aggiungere elementi Mv e Vx.
Qui di seguito:
Brushes RPG MAKER XP (non solo alberi):
https://www.mediafire.com/file/rsw0s6gpd2s2dbc/RPGMXP.rar
Patterns RPG MAKER MV
https://www.mediafire.com/file/klk5rayjub74vgz/RPGMMV.rar
Patterns RPG MAKER XP
https://www.mediafire.com/file/s7jo24wbc6f7whi/RPGMXP2.rar
Ovviamente quest'archivio va ampliato e pian pianino riuscirò a raccogliere il tutto.
Ma già così vi assicuro che vengono fuori delle belle ambientazioni soprattutto per chi vuole creare
mappe geografiche dei vostri mondi di gioco.
P.S:Se non sapete come utilizzare gimp, mi raccomando documentatevi. io al momento non posso cimentarmi nel realizzare un tutorial dettagliato su gimp ma dio google e zio youtube hanno molte guide, quindi basterà cercare
bene e troverete ogni risposta ai vostri dubbi. Ad ogni modo posso accennarvi che una volta istallato gimp2.8
potete recarvi qui:
http://i68.tinypic.com/2uqn7t2.jpg
basterà copiare al suo interno il contenuto del mio archivio e avrete ampliato il vostro set di pennelli di Gimp2.8
Mi raccomando fate sempre una scansione del file che state scaricando, la risorsa l'ho creata io e vi posso dire che non ci sono brutte sorprese ma è sempre utile fare la scansione.
Invece per quanto riguarda i Patterns stessa cosa come per Brushes solo che dovrete recarvi nella cartella apposita,
estrarre le folder da RPGMXP2.rar e RPGMMV.rar e poi aprendo il programma gimp troverete tutto ben organizzato
negli appositi scomparti.
Ad ogni modo, ribadisco, spero che vi potrà essere utile. Ciao :) -
Flame quando puoi vai in Mp che ho scovato un piccolo bug ti ho fatto pure uno screenshot
-
WOW!!! WOW!!! WOW!!!
3 euro spesi alla grande !!!
L'ho detto e l'ho fatto !!
Sto gioco merita con il memu iniziale che si sposta in meniuera fluida xD !!!!!! wow
Subito su INIZIA
Seleziono un riquadro avrei dovuto leggere le impostazioni ma sono troppo euforico
non lo ero dai tempi di un finalfantasy old gen xD
Quindi c'è lauto save?! xD
che musichetta inizio inquietante e misteriosa xD
ti pizzica xDirritare il piccolo popolo???? Siate gentile e non vi succederà nulla???? xD
ahah lo sapevo che sarebbe stato entusiasmante!! Raga acquistatelo a massa!!
ahahah xD lo gnomo in.....ahahah xD
Ma poi è tutto così fluido e ...wow
Ma che ca xD ahahahah ma io sono un principe xD qui mi si chiede invece di... ahaha
ho toppato con la biblioteca..volutamente cof cof ehm si... e ho subito pensato che iniziasse uno scontro tipo Final Fantasy 10 e invece .... sorpresa ahah xD Ottima idea!!
{[(FLAME PROGM io sto riscontrando un po di problemi con il sistema di spostamento del personaggio, è l'unica cosa dolente. e sono su un device mobile, ma a parte questo per ora non c'è altro)]}
-
Ah okay . Quindi il Sakan si paga a parte.
Perfetto, Qualcuno di voi l'ha già provato? Come si è trovato?
-
Ragazzi ciao a tutti
Che mi sapete dire dell'aggiornamento 1.4.0 ?
È vero che con esso c'è il SAKAN Tileset buldier?
Qualcuno di voi l'ha provato? Come vi sembra?
-
Formula meglio la richiesta. Quanti Chara ti servono?
-
Grazie raga per i sostegni

Ok Ste :) il link è il seguente https://www.xcoding.it/corso/le-basi-di-unity-3d/
ma gli altri non li ho dimenticati è che impegni lavorativi e idee sempre fresche mi colgono e tendo a.. hai ragione ;P
comunque quello sul javascript intendo continuarlo, appena finisco l'asset.
(in teoria dovrei finere quello sul javascript e poi iniziare l'asset... ma sono una brutta persona xD )
-
Grazie Ryoku
Se cerchi su GOoGLE "corso gratuito unity 3D" un team di ragazzi ha avviato nel 2016 un set di 14 lezioni online davvero ben spiegate che sono utilissime per chi vuole approcciarsi al programma.
E veramente grazie a loro ho dato un calcio ai mille pregiudizi che mi ero fatto sul tool in questione e beh adesso mi trovi qui a parlarne entusiasta. Se vuoi e mi è possibile posso scrivere il link
diretto alle loro lezioni. A me è stato utile. -
Buon anno del Gallo a tutti :) Topic in costruzione (ho ammaccato per sbaglio invio :P)
Vedo spesso lamentare la mancanza di una struttura vettoriale all'interno dell'engine rpg maker e molti utenti cercano in qualsiasi modo di incastrare script o plugin davvero ben congeniati al fine di implementare quasi con coercizione tale capacità. rischiando però di limitarne le facoltà e sottoscrivendo il tutto all'interno di circuiti semplici che stroncano le scelte. Spesso queste implementazioni sono soggette ad entrare in conflitto con altre e il tutto complica la realizzazione del progetto. . .
Come giungere ad una soluzione senza abbandonare del tutto gli elementi grafici che ci piacciono e conferiscono un'identità marchiata rpg maker?
La risposta è brutale ma semplice: Occorre emigrare.
Ovvero spostarsi all'interno di un Engine che nasce già come game editor vettoriale e quindi occorre letteralmente fare fagotto e spostare le grafiche di Rpg Maker lì.
Il meno costoso, che ho scelto come soggetto per questo esperimento è Unity 3D.
Lo so.. poco amato, tanto discusso, spesso odiato. Però per chi lo conosce è quello che si avvicina di più (nella sua forma base) alle tecniche di progettazione di un RMMV,
(lasciando perdere per un momento il lato mapping). Ora voglio fare una premessa.
Unity è un engine come tanti. Spesso lo si incolpa per alcune mancanze espresse in dei progetti mal congeniati, trascurando che altrettanto spesso non è colpa dell'engine se
il progetto è mal riuscito, ma piuttosto per mancanza di professionalità dei singoli creatori. Quindi spero di avere reso l'idea.
E poi voglio aggiungere un'altra cosa, questo programma non è così complesso come molti vogliono far credere e lo ritengo davvero l'anello mancante fra Rpg Maker e i game editor più tosti.
Quindi se vorrete passare di qualità, vi è utile fare questo tipo di gavetta e provarli così un po tutti e in futuro saperne parlare.Precisando questo, vi sto comunicando che qui si parlerà di unity.
ma nemmeno tanto.
Anzi, è utile per voi che già abbiate qualche infarinatura a riguardo, non è un vero e proprio corso su Unity 3D (già il web ne è pieno) piuttosto faremo un percorso che ci insegnerà a mano a mano a creare un asset (sarebbe un pacchetto di elementi, è rappresentato come una cartellina di windows con dentro delle cose utili, andate a ripassare cos'è se non lo ricordate) in modo tale che avremo Rpg Maker all'interno di Unity 3D
E questo comporterà a fine realizzazione di poter creare un gioco fatto in Unity 3D ma rivestito con del Materiale proprio ad Rpg Maker.
Per chi poi diventerà abbastanza bravo, potrà provare a staccarsi da rpg maker e creare lui stesso elementi da inserire nell'asset e acquisire maggiore padronanza del tool e sbizzarrirsi come meglio crede.
Spero che questa idea possa piacervi e quindi bando alle ciance iniziamo! :)1. Approccio al programma Unity e creazione destinazione Asset:
http://i64.tinypic.com/2hzkal4.png
Ecco i quattro programmi che ci saranno molto utili per la realizzazione del nostro progetto.
Il primo che andremo ad aprire sarà Unity:
http://i66.tinypic.com/2e6fomg.png
Aprendolo e terminati i caricamenti avremo di fronte questa interfaccia:
http://i68.tinypic.com/23m7k08.png
Le sezioni che ci interesseranno saranno:
° Hierarchy -> Che ci da un reso degli oggetti in scena. Al momento Non è vuota perché in scena è presente solo la Camera Principale. (è un elemento anch'essa)
° Scene -> Che ci mostrerà in tempo reale i test grafici che conferiremo ai nostri modelli
° Game -> Non sarà molto utile al fine di questo progetto (il suo uso sarà superfluo)
° Asset -> Sarà il luogo dove archivieremo il nostro box specifico con dentro tutti i nostri elementi.
° Inspector -> Anche qui superfluo ma lo potremmo usare per deliziarci dei nostri realizzi.
Allora per implementare degli elementi in Unity (che in gergo si chiamano Materiali) occorre recarci nel luogo in cui risiede la cartella di questo progetto che abbiamo appena aperto.
Per chi è conoscitore del programma, io ho creato un nuovo progetto senza inserire degli asset al suo interno, quindi pertanto è spoglio.
Ora per quanto mi riguarda la mia cartella è riposta in documenti:
http://i68.tinypic.com/346kizb.png
Accedendo alla cartella avremo di fronte altre quattro cartelle fra cui Assets, la cartella che ci interessa.
http://i64.tinypic.com/21ct6ps.png
Se vi accedete sarà vuota, occorre riempirla, vediamo come:
http://i63.tinypic.com/2epkgty.png
Allora io ho creato una nuova cartella e lo rinominata come ho ritenuto opportuno definirla.
Per una questione di ordine occorrerà entrare all'interno della nostra nuova cartella e creare
altre due sottocartelle denominandole in questo modo:
http://i65.tinypic.com/14uc2he.png
Fatto questo adesso torniamo nell'interfaccia Unity..notiamo qualcosa di diverso?! :)
Esatto, La nostra sezione Assets si è riempita con la nostra nuova caretella.
http://i63.tinypic.com/33mwlc6.png
In sostanza ci stiamo solo preparando ad ospitare i nostri files che allogeremo li dentro.
Ora, unity è senza dubbio più semplice di Rpg Maker in quanto di sprite ne esistono solo due categorie.
I modelli che servono appunto da mattoni per la creazione della nostra scena e sono i cosidetti oggetti tridimenzionali e poi ci sono le textures che servono per vestire i modelli e conferire loro una precisa identità.
La parte più complessa di questo progetto sarà ricreare i modelli, per farlo occorrerà utilizzare un quinto programma di modellazione 3D.
Ma per implementare le texture il tutto è decisamente ultra semplice e noi andremo a fare proprio questo in modo tale già da essere in grado di creare le nostre mappe esterne con unity.
e vi faccio vedere che già così gli .... saranno multipli :)
Mano a mano che questo tutorial andrà sviluppandosi utilizzeremo blender per creare i nostri modelli. Ma seguiamo un giusto iter così evitiamo di implodere su noi stessi xD
2. Approccio Gimp Paint se è il caso strumento di cattura; Inserimento Texture in Asset:
Dunque dopo aver creato il nostro luogo di alloggiamento, adesso ci occorrerà riempire di elementi la nostra cartella texture e come vi accennavo prima, per adesso la cartella Modelli lasciamola pure vuota, al momento non ci interessa.
Quindi come popolare Texture?
Esistono 2 metodi che differenziano dal divreso grado di complessità. Ora vi spiego:
Per chi come me già mappava in Rpg Maker utilizzando Gimp2.8 sa benissimo che nella sua bella cartella Brushes ha riposto una serie di elementi rpg maker e quindi adesso per passare ad
Unity potrà comodamente eseguire i seguenti passaggi:
1. Aprire Gimp:
http://i63.tinypic.com/2hi704x.png
http://i67.tinypic.com/2i971ix.png
Creare un nuovo file immagine. Va bene qualsiasi tipo di dimenzione non ce nè una specifica. Se proprio ne vogliamo dire una, l'altezza e la larghezza devono avere la stessa misura.
tipo come i tile di rpg maker, ve li ricordate?! 32x32 oppure 48x48 ecc. In Unity (lo ripeto) va bene qualsiasi grandezza.
http://i63.tinypic.com/24eyou0.png
Io ho messo 60x60 ma è facoltativo.
Dopo aver fatto ciò (ripeto solo per chi ha gimp pompato in questo modo)
Basterà semplicemente andare in Pine ovvero qui:
http://i64.tinypic.com/2iuexec.png
Questa è la lista dei motivi di Gimp.
Selezionarne uno, tenere la selezione con il mouse e trascinarlo sul nostro file immagine.
Per esempio prendo il primo dell'erba, vedremo che si stamperà direttamente.
Aimé non posso farvi vedere l'azione ma il risultato è il seguente:
http://i67.tinypic.com/18esnd.png
Adesso abbiamo ottenuto la nostra prima texture dobbiamo solo salvarla e quindi pertanto dobbiamo soltanto recarci su:
FIle
poi su Esporta come.. cliccando si aprirà un'ulteriore finestra che ci chiederà dove alloggiare questa immagine e noi quindi a questo punto non dobiamo far altro che collegare
il percorso che abbiamo precedentemente creato e quindi inserire il tutto in http://i67.tinypic.com/2lixvsk.png ovviamente
seguendo il percorso testuale, se avrete svolto tutto con successo, dovreste avere questa dicitura:
http://i65.tinypic.com/120gi7m.png
Come vedete ho inserito il nome identificativo; mi raccomando il formato .png è importante; il percorso e una volta pigiato Esporta si apparirà un'altra finestrella, lasciate tutto così come si presenta, ripigiate su Esporta e infine basterà racarsi in Unity per visionare se l'allacciamento è avvenuto con successo.
http://i68.tinypic.com/svtjer.png
E direi che è così..
Per chi ha il Gimp pompato è comodo perché deve svolgere pochissime operazioni, sovrascrivendo lo stesso progetto e svolgendo il tutto in maniera molto lesta.
Per chi non ce l'ha, invece può adottare quest'altra soluzione.
Fate conto di non avere Gimp.
E quindi avete a disposizione solo le vostre grafiche:
http://i65.tinypic.com/9kt0l2.png
Qui i passaggi sono un po più lunghi ma anche, in questo caso, semplici. Basterà munirvi di uno strumento di cattura, io ad esempio uso quello fornito da windows.
Attraverso esso estrapolo la porzione di immagine e poi la salvo in formato .png e nel percorso in cui ci è utile destinarla. E in questo modo questa nuova immagine
affiancherà l'altra che avevamo creato precedentemente. Il tutto risulterà così:
http://i65.tinypic.com/104mi4z.png
I due metodi sono entrambi semplici,
Nel primo si ha più controllo dell'immagine, poiché passa da un programma di grafica, e l'elemento prima di diventare texture per unity può essere elaborato come meglio si crede in un percorso a catena continua.
Il secondo metodo e più immediato ma si ha meno controllo e si devono eseguire più passaggi ripetitivi.
Queste due considerazioni, soprattutto l'ultima salta solo se si ha un'idea pre-stabilita della scena che si vuole creare. In questo modo vengono inseriti solo gli elementi che occorreranno in quella scena e pertanto non ci si rischia di annoiare.
3.RESA FINALE mappare con le nostre texture:
Bene adesso divertiamoci un po' utilizzando le nostre texture e mappiamo la nostra scena in Unity.
Intanto dobbiamo avere questa interfaccia davanti:
http://i67.tinypic.com/dy204i.png
Al momento in scena c'è solo la Main Camera (La camera principale che ci permette di visionare la scena in Game) Le impostazioni di Default di Unity sono così, non avendo nessun altro elemento in scena se noi proviamo ad andare in Game e noteremo che è tutto è blu (spoglio)
Quindi pertanto bisogna inserire un altro oggetto. Ora visto che io al momento ho a disposizione solo la texture dell'erba e della roccia, il nostro secondo oggetto facciamo che sia un terreno.
Per crearlo dobbiamo recarci alla voce GameObject (sarebbe la quarta voce in alto).
Selezionando questa voce si aprirà un menu a tendina che vi mostrerà alcune voci, fra cui la seconda create other (crea dell'altro) con questa opzione si accede ad un ulteriore menù, presso il quale voi dovete scegliere che elemento creare.
Beh partendo dal basso verso l'alto, la quarta voce è proprio Terrain, selezionatela così da creare il modello di terreno presente in scena.
Con la rotellina del mouse (il mouse con la rotellina è la vita compratelo se non l'avete, sarà utilissimo) dicevo spostatela verso di voi in modo di allontanarvi dall'immagine, in questo modo noterete che ciò che avrete creato è molto grande.
Selezionate nuovamente Terrain tramite Hierarchy (box sulla sinistra dove c'è pure la main camera) e noterete che selezionandolo, sulla destra nell'inspector appariranno delle voci e un menu che molto simile al videogioco SimCity 4 o analoghi, quando si chiedeva al giocatore di creare la mappa (appunto). Comunque in pratica abbiamo ora a che fare con questa schermata:
http://i66.tinypic.com/2j61qv4.png
Adesso, dopo aver creato il nostro oggetto Terreno, proiamo a vestirlo di una texture di base come per esempio Erba 01.
Per farlo bisogna prestare attenzione all'inspector e più precisamente dove vedremo scritto: Terrain(script) appena sotto ci sono delle iconcine, voi selezionate quella che assomiglia da un pennello.
Fatta questa operazione noterete che dopo Bruches, vi sarà la voce Texures e in questa sezione bisogna selezionare Edit Texures
Dopo di che l'unica voce disponibile, la prima, ovvero Add Texures.
Quest'azione aprirà una piccola finestrella, la add terrain texture dove ci sono due riquadri vuoti.
In questi riquadri verranno selezionate le texture che sceglieremo, pertanto selezionando select del riquadro a sinistra si aprirà un ulteriore finestra dove sono ospitate le nostre textures
Io selezionerò Erba 01 dopo di che in add terrain texture digiterò add e visionerò il risultato. se tutto è fatto in maniera corretta avrete questo prospetto:
http://i64.tinypic.com/2uz2yae.png
Una bella superficie piana colorata di verde, non può essere definita mappa ovviamente però come in rpg maker è un po' la nostra base di partenza.
Per renderla un po più appetibile intanto inseriamo anche la seconda texure rock 01 che ci sarà utile senzaltro e per farlo occorre che ripetiate i passaggi che sono stati validi per Erba 01.
Una volta fatto ciò Proviamo a creare qualche montagna che dite?! :)
Per creare le montagne occorre selezionare la prima iconcina partendo da sinistra:
http://i63.tinypic.com/2rfv88h.png
Nella sezione Brushes selezionerete il tipo di pennello e nella sezione settings dedicata l'estenzione del brush e opacity in questo caso rappresenta l'intensità della rialzata che andremo ad apportare alla superficie piana. Facciamo una prova:
http://i67.tinypic.com/25jkppw.png
E' ancora spoglio, pertanto proviamo a creare qualche contrasto con la seconda texture rock01 e vediamo com'è l'impatto visivo:
http://i64.tinypic.com/s1q3bn.png
E questo è più o meno il reso utilizzando solo due texture e applicando pochissime modifiche, ora voi immaginatevi di utilizzare più elementi che cosa ne potrebbe venir fuori.
Spero di aver colto nel segno. Ad ogni modo come prossimo obbiettivo sarà quello di dedicarmi interamente ai modelli e quindi ci addentreremo nell'utilizzo di blender. :)
Per il momento stoppo qua. Nel mio prossimo intervento condividerò con voi un set di texture rpg maker già pachate e poi inizierò ad introdurre i modelli dei png o npg ecc in blender.
O per meglio dire condividerò con voi la tecnica per crearli. Sono le 19:40 io vi auguro buona cena in anticipo e alla prossima :) -
Grazie anche da parte mia era ciò che mi serviva
-
Sei un grande Guardiano! :)
Grazie al tuo aiuto sono riuscito a stabilizzare il comando nuovo gioco.
---------------------------------------------------------------------------------------------Ho mezzo risolto.
Ho creato una nuova classe e l'ho nominata Scene_EndLol, si occuperà di gestire lo shutdown, nel caso il player voglia chiudere il gioco in quel preciso momento lì. Vi spiego un po di che fase stiamo parlando: Siamo proprio all'inizio del gioco, una schermata mostra i vari loghi delle piattaforme che hanno permesso la realizzazione di questo progetto, intanto un bgm di sottofondo accompagna quest'intro, Ad un tratto finita la sequenza dei loghi, si entra nel menu principale continua la musica (lo scene_Title ad eventi) Quindi ci troviamo sempre nella stessa mappa. Ci sono le sette opzioni disponibili, le classiche più qualcosina di 'spero' innovativo e tra queste voci c'è il comando 'Esci' che è gestito da un callscript: SceneManager.goto(Scene_EndLol) che mi permette di aprire una scena quasi identica al GameEnd se non fosse per qualche lieve modifica. Ad esempio ho eliminato "il ToTitle" non ha senso usarlo in questa fase qui. Ho lasciato solo Shutdown e cancel.
Ora però l'inghippo sta che il comando shutdown mi funziona fin troppo bene. Esageratamente bene. Talmente bene che anche se digito "annulla" si chiudono lo stesso tutte cose. xD
Quindi in sostanza ....help me pleace :)
vi allego qualcosina:Questa è la mia simpatica Window_EndLol:
//----------------------------------------------------------------------------- // Window_EndLol Lomax. // // Questa finestra da me realizzata, serve a far visualizzare Scene_EndLol. function Window_EndLol() { this.initialize.apply(this, arguments); } Window_EndLol.prototype = Object.create(Window_Command.prototype); Window_EndLol.prototype.constructor = Window_EndLol; Window_EndLol.prototype.initialize = function() { Window_Command.prototype.initialize.call(this, 0, 0); this.updatePlacement(); this.openness = 0; this.open(); }; Window_EndLol.prototype.windowWidth = function() { return 240; }; Window_EndLol.prototype.updatePlacement = function() { this.x = (Graphics.boxWidth - this.width) / 2; this.y = (Graphics.boxHeight - this.height) / 2; }; Window_EndLol.prototype.makeCommandList = function() { this.addCommand(TextManager.shutdown, 'shutdown'); this.addCommand(TextManager.cancel, 'cancel'); };Ed a seguire lo Scene_EndLol:
//----------------------------------------------------------------------------- // Scene_EndLol // // Finestra di chiusura da me creata per // garantirmi l'esatta esecuzione del Title ad eventi. function Scene_EndLol() { this.initialize.apply(this, arguments); } Scene_EndLol.prototype = Object.create(Scene_MenuBase.prototype); Scene_EndLol.prototype.constructor = Scene_EndLol; Scene_EndLol.prototype.initialize = function() { Scene_MenuBase.prototype.initialize.call(this); }; Scene_EndLol.prototype.create = function() { Scene_MenuBase.prototype.create.call(this); this.createCommandWindow(); }; Scene_EndLol.prototype.stop = function() { Scene_MenuBase.prototype.stop.call(this); this._commandWindow.close(); }; Scene_EndLol.prototype.createBackground = function() { Scene_MenuBase.prototype.createBackground.call(this); this.setBackgroundOpacity(128); }; Scene_EndLol.prototype.createCommandWindow = function() { this._commandWindow = new Window_EndLol(); this._commandWindow.setHandler('terminate', this.commandShutdown.bind(this)); this._commandWindow.setHandler('cancel', this.popScene.bind(this)); this.addWindow(this._commandWindow); }; Scene_EndLol.prototype.commandShutdown = function() { this._commandWindow.close() this.fadeOutAll() window.close() };E questa invece è la porzione di comandi dell'evento che riguarda appunto l'evocazione della scena EndLol
http://i64.tinypic.com/1zp1s1u.pngIn sostanza le mie domande sono:
1.Come mai non riesco a nominare il comando "Shutdown" e difatti esso mi appare privo di scritte e non è bello a vedersi, al contrario del comando annulla che invece è ben visibile. Come fare per aggiungere, modificare vecchie e nuove voci, soprattutto se esse non sono prensenti all'interno della sezione 'Termini' del tool. ?
2.Come mai il comando "annulla" esegue la stessa funzione del comando shutdown anziché permettere al player di tornare indietro, come del resto avviene per tutti gli altri comandi del menu, in cui è presente questa possibilità. Come fare a permettere di fare eseguire i due comandi diversi. ?
-
Salve Gente come vi va la vita? Come state? :)
D: Mi occorrerebbe un call script preciso, in sostanza:
Vorrei che SceneManager.goto(Scene_Map); abbia una location_ID e delle coordinate precise.Vi spiego, ho utilizzato il mio 00Saltatitle.js per skippare lo Scene_Title, così ho utilizzato una mappa per crearne uno nuovo ad eventi, fin qui tutto bene.
Ora però mi trovo bloccato con l'assegnazione dei comandi e per la precisione:
Con il comando Nuovo Gioco ,Poiché non sono in grado di assegnargli un teletrasporto in mappa decente.
Ho provato anche ad inserire il comando "Teletrasporto" ma non funge perché in quel caso, salta troppo, scavalcando anche la mappa adibita al Title ad eventi e mi va direttamente alla successiva e non deve, a meno ché il player non decida di selezionare quella voce.
Il secondo comando che mi sta causando dei grattacapi, non è la prima volta che mi ci imbatto, anzi in passato avevo pure risolto e condiviso qui la scoperta, solo che non vorrei confondermi con il ruby. Non mi ricordo se lo avevo fatto in ambiente javascript oppure rgss, comunque.. in sostanza il secondo comando è la funzione Esci.
Io mi ricordo che avevo fatto in modo che si chiudesse tutto in due forme diverse. O di botto senza preavviso oppure in maniera più bella a vedersi, ma non vorrei che io l'abbia fatto in ambiente rpg maker xp e io mi ricordo male.. bu.. ad ogni modo mi occorre sapere come si crea l'opzione showdown, che a quanto pare non mi ricordo più come si fa.. :(
Un 1000 Grazie in anticipo ;) -
Ottimo. :)
-
Già era in grado di fare meraviglie utilizzando poche righe di codice. Davvero un asso.
-
Premessa:
Dunque gente gironzolando fra i miei archivi ho notato che possiedo una risorsa che per chissà quale arcano motivo non esiste più all'interno del nostro forum. Preciso ai Moderatori che ho cercato sia attraverso il titolo originario sia per l'autore (utente) e i suoi topic. Ma a quanto pare sono elencati soltanto tre post risalenti il 2013 (almeno a me vengono evidenziati solo questi quando cerco utente e Topic postati dall'utente in questione). Quindi questo mi lascia presumere che non c'è più la risorsa.
Pertanto un buon motivo per ripostarla :)Character on Map
autore Kingartur2 (quanto segue sono sue testuali parole)
Descrizione
Molti per esigenza inseriscono degli eventi su mappa per pura esigenza grafica, ma,
con molti eventi si possono incorrere dei lag sulla mappa, anche se non fanno nulla.
Grazie a questo script si inseriscono solo i chara e basta e in questo modo si può anche
andare dove le picture non possono osare.XD
Autore
kingartur2
Allegati
(aimé non sono riuscito
a reperire la Demo)
Istruzioni per l'uso
nello script#============================================================================== # Autore : kingartur2 # Versione : 1.3 # Data : 06 / 02 / 2010 #============================================================================== # Istruzioni : # inserire nell'hash SPRITE_ON_MAP la seguente sintassi: # ID_MAPPA => [ [nome_chara, posizione x del frame richiesto, # posizione y del frame richiesto, x del chara nella mappa, # y del chara nella mappa, opacità, zoom in x, zoom in y, # aumento in pixel della coordinata x, # aumento in pixel della coornata y], ...] #============================================================================== SPRITE_ON_THE_MAP = { 1 => [ ["001-Fighter01", 1, 1, 2, 2, 225, 1, 2, 0, 0], ["002-Fighter02", 2, 2, 10, 10, 100, 5, 5, 0, 0] ], 2 => [ ["003-Fighter03", 1, 1, 2, 2, 225, 1, 1, 20, 20], ["004-Fighter04", 2, 2, 13, 9, 220, 3, 3, 0, 0] ] } #============================================================================== class Spriteset_Map alias init initialize def initialize init if SPRITE_ON_THE_MAP.has_key?($game_map.map_id) for sprite in SPRITE_ON_THE_MAP[$game_map.map_id] character = Game_Character.new character.character_name = sprite[0] character.pattern = sprite[1] - 1 case sprite[2] when 1 then character.turn_down when 2 then character.turn_left when 3 then character.turn_right when 4 then character.turn_up end character.moveto(sprite[3], sprite[4]) character.opacity = sprite[5] character.real_x += sprite[8] character.real_y += sprite[9] @character_sprites.push(Sprite_Character.new(@viewport1, character.clone)) @character_sprites[-1].zoom_x = sprite[6] @character_sprites[-1].zoom_y = sprite[7] character = nil end end end end class Game_Character attr_accessor :character_name attr_accessor :pattern attr_accessor :opacity attr_accessor :real_x attr_accessor :real_y endBugs e Conflitti Noti
N/A
Altri Dettagli
N/A
(spero che possa esservi utile per i vostri progetti.. buon making. by Lomax_Iced)
-
Ohi Guardian ho riportato tutto dagli screenshot alla demo allo script Game_Vehicle e allegati.
Trovate tutte le risorse nel mio post #11 -
Dovrebbe esserci un contest in cui si esiga solo l'utilizzo di Paint per mappare xD
e li si scoprirebbe chi è dotato realmente di dura tenacia e chi no.
Scherzi a parte, vorrei dire la mia inerente la questione in cui si diceva che in
RPG Maker xp non si può mappare in quel modo (mi riferisco al Mapping di Rox93)
Mi permetto di dissentire. In quanto con un po di ingegno
si possono realizzare delle mappe veramente stupende, soprattutto in RMXP.
Nel senso che si possono assemblare dei tileset fatti apposta per lo scenario che
andremo a mappare e quindi includendo tutte quelle questioni sui tile e le collisioni.
Così da prevenire, in un certo qual senso, almeno da un punto di vista grafico,
un po tutto il lavoro di programmazione che si intenderà destinare in quella scena.
Un po come fanno gli scenografi che allestiscono il set prima delle riprese. :)
Ad ogni modo ne approfitto nel dire che reputo anch'io che Tile Map Editor è senza
ombra di dubbio un'ottima soluzione lesta per chi appunto è ancora principiante sia
da un punto di vista di disegno grafico e anche di preparazione della scena.
Fornisce un ottimo aiuto. Ottima risorsa e anche la video guida bravo ;) -
Salve gente voglio segnalarvi uno youtuber che forse potrà risultarvi utile per imparare a disegnare un Personaggio di gioco con i giusti attributi. Stiamo parlando di imparare a disegnare dei personaggi in stile anime.
Questa serie di video tutorial non li ho realizzati io ma lì trovo davvero molto utili e se giocate spesso con il tasto pausa, stoppando repentinamente il video riuscirete ad imparare a disegnare seguendo il suo stile.
Ora vi do un'anteprima per darvi un'idea di cosa sono riuscito a realizzare in meno di 12 ore e con Paint, però imbruttirò un poco l'immagine con Gimp (perché la risorsa appartiene al gioco che sto realizzando e gradirei che altri non la utilizzassero, per ovvi motivi).
http://i65.tinypic.com/flyfcx.jpg
Se devo essere sincero è stato il mio primo disegno fatto interamente in questo stile. Certo so
benissimo che ci saranno sicuramente degli errori, tal'altro la mia ragazza mi ha fatto notare che
l'armatura ha un nonché di simile con quella dei Sayan e quindi ho dovuto cambiarla. Però tutto
sommato penso che come base di partenza possa essere un buon risultato.
Adesso proverò a presentarvi colui che mi ha insegnato in maniera indiretta:
L'autore dei video tutorial è un certo Dainiri Artou.(Se cliccate sul nome verrete trasportati direttamente nel suo canale)
Fino ad ora ha postato solo tre video in cui disegna.
Io, ad esempio, sto aspettando con trepidazione che esca quello in cui
lo si vede disegnare un personaggio femminile, così mi porto avanti con il lavoro..Detto questo ecco un esempio dei suoi tutorial:
Spero che quest'altra informazione vi possa risultare utile per il vostro making
vi auguro una buona cena e una piacevole estate :) -
hm interessante.. questa cosa non la sapevo. Grazie :)
-
Allora questo script l'ho realizzato questa notte e l'autore sono io. Ne vado fiero perché è il mio primo vero script nella
sezione RGSS.
Premessa:
Tutto nasce dal fatto che volevo capire come funzionasse il discorso dei template dei charaset, quale fosse lo schema
che permetteva di decidere le proporzioni (tra Frame e Pose). Per invogliarmi a studiare la cosa ho creato un tutorial
che spiega passo passo come sono arrivato a realizzare questo script che penso sia molto più intuitivo di certuni che
si vedono in giro. (quelli che usano le SDK mi terrorizzano O.O'' ) Questo invece è puro codice di default, comunque vi
posto il link del tutorial (che ho finito questa notte verso 00:53) ve lo posto:
http://www.rpg2s.net/forum/index.php/topic/20863-aggiungere-pose-e-frames-ai-charaset-di-default-rmxp/?do=findComment&comment=412299
Allora vi spiego un pochettino come funge:
Quello che non troverete nel tutorial è un Modulo che faciliterà meglio i settaggi.
L'ho nominato infatti apposta 'Impostazioni' e l'ho messo all'apice dello script.
In sostanza Lui:############################################################################### module Impostazioni NUMERO_DI_FRAME_CHARACTER = 6 # default: @cw = bitmap.width / 4 NUMERO_DI_POSE_CHARACTER = 8 # default: @ch = bitmap.height / 4 CAMMINATA_8DIR = true # se false abilita quella tradizionale end ################################################################################Sono tre costanti di cui:
con la prima possiamo scegliere qualsiasi numero di frames vogliamo.
con la seconda si possono scegliere il numero delle pose e anche qui possiamo sbizzarrirci.con la terza si sceglie se attivare la camminata a 8 direzioni oppure a 4.
Ecco la risorsa:################################################################################ module Impostazioni NUMERO_DI_FRAME_CHARACTER = 6 # default: @cw = bitmap.width / 4 NUMERO_DI_POSE_CHARACTER = 8 # default: @ch = bitmap.height / 4 CAMMINATA_8DIR = false # se false abilita quella tradizionale end ################################################################################ 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 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 / Impostazioni::NUMERO_DI_FRAME_CHARACTER @ch = bitmap.height / Impostazioni::NUMERO_DI_POSE_CHARACTER 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 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 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 ################################################################################ ###########################################################FINE SPRITE_CHARACTER #INIZIO GAME_PLAYER############################################################# ################################################################################ #============================================================================== # ** Game_Player #------------------------------------------------------------------------------ # This class handles the player. Its functions include event starting # determinants and map scrolling. Refer to "$game_player" for the one # instance of this class. #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # * Invariables #-------------------------------------------------------------------------- CENTER_X = (320 - 16) * 4 # Center screen x-coordinate * 4 CENTER_Y = (240 - 16) * 4 # Center screen y-coordinate * 4 #-------------------------------------------------------------------------- # * Passable Determinants # x : x-coordinate # y : y-coordinate # d : direction (0,2,4,6,8) # * 0 = Determines if all directions are impassable (for jumping) #-------------------------------------------------------------------------- def passable?(x, y, d) # Get new coordinates new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0) new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0) # If coordinates are outside of map unless $game_map.valid?(new_x, new_y) # Impassable return false end # If debug mode is ON and ctrl key was pressed if $DEBUG and Input.press?(Input::CTRL) # Passable return true end super end #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen #-------------------------------------------------------------------------- def center(x, y) max_x = ($game_map.width - 20) * 128 max_y = ($game_map.height - 15) * 128 $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max $game_map.display_y = [0, [y * 128 - CENTER_Y, max_y].min].max end #-------------------------------------------------------------------------- # * Move to Designated Position # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def moveto(x, y) super # Centering center(x, y) # Make encounter count make_encounter_count end #-------------------------------------------------------------------------- # * Increaase Steps #-------------------------------------------------------------------------- def increase_steps super # If move route is not forcing unless @move_route_forcing # Increase steps $game_party.increase_steps # Number of steps are an even number if $game_party.steps % 2 == 0 # Slip damage check $game_party.check_map_slip_damage end end end #-------------------------------------------------------------------------- # * Get Encounter Count #-------------------------------------------------------------------------- def encounter_count return @encounter_count end #-------------------------------------------------------------------------- # * Make Encounter Count #-------------------------------------------------------------------------- def make_encounter_count # Image of two dice rolling if $game_map.map_id != 0 n = $game_map.encounter_step @encounter_count = rand(n) + rand(n) + 1 end end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh # If party members = 0 if $game_party.actors.size == 0 # Clear character file name and hue @character_name = "" @character_hue = 0 # End method return end # Get lead actor actor = $game_party.actors[0] # Set character file name and hue @character_name = actor.character_name @character_hue = actor.character_hue # Initialize opacity level and blending method @opacity = 255 @blend_type = 0 end #-------------------------------------------------------------------------- # * Same Position Starting Determinant #-------------------------------------------------------------------------- def check_event_trigger_here(triggers) result = false # If event is running if $game_system.map_interpreter.running? return result end # All event loops for event in $game_map.events.values # If event coordinates and triggers are consistent if event.x == @x and event.y == @y and triggers.include?(event.trigger) # If starting determinant is same position event (other than jumping) if not event.jumping? and event.over_trigger? event.start result = true end end end return result end #-------------------------------------------------------------------------- # * Front Envent Starting Determinant #-------------------------------------------------------------------------- def check_event_trigger_there(triggers) result = false # If event is running if $game_system.map_interpreter.running? return result end # Calculate front event coordinates new_x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0) new_y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0) # All event loops for event in $game_map.events.values # If event coordinates and triggers are consistent if event.x == new_x and event.y == new_y and triggers.include?(event.trigger) # If starting determinant is front event (other than jumping) if not event.jumping? and not event.over_trigger? event.start result = true end end end # If fitting event is not found if result == false # If front tile is a counter if $game_map.counter?(new_x, new_y) # Calculate 1 tile inside coordinates new_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0) new_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0) # All event loops for event in $game_map.events.values # If event coordinates and triggers are consistent if event.x == new_x and event.y == new_y and triggers.include?(event.trigger) # If starting determinant is front event (other than jumping) if not event.jumping? and not event.over_trigger? event.start result = true end end end end end return result end #-------------------------------------------------------------------------- # * Touch Event Starting Determinant #-------------------------------------------------------------------------- def check_event_trigger_touch(x, y) result = false # If event is running if $game_system.map_interpreter.running? return result end # All event loops for event in $game_map.events.values # If event coordinates and triggers are consistent if event.x == x and event.y == y and [1,2].include?(event.trigger) # If starting determinant is front event (other than jumping) if not event.jumping? and not event.over_trigger? event.start result = true end end end return result end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Remember whether or not moving in local variables last_moving = moving? # If moving, event running, move route forcing, and message window # display are all not occurring unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if Impostazioni::CAMMINATA_8DIR != true # Move player in the direction the directional button is being pressed case Input.dir4 when 2 move_down when 4 move_left when 6 move_right when 8 move_up end else case Input.dir8 when 1 move_lower_left when 2 move_down when 3 move_lower_right when 4 move_left when 6 move_right when 7 move_upper_left when 8 move_up when 9 move_upper_right end end end # Remember coordinates in local variables last_real_x = @real_x last_real_y = @real_y super # If character moves down and is positioned lower than the center # of the screen if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y # Scroll map down $game_map.scroll_down(@real_y - last_real_y) end # If character moves left and is positioned more let on-screen than # center if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X # Scroll map left $game_map.scroll_left(last_real_x - @real_x) end # If character moves right and is positioned more right on-screen than # center if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X # Scroll map right $game_map.scroll_right(@real_x - last_real_x) end # If character moves up and is positioned higher than the center # of the screen if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y # Scroll map up $game_map.scroll_up(last_real_y - @real_y) end # If not moving unless moving? # If player was moving last time if last_moving # Event determinant is via touch of same position event result = check_event_trigger_here([1,2]) # If event which started does not exist if result == false # Disregard if debug mode is ON and ctrl key was pressed unless $DEBUG and Input.press?(Input::CTRL) # Encounter countdown if @encounter_count > 0 @encounter_count -= 1 end end end end # If C button was pressed if Input.trigger?(Input::C) # Same position and front event determinant check_event_trigger_here([0]) check_event_trigger_there([0,1,2]) end end end end ################################################################################ ################################################################FINE GAME_PLAYER #INIZIO GAME_CHARACTER3######################################################### ################################################################################ #============================================================================== # ** Game_Character (part 3) #------------------------------------------------------------------------------ # This class deals with characters. It's used as a superclass for the # Game_Player and Game_Event classes. #============================================================================== class Game_Character #-------------------------------------------------------------------------- # * 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 #-------------------------------------------------------------------------- # * Move Left # turn_enabled : a flag permits direction change on that spot #-------------------------------------------------------------------------- def move_left(turn_enabled = true) # Turn left if turn_enabled turn_left end # If passable if passable?(@x, @y, 4) # Turn left turn_left # Update coordinates @x -= 1 # Increase steps increase_steps # If impassable else # Determine if touch event is triggered check_event_trigger_touch(@x-1, @y) end end #-------------------------------------------------------------------------- # * Move Right # turn_enabled : a flag permits direction change on that spot #-------------------------------------------------------------------------- def move_right(turn_enabled = true) # Turn right if turn_enabled turn_right end # If passable if passable?(@x, @y, 6) # Turn right turn_right # Update coordinates @x += 1 # Increase steps increase_steps # If impassable else # Determine if touch event is triggered check_event_trigger_touch(@x+1, @y) end end #-------------------------------------------------------------------------- # * Move up # turn_enabled : a flag permits direction change on that spot #-------------------------------------------------------------------------- def move_up(turn_enabled = true) # Turn up if turn_enabled turn_up end # If passable if passable?(@x, @y, 8) # Turn up turn_up # 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 #-------------------------------------------------------------------------- # * 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 #-------------------------------------------------------------------------- # * Move at Random #-------------------------------------------------------------------------- def move_random case rand(4) when 0 # Move down move_down(false) when 1 # Move left move_left(false) when 2 # Move right move_right(false) when 3 # Move up move_up(false) end end #-------------------------------------------------------------------------- # * Move toward Player #-------------------------------------------------------------------------- def move_toward_player # Get difference in player coordinates sx = @x - $game_player.x sy = @y - $game_player.y # If coordinates are equal if sx == 0 and sy == 0 return end # Get absolute value of difference abs_sx = sx.abs abs_sy = sy.abs # If horizontal and vertical distances are equal if abs_sx == abs_sy # Increase one of them randomly by 1 rand(2) == 0 ? abs_sx += 1 : abs_sy += 1 end # If horizontal distance is longer if abs_sx > abs_sy # Move towards player, prioritize left and right directions sx > 0 ? move_left : move_right if not moving? and sy != 0 sy > 0 ? move_up : move_down end # If vertical distance is longer else # Move towards player, prioritize up and down directions sy > 0 ? move_up : move_down if not moving? and sx != 0 sx > 0 ? move_left : move_right end end end #-------------------------------------------------------------------------- # * Move away from Player #-------------------------------------------------------------------------- def move_away_from_player # Get difference in player coordinates sx = @x - $game_player.x sy = @y - $game_player.y # If coordinates are equal if sx == 0 and sy == 0 return end # Get absolute value of difference abs_sx = sx.abs abs_sy = sy.abs # If horizontal and vertical distances are equal if abs_sx == abs_sy # Increase one of them randomly by 1 rand(2) == 0 ? abs_sx += 1 : abs_sy += 1 end # If horizontal distance is longer if abs_sx > abs_sy # Move away from player, prioritize left and right directions sx > 0 ? move_right : move_left if not moving? and sy != 0 sy > 0 ? move_down : move_up end # If vertical distance is longer else # Move away from player, prioritize up and down directions sy > 0 ? move_down : move_up if not moving? and sx != 0 sx > 0 ? move_right : move_left end end end #-------------------------------------------------------------------------- # * 1 Step Forward #-------------------------------------------------------------------------- def move_forward case @direction when 2 move_down(false) when 4 move_left(false) when 6 move_right(false) when 8 move_up(false) end end #-------------------------------------------------------------------------- # * 1 Step Backward #-------------------------------------------------------------------------- def move_backward # Remember direction fix situation last_direction_fix = @direction_fix # Force directino fix @direction_fix = true # Branch by direction case @direction when 2 # Down move_up(false) when 4 # Left move_right(false) when 6 # Right move_left(false) when 8 # Up move_down(false) end # Return direction fix situation back to normal @direction_fix = last_direction_fix end #-------------------------------------------------------------------------- # * Jump # x_plus : x-coordinate plus value # y_plus : y-coordinate plus value #-------------------------------------------------------------------------- def jump(x_plus, y_plus) # If plus value is not (0,0) if x_plus != 0 or y_plus != 0 # If horizontal distnace is longer if x_plus.abs > y_plus.abs # Change direction to left or right x_plus < 0 ? turn_left : turn_right # If vertical distance is longer, or equal else # Change direction to up or down y_plus < 0 ? turn_up : turn_down end end # Calculate new coordinates new_x = @x + x_plus new_y = @y + y_plus # If plus value is (0,0) or jump destination is passable if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0) # Straighten position straighten # Update coordinates @x = new_x @y = new_y # Calculate distance distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round # Set jump count @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 # Clear stop count @stop_count = 0 end end #-------------------------------------------------------------------------- # * Turn Down #-------------------------------------------------------------------------- def turn_down unless @direction_fix @direction = 2 @stop_count = 0 end end #-------------------------------------------------------------------------- # * Turn Left #-------------------------------------------------------------------------- def turn_left unless @direction_fix @direction = 4 @stop_count = 0 end end #-------------------------------------------------------------------------- Autore: Lomax_Iced Pa, 08/06/2016 07:16 # * Turn Right #-------------------------------------------------------------------------- def turn_right unless @direction_fix @direction = 6 @stop_count = 0 end end #-------------------------------------------------------------------------- # * Turn Up #-------------------------------------------------------------------------- def turn_up unless @direction_fix @direction = 8 @stop_count = 0 end end #-------------------------------------------------------------------------- # * 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 #-------------------------------------------------------------------------- # * Turn 90° Right #-------------------------------------------------------------------------- def turn_right_90 case @direction when 2 turn_left when 4 turn_up when 6 turn_down when 8 turn_right end end #-------------------------------------------------------------------------- # * Turn 90° Left #-------------------------------------------------------------------------- def turn_left_90 case @direction when 2 turn_right when 4 turn_down when 6 turn_up when 8 turn_left end end #-------------------------------------------------------------------------- # * Turn 180° #-------------------------------------------------------------------------- def turn_180 case @direction when 2 turn_up when 4 turn_right when 6 turn_left when 8 turn_down end end #-------------------------------------------------------------------------- # * Turn 90° Right or Left #-------------------------------------------------------------------------- def turn_right_or_left_90 if rand(2) == 0 turn_right_90 else turn_left_90 end end #-------------------------------------------------------------------------- # * Turn at Random #-------------------------------------------------------------------------- def turn_random case rand(4) when 0 turn_up when 1 turn_right when 2 turn_left when 3 turn_down end end #-------------------------------------------------------------------------- # * Turn Towards Player #-------------------------------------------------------------------------- def turn_toward_player # Get difference in player coordinates sx = @x - $game_player.x sy = @y - $game_player.y # If coordinates are equal if sx == 0 and sy == 0 return end # If horizontal distance is longer if sx.abs > sy.abs # Turn to the right or left towards player sx > 0 ? turn_left : turn_right # If vertical distance is longer else # Turn up or down towards player sy > 0 ? turn_up : turn_down end end #-------------------------------------------------------------------------- # * Turn Away from Player Autore: Lomax_Iced Pa, 08/06/2016 07:16 #-------------------------------------------------------------------------- def turn_away_from_player # Get difference in player coordinates sx = @x - $game_player.x sy = @y - $game_player.y # If coordinates are equal if sx == 0 and sy == 0 return end # If horizontal distance is longer if sx.abs > sy.abs # Turn to the right or left away from player sx > 0 ? turn_right : turn_left # If vertical distance is longer else # Turn up or down away from player sy > 0 ? turn_down : turn_up end end end ################################################################################ ############################################################FINE GAME_CHARACTER3 ################################################################################ ########################################################## FINE SCRIPT ..per ora #Autore: Lomax_Iced #Pa, 08/06/2016 07:16Ovviamente è un argomento che desidero ampliare e forse questo script si arricchirà di nuove funzioni.
Un'idea bella potrebbe essere quella di utilizzare un unico charaset per tutti i movimenti sfruttando anche
i Bs. Ma questa è un'altra storia.. non ora (almeno io..)
Ad ogni modo spero che la risorsa vi sia utile, non ho riscontrato conflitti di alcun tipo e buona Giornata ;)
AH! Quasi dimenticavo!
Lo script sostituisce totalmente i vostri Sprite_Character, Game_Character3 e Game_Player, quindi per utilizzarlo correttamente
o li gelate, oppure li eliminate dall'editor, fate voi. ciao. -
Fatto :D
Sono riuscito anche a creare (modificando i parametri di default) i chara a più frame, la camminata a 8 direzioni con associate le immagini corrispondenti.
tutto questo senza utilizzare SDK o cose così complesse.
Mi sono divertito.. ho fatto il nerd per tre giorni (la mia ragazza mi ucciderà sicuramente poiché l'ho trascurata per finire questo tutorial)
E niente..
Che ne pensi Guardian, come ti sembra? :) -
Dunque So di essere in ritardo di qualche anno però ho delle novità al riguardo.
innanzitutto pensiamo al chara:
Ciò che hai è un charaset 9x8
basta che ci rechiamo in sprite_characters (nel nostro script editor)
e alla riga: 47 e 48 e togliamo i due 4 finali e a posto loro gli inseriamo: 9 e sotto 8
in questo modo avrai comunicato al programma di accettare chara aventi proporzione 9frame in larghezza (cw) e 8frame in altezza (ch)
bada che il parametro cw si riferisce al numero di frame e il parametro ch al numero di pose.
Adesso puoi provare quel chara e vedrai che non ti farà più quel brutto effetto in mappa.
solo che non lo potrai usare ancora in modo corretto perché (se non l'hai già fatto) dovrai andare in game player alla riga 214 e implementare queste modifiche:case Input.dir8 when 1 move_lower_left when 2 move_down when 3 move_lower_right when 4 move_left when 6 move_right when 7 move_upper_left when 8 move_up when 9 move_upper_right endcome hai modo di vedere abbiamo sbloccato la possibilità di farlo camminare anche in diagonale.
Ma ancora non è finita!
Questo perché le 8 direzioni non sono state associate alle 8 pose presenti nel tuo charaset.
Ed è proprio questo il dilemma che mi affligge da tre giorni.
E mi sto studiando vari script per cercare di rendere fattibile la cosa.
Questo perché voglio implementare una cosa del genere senza SDK o script esterni. Comunque se ho novità vi faccio sapere.
Quanto ho condiviso è comunque utile per chi volesse usare charaset a più frame (cw)
oppure per chi volesse approfondire l'argomento. CIao :)

Tutorial: Tecniche per disegnare da 0 Faces in qualsiasi visuale
in Guide alla Grafica
Posted · Edited by Lomax_Iced
Lo so esistono i generatori di personaggi e... lo so esiste quello per MV che è molto figo e immediato. PERO'!
Chi li usa è comunque limitato ad accettare o solo pose frontali (per RPG Maker XP o VX ecc) oppure solo pose di 3/4
(per RPG Maker MV).
Certuni ruotano in orizzontale per creare lo speculare dell'immagine e si fanno bastare questo.
Altri più bravini modificano le espressioni ma è inutile sfuggire al vincolo delle pose.
E c'è da dire pure che non esistono (almeno) pose diverse per lo stesso personaggio, visto in visuali differenti.
Inerente sempre il comparto faces. Forse c'è qualcosa a pagamento ma dovete per forza spendere o per applicare un acquisto su steam o per chiedere a qualche disegnatore bravo.
Ma se non volete spendere e avete la passione di imparare a fare le cose da soli (come me) studiamoci insieme la cosa e cerchiamo di trovare delle soluzioni semplici ma efficaci per risolvere il problema.
PRIMO STEP:
La prima difficoltà che mi viene in mente guardando un Faces (di 001-Figther01 di RPGXP) è la sua complessità in pixel.
Ma la confusione nasce perché guardo il soggetto nel suo insieme. Quindi una soluzione può essere quella di suddividere la sua complessità in più elementi dalle figure più elementari.
A questo punto scopro che la geometria infantile aiuta molto. Vi faccio un esempio, per il momento tengo una bottiglia d'acqua vera sulla scrivania postami di fronte. se penso al suo insieme ha una forma irregolare e complessa ma se la suddivido in più forme basilari, mi diventa: (parto dall'alto verso il basso)
un rettangolino/il tappo; un altro rettangolino/il collo; un ovale/la sezione alta della bottiglia; in rettangolo coricato/bacino; un rettangolo/sezione bassa della bottiglia.
Fatta questa bozza, provo a definire i dettagli sezione dopo sezione e così inizio a capire come si disegna quella bottiglia posta in quella visuale prospettica. Pertanto stessa cosa risulterà con i faces.
SECONDO STEP:
Quindi dopo aver preso dimestichezza con questa nuova visione delle cose provo ad applicare questa cosa sul face identificando la figura geometrica madre ovvero quella che coordina tutto. In questo caso voglio iniziare a creare una visuale frontale, quindi applicherò di volta in volta le regole matematiche che serviranno per proporzionare tutto il disegno e rendere un reso ottimale, utile al raggiungimento dello scopo.
TERZO STEP:
POSA FRONTALE FACE
1.Individuiamo la figura maestra:
http://i65.tinypic.com/34dln3n.jpg
Si tratta di una testa, quindi partire da un cerchio penso sia la soluzione più ovvia.
2.Individuiamo il punto che rappresenterà il mento del personaggio.
E' importante questo passaggio per costruire in seguito la Mascella del nostro face.
Per farlo dovrete fendere la vostra figura a metà tracciando una linea verticale, dopo prolungatela ancora verso il basso, non importa che vada oltre la figura, anzi è importante che tale retta (è importante che sia una retta) intersechi il cerchio
Una volta disegnata questa retta al pedice della stessa si traccia un piccolo trattino orizzontale. Beh, quello sarà il nostro mento. Il risultato sarà più o meno così:
http://i65.tinypic.com/2vad1rd.png
3. Adesso dobbiamo impostare la LINEA degli OCCHI ovviamente utilissima. Per farlo occorrerà tracciare un'altra retta
ma questa volta orizzontale, appena sotto alla metà del cerchio, badate però che questo sarà un segmento interno alla circonferenza e deve essere impostato in modo che tale formi con intersezione fra la retta verticale una croce dentro la figura geometrica.
Accorgimento importante: Tale asse deve essere si più basso della metà del cerchio, però non deve essere troppo basso. Quindi lievemente sotto. Ecco un esempio:
http://i64.tinypic.com/309u2l2.jpg
4. Definiamo la Mascella:
Adesso abbiamo gli elementi necessari per farlo. Mi raccomando non cancellate nulla, perché ogni tratto per il momento è importante. Per definire la mascella occorrerà congiungere i quattro estremi (i due del mento e i due della linea degli occhi con due linee speculari ondulate ma non troppo. E procediamo prima da un lato:
http://i66.tinypic.com/295y8ed.jpg
e poi dall'altro:
http://i63.tinypic.com/2dtt3io.jpg
State attenti però. Quando definite la mascella da un lato solo e state costruendo il face in visuale frontale o retro, tale forma non è un prospetto corretto di visuale laterale. Quindi non pensate che lo sia perché sbagliereste totalmente tutte le proporzioni. Quindi continuate a procedere per gradi, per ora stiamo costruendo il frontale.
E mi pare che già abbiamo le nostre prime parvenze. Ma non abbiamo finito.
5. LINEA del NASO:
Serve a capire la lunghezza massima del naso e per regola è definito da quel segmento che si forma fra il punto di intersezione fra l'Asse verticale e la linea degli occhi e l'intersezione che sempre l'asse verticale fa con la circonferenza inferiore del cerchio, questo genera il segmento compreso fra questi due punti.
Ora capito questo occorre tracciare una retta che fa da tangente alla circonferenza e passa per quel punto di intersezione che l'asse verticale genera con il polo sud del cerchio. ve lo mostro in figura:
http://i67.tinypic.com/205p5l.jpg
Questo trapezio che si forma grazie alla base maggiore rappresentata dalla linea degli occhi e alla base minore rappresentata dalla linea del naso, i due segmenti laterali di tale figura (non è proprio un trapezio ma gli somiglia)
in quella sezione estrema vi verranno impostate le orecchie. Vediamolo in figura:
http://i67.tinypic.com/jtxxcz.png
7. LINEA della BOCCA:
Ora fra il mento e la linea del naso, occorrerà tracciare un ulteriore segmento che fenderà la mascella in due parti.
Quest'ultima retta non dovrà uscire dalla figura. una volta disegnata avremo creato il perimetro proporzionale e corretto del nostro face. Ovvero lo schema che ci aiuterà a scendere più nei particolari per collocare in maniera precisa i tre apparati (ottico, olfattivo e mandibolare). Inseriamo la linea della bocca e vediamo il reso momentaneo:
http://i67.tinypic.com/k1q3ao.png
8. Dopo aver impostato la LINEA della BOCCA, ho tirato giù altre due linee verticali leggermente tondeggianti e poi le ho congiunte con un segmento retto. Mi sono ricavato il collo come potete vedere.
Il collo è un elemento importantissimo e successivamente vedremo perché, ma non ora.
9. ANTICA TECNICA SEGRETA DEI CINQUE CERCHI:
Semplice tracciate 5 cerchi uguali tra loro sopra la LINEA degli OCCHI. così:
http://i63.tinypic.com/hrj5er.png
I due cerchietti di diverso colore rappresentano le zone limite entro il quale possiamo disegnare i nostri occhi in maniera proporzionata. Non importa in quale fantasia, grossi, piccoli, realistici, manga, non importa. Quello che importa è che lì ci vanno loro e oltre no. Quello è il loro corretto alloggiamento.
Ora prendiamo in considerazione il cerchietto centrale..
10. Definiamo la LARGHEZZA del NASO:
Se prima abbiamo determinato la lunghezza adesso per impostare la larghezza massima ci occorrerà discendere due rette speculari tra loro che partono dagli estremi esterni del cerchietto centrale e terminano sulla LINEA del NASO.
Così:
http://i68.tinypic.com/2cdz6nk.png
11. Definiamo la LARGHEZZA della BOCCA:
Ora dobbiamo definire tal cosa le linee perpendicolari partiranno dalla base centrale dei due cerchi corrispettivi alla zona occhi e termineranno sulla LINEA della BOCCA, in questo modo:
http://i64.tinypic.com/200ahjr.png
In questo modo abbiamo finito di realizzare il template della posa frontale del manichino che ci servirà per realizzare tutti i nostri personaggi in questa posa specifica. Domani, ora ho sonno continuerò il tutorial mostrando tutte le altre pose. Io ne ho disegnate diciotto con i relativi schemi. Questo era un assaggio.
Ora vi mostro cosa si può fare utilizzando questo schema o meglio ora vi mostro le mie esercitazioni, sono sicuro che voi riuscirete senz'altro a fare di meglio :)
http://i68.tinypic.com/egx0cz.png
POSA FRONTALE FACE CON LA TESTA INCLINATA DI LATO
Adesso vedremo meglio cosa significa seguire questo tutorial, anche perché
vedremo le varianti della posa frontale.
Io lo chiamo EFFETTO COMBATTENTE. Avete presente Dragon Ball, quando Goku prima
di un incontro si scrocchia i muscoli del collo? Perfetto andremo a realizzare
quel tipo di effetto di visuale lì, ovviamente in contesto frontale.
Ecco e adesso posso approfondire meglio il concetto che "definire il collo" è un
elemento importante, perché esso indica il movimento che assumerà la testa. In
questo caso quando noi incliniamo la testa o verso sinistra o verso destra,
possiamo notare che una parte di esso assume un'inclinazione ottusa, il suo lato
speculare il suo opposto ossia un'inclinazione acuta. Quindi frontalmente
parlando, immagine bidimensionale, in un lato il muscolo è contratto, quindi
piegato e dall'altro il muscolo sarà disteso, quindi allungato.
Tutto questo lo vedremo a breve. Prima ci occorrerà ricostituire un nuovo
schema, seguendo le tracce guida giuste.
Ma il procedimento è sempre lo stesso, pertanto:
1.Individuazione della Figura Geometrica Maestra:
http://i65.tinypic.com/34dln3n.jpg
2.Andiamo ad impostare il Mento:
http://i66.tinypic.com/ocjg4.png
Notate come cambia l'Asse verticale?
Questo perché ho deciso, in questo caso, di illustrare una testa inclinata verso
sinistra.
Quindi basta già questo per dare l'idea. ma continuiamo..
3.Collochiamo la LINEA degli OCCHI:
http://i66.tinypic.com/2a6ux4g.jpg
4. Definiamo la Mascella:
http://i63.tinypic.com/16jlumq.jpg
5.Impostiamo la LINEA del NASO:
http://i64.tinypic.com/vg69s7.jpg
6.Collochiamo le orecchie:
http://i66.tinypic.com/29o3h9i.jpg
7.Impostiamo la LINEA della BOCCA:
http://i65.tinypic.com/fw7ksp.jpg
E finalmente siamo giunti a disegnare il Collo. Nel punto otto vedremo come
disegnarlo in maniera precisa
perché ripeto è lui che conferisce identità alla posa. Vediamo un po perché:
8.Collo:
http://i65.tinypic.com/2prutkm.png
Eccolo qui.
Come vedete le linee non sono messe a caso. Fungono da guida per delineare il
verso dell'inclinazione.
Ora io dico verso sinistra perché è posto di fronte a me, però il tipino in
realtà inclina la testa verso destra.
Però in visuale frontale seguiamo questa impostazione e diciamo che il lato che
per noi osservatori è sinistro
(per lui il destro) è contratto, quindi assume quella piega (cardine di tutta la
posa) l'altro lato è disteso perché accompagna il movimento, l'inclinazione.
Benissimo, ora andiamo veloci, proseguiamo per..
9.Applicare la tecnica dei 5 Cerchi:
http://i64.tinypic.com/30be9sj.png
10.LARGHEZZA del NASO:
http://i65.tinypic.com/msoodv.png
11.LARGHEZZA della BOCCA:
http://i66.tinypic.com/vew6kj.png
Ed ecco finito anche questo schema.
Per ricavarci l'altro lato occorrerà ruotare orizzontalmente e ottenere il suo speculare:
http://i67.tinypic.com/2r5rbmf.png
E abbiamo concluso con questa posa, anzi ce ne siamo ricavate due :)
poi ovvio va definita con tutte le dovute caratterizzazioni.
Che si.. ho proprio intenzione di spiegare poco alla volta ma svelerò molta roba che ho compreso durante i miei studi e pastrocchi.
POSA FRONTALE FACE IN VISIONE DAL BASSO
Immaginiamoci di essere dei cameraman o dei fotografi e stiamo filmando il viso di una bella modella o modello e siamo in proiezione noi bassi rispetto alla modella in piedi in posa e quindi stiamo proiettando l'obbiettivo della nostra camera in visione dal basso verso l'alto. E quindi in proiezione abbiamo si un frontale del suo viso però in un contesto prospettico differente. Vediamo come rendere effettiva tal cosa in un disegno. Definiamone lo schema:
1.Figura Maestra:
http://i65.tinypic.com/34dln3n.jpg
2.Mento
http://i68.tinypic.com/dsaxd.png
Fino a qui come per il frontale semplice.
3.Linea degli Occhi
http://i63.tinypic.com/2aoy8i.png
Linea degli occhi.. cambia qualcosa e vedremo perché anche se è intuibile.
Perché arcarla? Risposta: Per conferire il verso al viso.
Non avremo più una sorta di bidimensionalità nello spazio. Stiamo disegnando un tizio che si è alzato la testa.
Quindi ha piegato leggermente il collo all'indietro e ci sta guardando dall'alto verso il basso e noi abbiamo modo di osservarlo
dal basso verso l'alto rispetto alla sua linea visiva.
Per capire il concetto immaginiamoci una scena. Si è davanti una discoteca tutti intillichiati e vorremmo entrare. Le ragazze davanti a noi passano e noi ci accingiamo. Ma ad un tratto! La manona del buttafuori ci blocca noi alziamo lo sguardo e vediamo questo energumeno in maglietta scura, un armadio di spalle che ci guarda dall'alto verso il basso con aria gelida e imponente e noi piccoli lo guardiamo dal basso verso l'alto intimoriti...
Ecco per disegnare il volto di questo personaggio in questa posizione della testa occorre costituire lo schema che andremo ad assemblare con l'ausilio dei passaggi successivi.
4.Mascella 1d2
http://i68.tinypic.com/2mrwhnm.png
Ho suddiviso la costruzione del modello di mascella per questa posa in due parti, perché occorre intanto dare un identità alla posa.
Se noi proviamo ad immaginarla senza l'arcata inferiore della figura maestra notiamo che già così avremo la parvenza del perimetro del volto che vogliamo rappresentare in questa posa.
4.Mascella 2d2
http://i68.tinypic.com/6p2gs1.png
Il di più sta qui sotto. Questo pezzettino corrisponde alla nostra parte inferiore del mento.
Se in visione frontale semplice non abbiamo modo di vederlo perché la posizione della testa in quella posa non lo permette.
Qui invece, permettendo al personaggio di flettere nel possibile il collo indietro si alza la mascella e quindi scopre questa parte che ora ci risulterà visibile.
5.Linea del Naso
http://i64.tinypic.com/169pbgz.jpg
Per il naso risulterà la stessa cosa ma questo potremo vedere qualche punto più avanti, quando costituiremo la larghezza e la sua punta. Al momento vi basti sapere che anche questa linea dovrà arcarsi per seguire la fisionomia di questo schema prospettico.
6.Orecchie
http://i66.tinypic.com/ing7jt.jpg
Portando la testa indietro, il nostro personaggio anche la parte superiore delle orecchie all'indietro e quindi tale parte non ci risulterà visibile. Avremo invece visibili i lobi inferiori, il Traco e parte dell'edice e l'anti traco o l'anti edice ma proporzionalmente più piccoli rispetto ad una posa frontale classica. (Ora ho un lapsus non ricordo se si dice "Edice" e "antiedice" in caso correggetemi se sbaglio)
Comunque dell'orecchio ho intenzione di realizzare un tutorial specifico così come naso, bocca, occhi, collo, capelli.
Al momento stoppiamo qui la questione. Continuiamo a definire la..
7.Linea della bocca
http://i64.tinypic.com/2h3c6e8.png
Ora abbiamo finito con la costruzione del nostro schema.
Abbiamo il nostro foglio, immaginate questa figura come se lo sia
Nei punti successivi andremo ad effettuare dei calcoli su di esso, per ricavarci la corretta posizione degli occhi, naso e bocca.
8.regola dei 5 cerchi (zona occhi)
http://i68.tinypic.com/rk1ovq.png
Come vedete ho predisposto i cerchi sulla linea che ho tracciato in precedenza. Siccome è curva, anche i cerchi
(che ricordo devono essere di dimensioni uguali tra loro) li ho predisposti su di essa, seguendo l'iter.
Si parte sempre impostando il centrale (quello che in figura sembra una sorta di mirino).
Poi ai lati, i due cerchi adiacenti ad esso, corrisponderanno alle due zone che ospiteranno tutto ciò che è inerente gli occhi.
palpebre, ciglia, iridi, punti luce, qualche rughetta per dare più .. oppure no. Comunque tutte queste cose vanno (e non oltre)
dentro quella zona contrassegnata.
Il cerchio centrale invece corrisponde all'arcata sopraciliare ovvero la parte che crea delle rughette quando crucciate la fronte
tipo in segno di disapprovazione. Comunque è la zona da cui partono le sopracciglia e si estendono poco sopra l'area degli occhi
e andando di pochissimo oltre dall'altra parte.
Poi vedremo meglio questa cosa nel dettaglio e analizzeremo i diversi stili e le diversificazioni fra ciglia femminili e maschili, per bambini, adulti, vecchi, nei diversi comparti stilistici (prettamente manga)
9.Larghezza del Naso e punta del naso dato che l guarderemo dal basso verso l'alto.
http://i63.tinypic.com/2guccg5.png
Ed eccoci qua. Finalmente ne possiamo parlare. Perché punta del naso?
Per lo stesso discorso del sotto mento. Ricordiamoci che sono tutti elementi dello stesso volto.
Quindi se si inclina, la regola è valida anche per lui. Avremo modo di vedere le narici
10.Larghezza della bocca
http://i64.tinypic.com/kcbcpl.png
Appena sotto le narici, fine attaccatura del naso, se noi passiamo un dito in questa zona, notiamo un archetto
che in anatomia viene definito "arco di cupido". ha la funzione di congiungere naso con bocca e da il verso della forma alla bocca.
Detto ciò, abbiamo finito. Ora vi mostro una mia esercitazione a riguardo.
http://i64.tinypic.com/wh1rah.png
Ovviamente in fase di caratterizzazione si possono applicare delle modifiche in modo da rendere la fisionomia del personaggio diversa rispetto al comparto standard, con dei tratti somatici specifici. non so se ho reso l'idea. Mancano i capelli è vero ma al momento non intendo farli perché anche per i capelli ci sono delle tecniche e delle regole da tenere in considerazione.
Pensate che i capelli di Goku terzo livello sono fatti a casaccio??
Vi sbagliate :) E' tutto un discorso di rose. Poi vi spiegherò che significa nel tutorial apposito.
Quel segno grigio sotto al naso del face colorato è l'arco di cupido che ho dimenticato di caratterizzare o eliminare.
La testa risulta schiacciata perché in prospettiva la dovremmo vedere così. Quella parte rappresenterebbe la fronte.
Lui è al momento senza capelli e stona ma con i capelli l'inquadratura rende. Quindi la linea che vedete di terminazione della testa
in realtà coincide con l'attaccatura dei capelli alla cute.
Non posso disegnare i capelli a boffa senza spiegarvi nulla altrimenti non è più un tutorial ma una vetrina dei miei lavori e già possiedo un topic dedicato a ciò. I resi finali penso che li pubblicherò là. Per ora mi sto concentrando nello spiegare le tecniche e fissarle bene. Raga se ho imparato io che non ne sapevo un H. davvero non è difficile.
P.s: Guardian lo so che vuoi i 3/4 e avrai i 3/4 ma ho un iter da seguire :) non mettermi fretta xD arriverà il 3/4 con tutte le varianti.
inclinazione della testa, poi se in concomitanza gli si aggiungono delle espressioni appropriate adevoglia di faces espressivi che ne escono :)
Quindi ricapitolando finirò le pose del viso, poi passerò a spiegare Occhi, Naso, Orecchie, Bocca e Capelli e collo.
Espressioni del volto, almeno le più classiche utilizzate. Pausa di riflessione per io imparare il corpo e le animazioni dello stesso e poi seconda manche di tutorial inerenti corpo, corporature, pose del corpo, vestizione, e cos'altro.? bu .. ah ovviamente da qualche parte gli inserirò tecniche sulla colorazione e ombreggiatura e luce. (noi che disegniamo in digitale siamo più avvantaggiati perché non abbiamo da comprare i copic xD)
Comunque, fatemi sapere anche qui che ne pensate :)
POSA FRONTALE FACE IN VISIONE DALL'ALTO
-tutorial in costruzione-