Partagez
Aller en bas
Misterlyss
Misterlyss
Membre

Nombre de messages : 38
Distinction : aucune
Date d'inscription : 29/04/2016

Résolu [Résolu] Effet Nuage

le Ven 23 Sep 2016 - 2:27
Salut !
J'aurai juste une petite demande je suis a la recherche d'un effet de nuage pour pour donner plus de vie a mes map . Pour être exact je recherche comment faire les ombres des nuages qui se déplacerait au dessus de la map pour donner une impression de carte plus vivante.
Je sais pas si c'est bien clair ^^'


Dernière édition par Misterlyss le Lun 26 Sep 2016 - 20:24, édité 2 fois
DragonFly
DragonFly
Membre

Nombre de messages : 513
Age : 18
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Résolu Re: [Résolu] Effet Nuage

le Ven 23 Sep 2016 - 8:20
Bon je sais pas si ça peux t'aider, je viens de le prendre et je l'ai pas encore utiliser moi même.

Pour le sprite des nuages, tu le cree toi même, moi j'ai fais un truc rapide sous photoshop. Voilà le sprite a placer dans le dossier picture.
cloud:
[Résolu] Effet Nuage Rain11

Pour le script:
Script de Woratana je crois:
#===============================================================
# ● [VX] ◦ Multiple Fogs ◦ □
# * Use unlimited layers of fog *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 13/05/2008
# ◦ Version: 1.0
# ◦ ported to VX Ace by Necromus 17/03/2012
#--------------------------------------------------------------
#==================================================================
# ** HOW TO USE **
# * use event command 'Script...' for the any script line below~
#-----------------------------------------------------------------
#
#---------------------------------------------------------------
# ** SETUP FOG PROPERTIES & SHOW FOG **
# * You have to setup fog properties, before show fog~
#-------------------------------------------------------------
# * There are 3 ways to setup fog properties:
# >> Setup Fog [Custom]:
# $fog.name = 'image_name' # Image file name, must be in fog image path (setup path below).
# $fog.hue = (integer) # Fog's hue. 0 - 360, 0 for no hue.
# $fog.tone = [red, green, blue, gray] # Fog's tone color.
# $fog.opacity = (integer) # Fog's opacity. 0 - 255, you will not see fog in 0.
# $fog.blend = (0, 1, or 2) # Fog's blend type. 0 for Normal, 1 for Add, 2 for Subtract.
# $fog.zoom = (integer) # Fog's size (in %). 100 for normal size.
# $fog.sx = (+ or - integer) # Fog's horizontal move speed.
# $fog.sy = (+ or - integer) # Fog's vertical move speed.
#
# >> Setup Fog [From Preset]:
# (You can setup fog presets, in part FOG PRESET SETUP below)
# $fog.load_preset(preset_id)
#
# >> Setup Fog [From Fog that showing]:
# $fog.load_fog(fog_id)
#
#--------------------------------------------------------------
# ** SHOW FOG **
#-------------------------------------------------------------
# After setup the fog, show fog by call script:
# $fog.show(fog_id)
#
# In case you want to show new fog on same ox, oy, tone as old fog. Call Script:
# $fog.show(old_fog_id, false)
#
# * fog_id: the ID number you want to put this fog in.
# (It can be any positive number or zero)
#
# After you show fog, the fog properties you've set will replace with default setting.
# (You can setup default setting, in part FOG DEFAULT SETTING below)
#
#--------------------------------------------------------------
# ** DELETE FOG **
#-------------------------------------------------------------
# You can delete 1 or more fog(s) at a time by call script:
# $fog.delete(fog_id, fog_id, fog_id, ...)
#
#---------------------------------------------------------------
# ** OLD FOG CONTROL EVENT COMMANDS **
#-------------------------------------------------------------
# Change Fog Tone:
# $game_map.fogtone(fog_id, [red, green, blue, gray], duration)
# e.g. $game_map.fogtone(1, [100,200,-100,0], 10)
# Change Fog Opacity:
# $game_map.fogopac(fog_id, new_opacity, duration)
# e.g. $game_map.fogopac(2, 200, 10)
#
#---------------------------------------------------------------
# ** ADDITIONAL SETTINGS **
#-------------------------------------------------------------
# Change Fog Image's Path:
# $game_map.fog_path = 'image_path'
# e.g. $game_map.fog_path = 'Graphics/Pictures/'
# Turn ON/OFF [Automatically clear all fogs when transfer player]:
# $game_map.fog_reset = (true / false)
#
#===============================================================
#==================================================================
# START ** MULTIPLE FOG SETUP **
#==================================================================
class Game_Map
alias wora_mulfog_gammap_ini initialize
def initialize
   wora_mulfog_gammap_ini

   #==================================================================
   # ** MULTIPLE FOG SETUP ** SETTINGS
   #--------------------------------------------------------------
   @fog_path = 'Graphics/Pictures/'
   # Fog image's path
   @fog_reset = true # (true or false)
   # Automatically clear all multiple fogs when transfer player
   #==================================================================

   @mulfog_name = []
   @mulfog_hue = []
   @mulfog_opacity = []
   @mulfog_blend_type = []
   @mulfog_zoom = []
   @mulfog_sx = []
   @mulfog_sy = []
   @mulfog_ox = []
   @mulfog_oy = []
   @mulfog_tone = []
   @mulfog_tone_target = []
   @mulfog_tone_duration = []
   @mulfog_opacity_duration = []
   @mulfog_opacity_target = []
