Vector3 RaycastPosition (Vector3 position, float lasty) {
if (raycastingForGroundPlacement) {
RaycastHit hit;
float up = Mathf.Max (centerOffset, lasty-position.y+centerOffset);
if (Physics.Raycast (position+Vector3.up*up,Vector3.down,out hit,up,groundMask)) {
//Debug.DrawRay (tr.position+Vector3.up*centerOffset,Vector3.down*centerOffset, Color.red);
if (hit.distance < up) {
//grounded
position = hit.point;//.up * -(hit.distance-centerOffset);
velocity.y = 0;
}
} else {
//Debug.DrawRay (tr.position+Vector3.up*centerOffset,Vector3.down*centerOffset, Color.green);
}
}
return position;
}