[WIP] Modélisation, Open World etc
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Prefab Nature
oui je vais reessayer encore une foie et faire un screen
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Prefab Nature
Alors peut-être oui, l'idéal serait de faire un renderer tout texture sous blender, pour n'avoir qu'une texture, un seul mat. La texture représenterai toutes les autres sur le même uv
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Prefab Nature
Regarde mon WIP sur ma simu de conduite, j'ai fait un shader qui permet de mixer jusqu'à 12 texture sur un même mesh avec un seul mat, en utilisant les vertex color ( que tu dois pouvoir assigner dans blender)
______________________________________________________________
\_______________________ Impossible is nothing _______________________/
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Prefab Nature
OKRegarde mon WIP sur ma simu de conduite
Génération d une skybox depuis unity , j utilise ce script http://wiki.unity3d.com/index.php?title ... _Generator
Il faudra rajouter cette ligne de code
Code : Tout sélectionner
go.GetComponent.<Camera>().farClipPlane = 5000;
Code : Tout sélectionner
go.GetComponent.<Camera>().aspect = 1.0;
---
Je masque tout ce qui ne fera pas partie de la skybox et je ne laisse que le terrain d arrière plan et la skybox
Je place un cube au centre de mon terrain d arrière plan, qui sera le point de référence de la prise de vue, et je lance le script
Pour que les images apparaissent dans le dossier skybox, il fait réduire unity dans la barre de tache et l ouvrir a nouveau
Malheureusement on voit les bords du cube
MAJ: en fait il fait changer les paramètres d importation des images sur clamp pour un skybox 6 sided
Petit script pour doubler la distance de rendu de l herbe
Code : Tout sélectionner
using UnityEngine;
public class DetailDistance : MonoBehaviour {
// Use this for initialization
void Start () {
Terrain.activeTerrain.detailObjectDistance = 400;
}
}
Dernière édition par samuel.brunner le 25 Nov 2018 19:29, édité 3 fois.
Re: [WIP] Prefab Nature
Bonsoir,
Tu as essayé de passer le WrapMode de tes textures sur Clamp ?
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Prefab Nature
-
- Messages : 92
- Inscription : 28 Mars 2018 01:26
- Localisation : Alpes - Suisse
Re: [WIP] Modélisation etc
Le shader est pourtant en page 1 du WIP. Je te le remet ici quand même :
Avec évidement un code couleur bien spécifique pour les vertex : (par ordre de MainTex1 à MainTex11)
Donc les couleurs que tu assigne aux vertex doivent Impérativement correspondre à une des couleurs ci dessus..
Avec ceci, tu peux donc assigner (sous blender) à chacun des vertex une des 11 couleurs, ce qui correspondra à une des 11 textures du Shader, avec évidement une transition dégradée d'une texture a l'autre.
Code : Tout sélectionner
Shader "Example/Custom Vertex Data" {
Properties {
_MainTex1 ("TropicalRainForest", 2D) = "white" {}
_MainTex2 ("TropicalSeasonForest", 2D) = "white" {}
_MainTex3 ("GrassLand", 2D) = "white" {}
_MainTex4 ("SubTropicalDesert", 2D) = "white" {}
_MainTex5 ("TemperateRainForest", 2D) = "white" {}
_MainTex6 ("TemperateDecidousForest", 2D) = "white" {}
_MainTex7 ("TemperateDesert", 2D) = "white" {}
_MainTex8 ("Taiga", 2D) = "white" {}
_MainTex9 ("ShrubLand", 2D) = "white" {}
_MainTex10 ("Snow", 2D) = "white" {}
_MainTex11 ("Tundra", 2D) = "white" {}
}
SubShader {
Tags { "RenderType" = "Opaque" }
LOD 300
CGPROGRAM
#pragma surface surf Lambert vertex:vert
#pragma target 5.0
struct Input {
float2 uv_MainTex1;
half4 COL;
half4 COL1;
half4 COL2;
half4 COL3;
half4 couleur;
};
void vert (inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input,o);
o.COL.r = max(v.color.r-v.color.b*v.color.b-v.color.g*v.color.g-v.color.a*v.color.a ,0.0) ;
o.COL.g = max(v.color.b-v.color.r*v.color.r-v.color.g*v.color.g-v.color.a*v.color.a ,0.0) ;
o.COL.b = max(v.color.g-v.color.r*v.color.r-v.color.b*v.color.b-v.color.a*v.color.a ,0.0) ;
o.COL.a = max(v.color.a-v.color.r*v.color.r-v.color.g*v.color.g-v.color.b*v.color.b ,0.0) ;
o.COL1.r = v.color.r * v.color.g;
o.COL1.g = v.color.g * v.color.b;
o.COL1.b = v.color.b * v.color.a;
o.COL1.a = v.color.r * v.color.a;
o.COL2.r = max(1.0-v.color.r*v.color.r-v.color.b*v.color.b-v.color.g*v.color.g-v.color.a*v.color.a ,0.0) ;
o.COL2.g = v.color.g * v.color.a;
o.COL2.b = v.color.r * v.color.b;
o.couleur = v.color;
}
sampler2D _MainTex1;
sampler2D _MainTex2;
sampler2D _MainTex3;
sampler2D _MainTex4;
sampler2D _MainTex5;
sampler2D _MainTex6;
sampler2D _MainTex7;
sampler2D _MainTex8;
sampler2D _MainTex9;
sampler2D _MainTex10;
sampler2D _MainTex11;
void surf (Input IN, inout SurfaceOutput o) {
half3 Col1 = (IN.COL.r) * tex2D (_MainTex1, IN.uv_MainTex1).rgb;
half3 Col2 = (IN.COL.g) * tex2D (_MainTex2, IN.uv_MainTex1).rgb;
half3 Col3 = (IN.COL.b) * tex2D (_MainTex3, IN.uv_MainTex1).rgb;
half3 Col4 = (IN.COL.a) * tex2D (_MainTex4, IN.uv_MainTex1).rgb;
half3 Col5 = (IN.COL1.r) * tex2D (_MainTex5, IN.uv_MainTex1).rgb;
half3 Col6 = (IN.COL1.g) * tex2D (_MainTex6, IN.uv_MainTex1).rgb;
half3 Col7 = (IN.COL1.b) * tex2D (_MainTex7, IN.uv_MainTex1).rgb;
half3 Col8 = (IN.COL1.a) * tex2D (_MainTex8, IN.uv_MainTex1).rgb;
half3 Col9 = (IN.COL2.r) * tex2D (_MainTex9, IN.uv_MainTex1).rgb;
half3 Col10 = (IN.COL2.g) * tex2D (_MainTex10, IN.uv_MainTex1).rgb;
half3 Col11 = (IN.COL2.b) * tex2D (_MainTex11, IN.uv_MainTex1).rgb;
// pour afficher les textures : //
o.Albedo = Col1 + Col2 + Col3 + Col4 + Col5 + Col6 + Col7 + Col8 + Col9 + Col10 + Col11;
// pour afficher les Vertex Color : //
//o.Albedo = IN.couleur;
}
ENDCG
}
Fallback "Diffuse"
}
Code : Tout sélectionner
///Color ( r,g,b,a) disponibles :
TropicalRainForest = Color(1,0,0,0);
TropicalSeasonForest = Color(0,1,0,0);
GrassLand = Color(0,0,1,0);
SubTropicalDesert = Color(0,0,0,1);
TemperateRainForest = Color(1,1,0,0);
TemperateDecidousForest = Color(0,1,1,0);
TemperateDesert = Color(0,0,1,1);
Taiga = Color(1,0,0,1);
ShrubLand = Color(0,0,0,0);
Snow = Color(0,1,0,1);
Tundra = Color(1,0,1,0);
Avec ceci, tu peux donc assigner (sous blender) à chacun des vertex une des 11 couleurs, ce qui correspondra à une des 11 textures du Shader, avec évidement une transition dégradée d'une texture a l'autre.
______________________________________________________________
\_______________________ Impossible is nothing _______________________/