Я хочу сделать так, чтобы мой объект отталкивался от стены, словно попрыгунчик. Начала искать решение и наткнулся на Vector2.Reflect. Вполне себе понятная вещь, но почему что она мне не поддается. После столкновения со стеной объект просто к ней прилипает. Можете выругать меня всеми словами, если хотите, но может быть я что-то упустил? Вот код:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
public class GameScript : MonoBehaviour
{
public Rigidbody2D coon;
public float jumpforce;
public bool arrowCheck = false;
public Animation arrow;
public Animation circle;
public RectTransform Side;
public Transform CircleSide;
public Vector2 LastVelocity;
private void Update()
{
if (Input.GetMouseButtonDown(0) && arrowCheck==false)
{
arrowCheck = true;
coon.AddForce(CircleSide.right * jumpforce);
arrowCheck = true;
arrow.Stop();
circle.Stop();
LastVelocity = coon.velocity;
}
}
private void OnCollisionEnter2D(Collision2D coll)
{
Vector2 direction = Vector2.Reflect(LastVelocity, coll.contacts[0].normal);
coon.AddForce(direction*jumpforce);
Debug.Log("Yeeee Collision");
}
}
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
public class GameScript : MonoBehaviour
{
public Rigidbody2D coon;
public float jumpforce;
public bool arrowCheck = false;
public Animation arrow;
public Animation circle;
public RectTransform Side;
public Transform CircleSide;
public Vector2 LastVelocity;
private void Update()
{
if (Input.GetMouseButtonDown(0) && arrowCheck==false)
{
arrowCheck = true;
coon.AddForce(CircleSide.right * jumpforce);
arrowCheck = true;
arrow.Stop();
circle.Stop();
LastVelocity = coon.velocity;
}
}
private void OnCollisionEnter2D(Collision2D coll)
{
Vector2 direction = Vector2.Reflect(LastVelocity, coll.contacts[0].normal);
coon.AddForce(direction*jumpforce);
Debug.Log("Yeeee Collision");
}
}
И еще я замечаю в видео постоянное использование GetComponent<RigidBody2d>() например. Это обязательная команда? И для чего она?