end
end
class Wora_Multiple_Fog
def set_default
   #==================================================================
   # ** MULTIPLE FOG SETUP ** FOG DEFAULT SETTING
   #--------------------------------------------------------------
   @name = ''
   @hue = 0
   @opacity = 64
   @blend = 0
   @zoom = 200
   @sx = 0
   @sy = 0
   @tone = [0,0,0,0]
   #==================================================================
end

def load_preset(preset_id)
   case preset_id
#==================================================================
# ** MULTIPLE FOG SETUP ** FOG PRESET SETUP
#--------------------------------------------------------------
   when 1 # Preset ID 1
    @name = 'Cloud3'
    @hue = 0
    @tone = [0,0,20,0]
    @opacity = 100
    @blend = 0
    @zoom = 150
    @sx = 3
    @sy = 3
   when 2 # Preset ID 2
    @name = '002-Clouds01'
    @hue = 0
    @tone = [0,0,0,0]
    @opacity = 200
    @blend = 1
    @zoom = 200
    @sx = -2
    @sy = -2
   #==================================================================
end
end
#==================================================================
# END ** MULTIPLE FOG SETUP **
# * Don't change anything below unless you know what you're doing.
#==================================================================
attr_accessor :name, :hue, :opacity, :blend, :zoom, :sx, :sy, :tone
def initialize
   set_default
end

def load_fog(id)
   @name = $game_map.mulfog_name[id].sub($game_map.fog_path, '')
   @hue = $game_map.mulfog_hue[id]
   @opacity = $game_map.mulfog_opacity[id]
   @blend = $game_map.mulfog_blend_type[id]
   @zoom = $game_map.mulfog_zoom[id]
   @sx = $game_map.mulfog_sx[id]
   @sy = $game_map.mulfog_sy[id]
   tn = $game_map.mulfog_tone[id]
   @tone = [tn.red, tn.blue, tn.green, tn.gray]
end
def show(id, reset_all = true)
   $game_map.mulfog_name[id] = $game_map.fog_path + @name
   $game_map.mulfog_hue[id] = @hue
   $game_map.mulfog_opacity[id] = @opacity
   $game_map.mulfog_blend_type[id] = @blend
   $game_map.mulfog_zoom[id] = @zoom
   $game_map.mulfog_sx[id] = @sx
   $game_map.mulfog_sy[id] = @sy
   $game_map.mulfog_tone[id] = Tone.new(@tone[0], @tone[1], @tone[2], @tone[3])
   if $game_map.mulfog_ox[id].nil? or reset_all
    $game_map.mulfog_ox[id] = 0
    $game_map.mulfog_oy[id] = 0
    $game_map.mulfog_tone_target[id] = Tone.new(0, 0, 0, 0)
    $game_map.mulfog_tone_duration[id] = 0
    $game_map.mulfog_opacity_duration[id] = 0
    $game_map.mulfog_opacity_target[id] = 0
   end
   set_default
