Юнити 3Д. Мой персонаж дрожит на поверхностиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Юнити 3Д. Мой персонаж дрожит на поверхности

Сообщение Anonymous »

Я использую MVC в своем проекте Unity 3D. У меня есть CollisionPoller для определения контактов и движения. Если я использую MoveController и CollisionPoller, мой персонаж трясет ось Y каждый кадр на +/- 0,01.
Если я использую «Кинематический», это работает, но мой персонаж проходит через склоны. Я могу уменьшить высоту капсульного коллайдера, но на склонах это не работает (моего персонажа снова трясет).
public class CollisionPoller
{
private readonly PlayerView _playerView;
private const int MaxBounces = 5;
private const float Threshold = 0.015f;
private const float MaxSlopeAngle = 45f;
private Bounds _bounds;

public CollisionPoller(PlayerView playerView)
{
_playerView = playerView;
_bounds = _playerView.Collider.bounds;
_bounds.Expand(-2 * Threshold);
}

public Vector3 CollideAndSlide(Vector3 velocity, Vector3 position, int depth, bool gravityPass, Vector3 velocityInit)
{
if(depth >= MaxBounces)
return Vector3.zero;

var distance = velocity.magnitude + Threshold;
if (!Physics.SphereCast(position, _bounds.extents.x, velocity.normalized, out var hit, distance))
return velocity;
var snapToSurface = velocity.normalized * (hit.distance - Threshold);
var leftOver = velocity - snapToSurface;
var angle = Vector3.Angle(Vector3.up, hit.normal);

if(snapToSurface.magnitude

Подробнее здесь: https://stackoverflow.com/questions/791 ... he-surface
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Игрок дрожит при столкновении со стеной
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Игрок дрожит при столкновении со стеной
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Данные X,Y,Z. Создание графика поверхности и интерполяция из графика поверхности
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Данные X,Y,Z. Создание графика поверхности и интерполяция с графика поверхности [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Данные X,Y,Z. Создание графика поверхности и интерполяция из графика поверхности
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»