Outils pour utilisateurs

Outils du site


functions:environment

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
functions:environment [2017/05/11 17:01] falsamfunctions:environment [2023/03/15 15:50] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<WRAP round box 100%>
 +====== environment.sbi ======
 +
 +</WRAP>
 +■ **AmbientColor(Color.i)**\\
 +Change la couleur ambiante du monde 3D.
 +
 +■ **Result = SkyBox(Name.s, sky.s, Size.i = 200 )**\\
 +Crée un cube à 6 faces texturées faces intérieur. 
 +
 +Le paramètre Sky contient le nom du dossier et le nom générique des images sans l'extension JPG ou PNG.\\
 +Exemple : //Sky = SkyBox("Night", "data/textures/sky/night", 1000)//
 +
 +Le skybox est composé de six images pour chacune des faces.
 +Exemple : night_nx.jpg, night_ny.jpg, night_nz.jpg, night_px.jpg, night_py.jpg, night_pz.jpg
 +
 +■ **Sun(Material.i, x.f = 0, y.f = 0, z.f = 0)**\\
 +Changer la position du soleil.
 +
 +■ **Fog(Color.i, Intensity.f = 0.01 , StartDistance.f = 20.0, EndDistance.f = 60.0)**\\
 +Afficher un effet de brouillard à la distance spécifiée. 
 +
 +■ **Result = CreateWater(Name.s, Texture.s, width.f, depth.f, SubDivs.i )**\\
 +Crée une surface d'eau.
 +
 +■ **WaterRenderList(Water, Mesh)**\\
 +Définir un mesh qui se réfléchit sur l'eau.
 +
 +■ **SetWater(mesh, WindForce.f = -5, WaveHeight.f = 0.05, BumpHeight.f = 0.05, Color = 0, ColorBlendFactor.f = 0.1)**\\
 +
 +
 +====== Light ======
 +■ ***CreateLight(Name.s, x.f, y.f, z.f, Intensity.f=1, Mode.i = #BJS_Hemispheric)***\\
 +Créer une lumière. 
 +
 +Quatres type de lumières : 
 +  * **#BJS_Point**  
 +  * **#BJS_Directional**
 +  * **#BJS_Spot** 
 +  * **#BJS_Hemispheric** Lumière d’ambiance. A ne pas utiliser pour initialiser le système d'ombre.  
 +
 +L'intensité d'une lumière varie de 0.0 à 1.0
 +
 +■ **SpotLightRange(Light, InnerAngle.f, Exponent.f)**\\
 +Modifie le rendu visuel d'une lumière de type #BJS_Spot
 +
 +L'angle, en degrés, définit la taille (//champ d'illumination//) du faisceau conique du projecteur, et l'exposant définit la vitesse de décroissance de la lumière à distance (//portée//).
 +
 +■ **LightDirection(Light, x.f, y.f, z.f)**\\
 +Changer la direction de la lumière.
 +
 +■ **MoveLight(Light.i, x.f, y.f, z.f, Mode = #PB_Relative)**\\
 +Déplacer une lumiére.
 +
 +■ **EnableLight(Light, Value.b)**\\
 +Activer ou désactiver une lumière.
 +
 +■ **SetLightColor(Light, Type, Color)**\\
 +Modifier la couleur d'une lumière.
 +  * **#BJS_Diffuse** Change la couleur de diffusion. 
 +  * **#BJS_Specular** Change la couleur spéculaire.
 +Les couleurs sont aux formats RGB.
 +
 +■ **Value = GetLightIntensity(Light)**\\
 +Retourner l'intensité d'une lumière.
 +
 +■ **SetLightIntensity(Light, Intensity.f)**\\
 +Définir l'intensité d'une lumière.
 +
 +
 +[[playground:light|Voir un exemple]]
 +
 +
 +====== Shadows ======
 +■ **ShadowGenerator = InitShadow(Light, RenderSize = 1024)**\\
 +Initialisation du système d'ombres. La lumière à utiliser doit être de type #BJS_Point.
 +
 +■ **ShadowEmitter(ShadowGenerator, Mesh)**\\
 +Ajoute un mesh dans le système d'ombrage. Le mesh sera émetteur de l'ombre.
 + 
 +■ **RenderShadows(Mesh, Value=#True)**\\
 +Définir le mesh recepteur des ombres.
 +
 +Gardez à l'esprit que ce générateur d'ombre ne peut être utilisé qu'avec une seule lumière. Si vous voulez générer des ombres à partir d'une autre lumière, vous devrez créer un autre générateur d'ombres.
 +
 + 
 +