Как обращаться к Physic material 2D через скрипт, чтобы изменять трение(Стоит на Box Collider 2D)?
В Unity я столкнулся с такой проблемой, что после перемещения персонажа он продолжает, скажем так: "скользить" по поверхности. В голову мне пришла идея пофиксить это, если человек не нажимает на кнопку friction = 9999 (чтобы он не скользил), но я не знаю как обратиться через скрипт. Если это совсем дурная идея, то подскажите мне более простой и эффективный метод.
using JetBrains.Annotations;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class контроллер : MonoBehaviour
{
public GameObject obj;
public float speed = 3f;
Rigidbody2D rb;
SpriteRenderer sr;
public float JumpForce = 50f;
void Start()
{
rb = GetComponent<Rigidbody2D>();
sr = GetComponent<SpriteRenderer>();
}
void Update()
{
if (Input.GetAxis("Horizontal") < 0)
{
sr.flipX = true;
}
else if (Input.GetAxis("Horizontal") > 0)
{
sr.flipX = false;
}
}
void FixedUpdate()
{
if (Input.GetAxis("Horizontal")>0)
{
rb.velocity = new Vector2(speed, rb.velocity.y);
}
else if (Input.GetAxis("Horizontal")<0)
{
rb.velocity = new Vector2(-speed, rb.velocity.y);
}
else if(Input.GetAxis("Horizontal") == 0)
{
// вот здесь мне надо обратится к Friction
}
if (Input.GetKey(KeyCode.Space)&& Mathf.Abs(rb.velocity.y)< 0.05)
{
rb.AddForce( new Vector2(0, JumpForce), ForceMode2D.Impulse);
}
}
}
