I have a swimming script (it is really basic) but i cant use constantForce which added my script for swimming. Because of some reasons i couldn't add rigid body to my FPCharacter. Now i want to rise my character in the water with pressing "Space Key" when stop pressing, it will fall again. This is the script;(constantForce convert to comment line)
#pragma strict
var waterLevel : float;
private var isUnderwater : boolean;
private var normalColor : Color;
private var underwaterColor : Color;
private var ChMotor : FPSWalkerEnhanced;
private var canSwim = false;
private var underGround = false;
var groundLevel : float;
function Start ()
{
normalColor = new Color (0.5f, 0.5f, 0.5f);
underwaterColor = new Color (0.22f, 0.65f, 0.77f, 0.5f);
ChMotor = GetComponent(FPSWalkerEnhanced);
}
function Update ()
{
if ((transform.position.y < waterLevel) != isUnderwater)
{
isUnderwater = transform.position.y < waterLevel;
if (isUnderwater) SetUnderwater ();
if(!isUnderwater) SetNormal ();
}
if(transform.position.y < groundLevel)
{
canSwim = false;
underGround = true;
}
else
{
underGround = false;
}
/* if (isUnderwater && Input.GetKey(KeyCode.E))
{
constantForce.relativeForce = Vector3(0, 0, 1);
}
else
{
constantForce.relativeForce = Vector3(0, 0, 1);
}
if (isUnderwater && Input.GetKey(KeyCode.Q))
{
constantForce.relativeForce = Vector3(0, 0, 1);
} */
}
function SetNormal ()
{
canSwim = false;
RenderSettings.fogColor = normalColor;
RenderSettings.fogDensity = 0;
ChMotor.gravity=20;
ChMotor.walkSpeed=7;
ChMotor.runSpeed=11;
}
function SetUnderwater ()
{
RenderSettings.fogColor = underwaterColor;
RenderSettings.fogDensity = 0.05f;
ChMotor.gravity=2;
ChMotor.walkSpeed=2;
ChMotor.runSpeed=7;
}
↧