end

def delete(*args)
   args.each do |id|
    $game_map.mulfog_name[id] = ''
   end
end
end
class Game_Interpreter
alias wora_mulfog_interpret_com201 command_201
#--------------------------------------------------------------------------
# * Transfer Player
#--------------------------------------------------------------------------
def command_201
   if $game_map.fog_reset
    if @params[0] == 0; id_map = @params[1]
    else; id_map = $game_variables[@params[1]]
    end
    $game_map.clear_mulfog if id_map != @map_id
   end
   wora_mulfog_interpret_com201
end
end
class Game_Map
attr_accessor :mulfog_name, :mulfog_hue, :mulfog_opacity, :mulfog_blend_type,
:mulfog_zoom, :mulfog_sx, :mulfog_sy, :mulfog_ox, :mulfog_oy, :mulfog_tone,
:mulfog_tone_target, :mulfog_tone_duration, :mulfog_opacity_duration,
:mulfog_opacity_target, :fog_reset, :fog_path
alias wora_mulfog_gammap_upd update
def update(main)
   wora_mulfog_gammap_upd(main)
   @mulfog_name.each_index do |i|
    next if @mulfog_name[i].nil? or @mulfog_name[i] == ''
    # Manage fog scrolling
    @mulfog_ox[i] -= @mulfog_sx[i] / 8.0
    @mulfog_oy[i] -= @mulfog_sy[i] / 8.0
    # Manage change in fog color tone
    if @mulfog_tone_duration[i] >= 1
       d = @mulfog_tone_duration[i]
       target = @mulfog_tone_target[i]
       @mulfog_tone[i].red = (@mulfog_tone[i].red * (d - 1) + target.red) / d
       @mulfog_tone[i].green = (@mulfog_tone[i].green * (d - 1) + target.green) / d
       @mulfog_tone[i].blue = (@mulfog_tone[i].blue * (d - 1) + target.blue) / d
       @mulfog_tone[i].gray = (@mulfog_tone[i].gray * (d - 1) + target.gray) / d
       @mulfog_tone_duration[i] -= 1
    end
    # Manage change in fog opacity level
    if @mulfog_opacity_duration[i] >= 1
       d = @mulfog_opacity_duration[i]
       @mulfog_opacity[i] = (@mulfog_opacity[i] * (d - 1) + @mulfog_opacity_target[i]) / d
       @mulfog_opacity_duration[i] -= 1
    end
   end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Color Tone
#--------------------------------------------------------------------------
def fogtone(i, tone, duration)
   duration = duration * 2
   tone = Tone.new(tone[0], tone[1], tone[2], tone[3])
   @mulfog_tone_target[i] = tone.clone
   @mulfog_tone_duration[i] = duration
   if @mulfog_tone_duration[i] == 0
    @mulfog_tone[i] = @mulfog_tone_target[i].clone
   end
end
#--------------------------------------------------------------------------
# * Start Changing Fog Opacity Level
#--------------------------------------------------------------------------
def fogopac(i, opacity, duration)
   duration = duration * 2
   @mulfog_opacity_target[i] = opacity * 1.0
   @mulfog_opacity_duration[i] = duration
   if @mulfog_opacity_duration[i] == 0
    @mulfog_opacity[i] = @mulfog_opacity_target[i]
   end
end

def clear_mulfog
   @mulfog_name.each_index {|i| @mulfog_name[i] = '' }
end
end
$worale = {} if !$worale
$worale['MutipleFog'] = true
$fog = Wora_Multiple_Fog.new
class Spriteset_Map
alias wora_mulfog_sprmap_crepal create_parallax
alias wora_mulfog_sprmap_updpal update_parallax
alias wora_mulfog_sprmap_dispal dispose_parallax

def create_parallax
   @mulfog = []
   @mulfog_name = []
   @mulfog_hue = []
   wora_mulfog_sprmap_crepal
end

