Problems with water??

Hi

I have a question about water. I inserted a “plane” and gave it a “Daylight water”. I have the Pro version, but the water is flicking between nice blue water and a grey surface when I turn my camera. See the images. Is there a solution for this?

And when I am asking about water. How do I get it to be transparent?

BR

96575--3751--$water_right_132.jpg
96575--3752--$water_not_right02_117.jpg
96575--3753--$water_not_right01_449.jpg

Do you have more than one water in the scene?

I found that I was only able to get consistent visuals when there was only 1 water. I’d much prefer being able to have more but have not found a way to do that.

just have a look at:
http://forum.unity3d.com/viewtopic.php?t=14774

I don’t have the pro version but the latest demo. took me quite some time to get the water look a nice way, because all the old shaders do not work in the current version i think. so i had to combine an old and a new one.
it looks like this ( there is a line which says “col.a = water.a;” – you can also write “col.a = 0.5;” or whatever you want as opacity / transparency

lars

Shader “FX/Water (simple_transperent_01)” {
Properties {
_horizonColor (“Horizon color”, COLOR) = ( .172 , .463 , .435 , 0)
_WaveScale (“Wave scale”, Range (0.02,0.15)) = .07
_ColorControl ("Reflective color (RGB) fresnel (A) ", 2D) = “” { }
_ColorControlCube ("Reflective color cube (RGB) fresnel (A) ", Cube) = “” { TexGen CubeReflect }
_BumpMap ("Waves Bumpmap (RGB) ", 2D) = “” { }
WaveSpeed (“Wave speed (map1 x,y; map2 x,y)”, Vector) = (19,9,-16,-7)
_MainTex (“Fallback texture”, 2D) = “” { }
}

CGINCLUDE
// -----------------------------------------------------------
// This section is included in all program sections below

#include “UnityCG.cginc”

uniform float4 _horizonColor;

uniform float4 WaveSpeed;
uniform float _WaveScale;

struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
};

struct v2f {
V2F_POS_FOG;
float2 bumpuv[2] : TEXCOORD0;
float3 viewDir : TEXCOORD2;
};

v2f vert(appdata v)
{
v2f o;
float4 s;

PositionFog( v.vertex, o.pos, o.fog );

// scroll bump waves
float4 temp;
temp.xyzw = (v.vertex.xzxz + _Time.x * WaveSpeed.xyzw) * _WaveScale;
o.bumpuv[0] = temp.xy * float2(.4, .45);
o.bumpuv[1] = temp.wz;

// object space view direction
o.viewDir.xzy = normalize( ObjSpaceViewDir(v.vertex) );

return o;
}

ENDCG

// -----------------------------------------------------------
// Fragment program

Subshader {
Tags { “Queue” = “Transparent” }
Blend SrcAlpha OneMinusSrcAlpha
// Blend One One
ColorMask RGB

Pass {

CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#pragma fragmentoption ARB_fog_exp2

sampler2D _BumpMap;
sampler2D _ColorControl;

half4 frag( v2f i ) : COLOR
{
half3 bump1 = tex2D( _BumpMap, i.bumpuv[0] ).rgb;
half3 bump2 = tex2D( _BumpMap, i.bumpuv[1] ).rgb;
half3 bump = bump1 + bump2 - 1;

half fresnel = dot( i.viewDir, bump );
half4 water = tex2D( _ColorControl, float2(fresnel,fresnel) );

half4 col;
col.rgb = lerp( water.rgb, _horizonColor.rgb, water.a );
//col.a = _horizonColor.a;

// this is the opacity
col.a = water.a;

return col;
}
ENDCG
SetTexture [_BumpMap] {}
SetTexture [_ColorControl] {}
}
}

// -----------------------------------------------------------
// Radeon 9000

Subshader {
Tags { “Queue” = “Transparent” }
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB

Pass {
CGPROGRAM
#pragma vertex vert
// just define ‘vert’ as a vertex shader, the code is included
// from the section on top
ENDCG

Program “” {
SubProgram {
Local 0, [_horizonColor]

"!!ATIfs1.0
StartConstants;
CONSTANT c0 = program.local[0];
EndConstants;

StartPrelimPass;
SampleMap r0, t0.str;
SampleMap r1, t1.str;
PassTexCoord r2, t2.str;

ADD r1, r0.bias, r1.bias; # bump = bump1 + bump2 - 1
DOT3 r2, r1, r2; # fresnel: dot (bump, viewer-pos)
EndPass;

StartOutputPass;
SampleMap r2, r2.str;

LERP r0.rgb, r2.a, c0, r2; # fade in reflection
// MOV r0.a, c0.a;
MOV r0.a, r2.a;
EndPass;
"
}
}
SetTexture [_BumpMap] {}
SetTexture [_BumpMap] {}
SetTexture [_ColorControl] {}
}
}

// -----------------------------------------------------------
// Old cards

Subshader {
Pass {
SetTexture [_ColorControlCube] {
constantColor (0.0,0.0,0.0,0.5)
combine texture + constant
Matrix [_Reflection]
}
SetTexture [_BumpMap] {
constantColor [_horizonColor]
combine constant lerp (previous) previous, constant
}
}
}

// -----------------------------------------------------------
// Really old cards (no cubemapping)

Subshader {
Pass {
SetTexture [_MainTex] { combine texture }
}
}

}

Thank you!

I am very new to scripting/coding, but I will take a look at it when I am somewhat further into Unity3D. Anyway I did manage to fix my basic water problem as it was based in me doing something wrong when assigning the water script to the mesh.

Br