Dizelnie ambal
Dizelnie ambal
Russian Federation
Currently Offline
Review Showcase
518 Hours played
Игра хороша для тех кто любит создавать что то уникальное и свое собственное + она бесплатная. Нет системы pay to win благодаря тому что здесь есть подбор игроков с уровнем и мощью твоей машины как у тебя, значит чем больше у тебя уровень и мощь машины тем сложнее тебе попадаются враги. Это дает возможность новичкам развиться прежде чем идти с более сложными врагами. Также за повышения уровня дают детали для машины что бы можно было их собирать. Нету навязчивого доната. Советую это игру что бы пособирать тачки и расслабиться или лампово гонять катки с друзьями.
Recent Activity
57 hrs on record
last played on 24 May
89 hrs on record
last played on 23 May
627 hrs on record
last played on 23 May
Comments
21 Jan, 2025 @ 6:47am 
public class SC_TPSController : MonoBehaviour
{
public float speed = 7.5f;
public float jumpSpeed = 8.0f;
public float gravity = 20.0f;
public Transform playerCameraParent;
public float lookSpeed = 2.0f;
public float lookXLimit = 60.0f;

CharacterController characterController;
Vector3 moveDirection = Vector3.zero;
Vector2 rotation = Vector2.zero;

[HideInInspector]
public bool canMove = true;

void Start()
{
characterController = GetComponent<CharacterController>();
rotation.y = transform.eulerAngles.y;
}
21 Jan, 2025 @ 6:46am 
void Update()
{
if (characterController.isGrounded)
{
// We are grounded, so recalculate move direction based on axes
Vector3 forward = transform.TransformDirection(Vector3.forward);
Vector3 right = transform.TransformDirection(Vector3.right);
float curSpeedX = canMove ? speed * Input.GetAxis("Vertical") : 0;
float curSpeedY = canMove ? speed * Input.GetAxis("Horizontal") : 0;
moveDirection = (forward * curSpeedX) + (right * curSpeedY);
21 Jan, 2025 @ 6:46am 
if (Input.GetButton("Jump") && canMove)
{
moveDirection.y = jumpSpeed;
}
}

// Apply gravity. Gravity is multiplied by deltaTime twice (once here, and once below
// when the moveDirection is multiplied by deltaTime). This is because gravity should be applied
// as an acceleration (ms^-2)
moveDirection.y -= gravity * Time.deltaTime;

// Move the controller
characterController.Move(moveDirection * Time.deltaTime);

// Player and Camera rotation
if (canMove)
{
rotation.y += Input.GetAxis("Mouse X") * lookSpeed;
rotation.x += -Input.GetAxis("Mouse Y") * lookSpeed;
rotation.x = Mathf.Clamp(rotation.x, -lookXLimit, lookXLimit);
playerCameraParent.localRotation = Quaternion.Euler(rotation.x, 0, 0);
transform.eulerAngles = new Vector2(0, rotation.y);
}
}
}
21 Jan, 2025 @ 6:40am 
public Transform referenceTransform;
public float collisionOffset = 0.3f; //To prevent Camera from clipping through Objects
public float cameraSpeed = 15f; //How fast the Camera should snap into position if there are no obstacles

Vector3 defaultPos;
Vector3 directionNormalized;
Transform parentTransform;
float defaultDistance;

// Start is called before the first frame update
void Start()
{
defaultPos = transform.localPosition;
directionNormalized = defaultPos.normalized;
parentTransform = transform.parent;
defaultDistance = Vector3.Distance(defaultPos, Vector3.zero);

//Lock cursor
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
21 Jan, 2025 @ 6:40am 
// LateUpdate is called after Update
void LateUpdate()
{
Vector3 currentPos = defaultPos;
RaycastHit hit;
Vector3 dirTmp = parentTransform.TransformPoint(defaultPos) - referenceTransform.position;
if (Physics.SphereCast(referenceTransform.position, collisionOffset, dirTmp, out hit, defaultDistance))
{
currentPos = (directionNormalized * (hit.distance - collisionOffset));

transform.localPosition = currentPos;
}
else
{
transform.localPosition = Vector3.Lerp(transform.localPosition, currentPos, Time.deltaTime * cameraSpeed);
}
}
}