def update_parallax
    wora_mulfog_sprmap_updpal
   $game_map.mulfog_name.each_index do |i|
    next if $game_map.mulfog_name[i].nil?
    # If fog is different than current fog
    if @mulfog_name[i] != $game_map.mulfog_name[i] or @mulfog_hue[i] != $game_map.mulfog_hue[i]
       @mulfog_name[i] = $game_map.mulfog_name[i]
       @mulfog_hue[i] = $game_map.mulfog_hue[i]
       if @mulfog[i].nil?
        @mulfog[i] = Plane.new(@viewport3)
        @mulfog[i].z = 3000
       end
       if @mulfog[i].bitmap != nil
        @mulfog[i].bitmap.dispose
        @mulfog[i].bitmap = nil
       end
       if @mulfog_name[i] != ''
        @mulfog[i].bitmap = Cache.load_bitmap('', @mulfog_name[i], @mulfog_hue[i])
       end
       Graphics.frame_reset
    end
    next if @mulfog[i].bitmap.nil?
    # Update fog plane
    @mulfog[i].zoom_x = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_x != ($game_map.mulfog_zoom[i] / 100.0)
    @mulfog[i].zoom_y = ($game_map.mulfog_zoom[i] / 100.0) if @mulfog[i].zoom_y != ($game_map.mulfog_zoom[i] / 100.0)
    @mulfog[i].opacity = $game_map.mulfog_opacity[i] if @mulfog[i].opacity != $game_map.mulfog_opacity[i]
    @mulfog[i].blend_type = $game_map.mulfog_blend_type[i] if @mulfog[i].blend_type != $game_map.mulfog_blend_type[i]
    @mulfog[i].ox = $game_map.mulfog_ox[i] + $game_map.display_x * 32 if @mulfog[i].ox != $game_map.mulfog_ox[i] + $game_map.display_x * 32
    @mulfog[i].oy = $game_map.mulfog_oy[i] + $game_map.display_y * 32 if @mulfog[i].oy != $game_map.mulfog_oy[i] + $game_map.display_y * 32
    @mulfog[i].tone = $game_map.mulfog_tone[i] if @mulfog[i].tone != $game_map.mulfog_tone[i]
   end
end

def dispose_parallax
   @mulfog.each_index do |i|
    next if @mulfog[i].nil?
    @mulfog[i].bitmap.dispose if !@mulfog[i].bitmap.nil?
    @mulfog[i].dispose
   end
   wora_mulfog_sprmap_dispal
end
end
#==================================================================
# [END] VX Multiple Fog by Woratana [woratana@hotmail.com]
#==================================================================

Il y a déjà les configurations pour des nuages dans le script, en exemple. Pour l'utiliser, tu fais appel un script dans un event en mettant ceci a l'intérieur.
Commande(exemple):
$fog.name = 'cloud'
$fog.hue = 0
$fog.tone = [0,0,20,0]
$fog.opacity = 100
$fog.blend = 0
$fog.zoom = 200
$fog.sx = -2
$fog.sy = -2

$fog.show(1)


Après tu fais "effacer l'évènement" juste en dessous dans l'évènement ou tu a fais l'appel de script. En processus parallèle.

"Cloud" c'est le nom du sprite qui doit être dans le dossier Picture.
Bon voilà, j'ai juste fais un truc rapide, comme j'ai dis j'ai pas encore essayer ce script, alors t'étonne pas que les nuages soient un peu décaler, tu dois faire les ombres toi même Smile
Misterlyss
Misterlyss
Membre

Nombre de messages : 38
Distinction : aucune
Date d'inscription : 29/04/2016

Résolu Re: [Résolu] Effet Nuage

le Sam 24 Sep 2016 - 2:15
Sa donne plutot un effet de brouillard la ^^ mais je m'en servirai pour autre chose merci dragonfly ! ^^ Je vais continuer a chercher voir ce que je pe faire ^^
Hinola
Hinola
Modérateur

Nombre de messages : 969
Age : 26
Distinction : Gagnant invaincu à ce jour de tous les concours de mapping de ce forum fait par Coco'
[Coco' Smile]
Grande figure du Mapping Show .
Grand admirateur de notre mascotte Vehyxine
STI Haruhiste like me [Hamu' Wink]
et fier de l'être ! [bibi ^^]
Un fier Homme du désert sans foi ni loi è_é [:3]
Date d'inscription : 21/05/2009

Résolu Re: [Résolu] Effet Nuage

le Sam 24 Sep 2016 - 12:13
Les nuages sont blancs, si tu veux en faire une ombre il faut utiliser la fusion ($fog.blend)

En gros :

Si tu met à 1, l'image est "ajoutée" sur la map : on ajoute la couleur qui se trouve sur l'image
par exemple si sur un fog tu a un pixel bleu, sa ajoute du bleu à la couleur du pixel en dessous.
Si tu met à 2, sa "retire" la couleur. Si il y a un pixel blanc, sa retire du blanc, donc sa rend le pixel plus foncé.
Essais un peu avec des fog de différentes couleurs pour un peut mieux comprendre voir le truc ^^

Donc pour répondre à ta question : si tu met le fog comme t'a proposé DragonFly, met avec $fog.blend = 2

Si tu veux il y a pas mal de fog précréé sur RPG maker XP qui sont franchement pas mal, je pourrais les refiler.
Tu peux en trouver simplement ici aussi
https://www.google.com/search?q=RPG+maker+XP+fog&client=firefox-b-ab&biw=1920&bih=1010&noj=1&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjD4_uG4qfPAhUsKcAKHQbzDpgQ_AUICCgB

_________________
( [Résolu] Effet Nuage Icon_gender_male )
[Résolu] Effet Nuage 1469999672-signcourte

____________________________________________________
J'offre un support par messagerie privée pour ceux qui le veulent.
Présentation de projet | news | mapping | évents | scénario | personnages | tests | ...
click >>
Envoyez un mp clair de votre problème / question / idée, j'y répond dans les meilleurs délais possibles. << click
_______


Al'Jeït
Al'Jeït
Membre

Nombre de messages : 141
Age : 27
Distinction : aucune
Date d'inscription : 22/09/2015
http://aljeit.deviantart.com/

Résolu Re: [Résolu] Effet Nuage

le Sam 24 Sep 2016 - 12:30
RMXP propose ça de base : http://screencast.com/t/GrWiP8zvpO

Si ça t'intéresse on peut voir pour retoucher un peu l'image histoire d'enlever le côté très pixelisé. L'idée est juste d'avoir un sprite de faible opacité qui boucle dans tous les sens.
Misterlyss
Misterlyss
Membre

Nombre de messages : 38
Distinction : aucune
Date d'inscription : 29/04/2016

Résolu Re: [Résolu] Effet Nuage

le Lun 26 Sep 2016 - 1:45
Sa rend deja mieux avec les ombres effectivement ! ^^
Manque plus qu'a ce que je les fasses bouger et c'est nickel !
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [Résolu] Effet Nuage

le Lun 26 Sep 2016 - 11:28
C'est cette partie là qui est censé faire bouger les nuages :
Code:

$fog.sx = -2
$fog.sy = -2

ça ne fonctionne pas ? essayes avec des valeurs différentes .
DragonFly
DragonFly
Membre

Nombre de messages : 513
Age : 18
Localisation : Sous l'escalier des Dursley : ) LOL
Distinction : Relou-man [Mist']
Mon 2eme plus grand fan [Yama']
Cuisto' Maker de la commu' [Gel']
Date d'inscription : 30/08/2016

Résolu Re: [Résolu] Effet Nuage

le Lun 26 Sep 2016 - 12:15
Alors tu peux marquer que sujet est résolu non? Et j'aurai mes points, lol [Résolu] Effet Nuage 249761 [Résolu] Effet Nuage 301290
Misterlyss
Misterlyss
Membre

Nombre de messages : 38
Distinction : aucune
Date d'inscription : 29/04/2016

Résolu Re: [Résolu] Effet Nuage

le Lun 26 Sep 2016 - 13:30
Je l'ai mis en résolu hier ^^ merci pour votre coup de main les amis ! ^^
Contenu sponsorisé

Résolu Re: [Résolu] Effet Nuage

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum