Не могу понять в чем проблема - Форум Игроделов
Чт, 02 Май 2024, 14:55 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Не могу понять в чем проблема (Проблема во время бега персонажа)
Не могу понять в чем проблема
sosedruДата: Чт, 17 Дек 2015, 19:52 | Сообщение # 1
Нет аватара
 
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Ребята, у меня трабл...
Есть скрипт бега персонажа..
Все работает, все нормально НО персонаж будто игнорирует коллайдеры всех предметов перед собой.
Например:
Бегу, бегу, бегу вот стена дома, в бегу на нее, и происходит волшебство как в Гарри Поттере я прохожу сквозь нее.. и так со всеми моделями в которые УПИРАЕТСЯ персонаж (именно упирается, потому что там где персонаж может начать подниматься по объекту все нормально, он поднимается)

Вот скрипт бега, но мне кажется проблема не в нем...
Код

using UnityEngine;
using System.Collections;

public class Run : MonoBehaviour {
public int run_speed;
public GameObject player;

// Use this for initialization
void Start ()
{
player = (GameObject)this.gameObject;
}

// Update is called once per frame
void Update ()
{
if(Input.GetKey(KeyCode.W) & Input.GetKey(KeyCode.LeftShift))
{
player.transform.position += player.transform.forward * run_speed * Time.deltaTime;
}
}
}


Сюда же напишу что бы форум не засорять
Проблема еще другая.

Когда приседаю не могу двигаться в стороны и назад... Только вперед
Вот скрипт:
Код

var controller : CharacterController;  //Указываем игрока
      var oldHeight;      
      var newHeight: float;      
      var newPos;     
      var bf : boolean = false;      

      function Start () {      
      controller = GetComponent(CharacterController);    //Находим компонент CharacterController
      oldHeight = controller.height;      
      }      

     function Update() {         
     newPos = new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z);     
                if (Input.GetKey(KeyCode.LeftControl)) {     
                    controller.height = newHeight;     
                    bf = true;     
                } else {     
                if (Input.GetKeyUp (KeyCode.LeftControl) && !Physics.Raycast (transform.position, Vector2.up)) {     
                    controller.height = oldHeight;     
                    transform.position = newPos;     
                    bf = false;     
                } else {     
                if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) {     
                controller.height = oldHeight;     
                    transform.position = newPos;     
                    bf = false;     
                }     
                }     
                }     
     }


Сообщение отредактировал sosedru - Чт, 17 Дек 2015, 19:56
 
СообщениеРебята, у меня трабл...
Есть скрипт бега персонажа..
Все работает, все нормально НО персонаж будто игнорирует коллайдеры всех предметов перед собой.
Например:
Бегу, бегу, бегу вот стена дома, в бегу на нее, и происходит волшебство как в Гарри Поттере я прохожу сквозь нее.. и так со всеми моделями в которые УПИРАЕТСЯ персонаж (именно упирается, потому что там где персонаж может начать подниматься по объекту все нормально, он поднимается)

Вот скрипт бега, но мне кажется проблема не в нем...
Код

using UnityEngine;
using System.Collections;

public class Run : MonoBehaviour {
public int run_speed;
public GameObject player;

// Use this for initialization
void Start ()
{
player = (GameObject)this.gameObject;
}

// Update is called once per frame
void Update ()
{
if(Input.GetKey(KeyCode.W) & Input.GetKey(KeyCode.LeftShift))
{
player.transform.position += player.transform.forward * run_speed * Time.deltaTime;
}
}
}


Сюда же напишу что бы форум не засорять
Проблема еще другая.

Когда приседаю не могу двигаться в стороны и назад... Только вперед
Вот скрипт:
Код

var controller : CharacterController;  //Указываем игрока
      var oldHeight;      
      var newHeight: float;      
      var newPos;     
      var bf : boolean = false;      

      function Start () {      
      controller = GetComponent(CharacterController);    //Находим компонент CharacterController
      oldHeight = controller.height;      
      }      

     function Update() {         
     newPos = new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z);     
                if (Input.GetKey(KeyCode.LeftControl)) {     
                    controller.height = newHeight;     
                    bf = true;     
                } else {     
                if (Input.GetKeyUp (KeyCode.LeftControl) && !Physics.Raycast (transform.position, Vector2.up)) {     
                    controller.height = oldHeight;     
                    transform.position = newPos;     
                    bf = false;     
                } else {     
                if (bf == true && !Physics.Raycast (transform.position, Vector2.up)) {     
                controller.height = oldHeight;     
                    transform.position = newPos;     
                    bf = false;     
                }     
                }     
                }     
     }

Автор - sosedru
Дата добавления - 17 Дек 2015 в 19:52
ivan9090Дата: Пт, 18 Дек 2015, 10:08 | Сообщение # 2
Нет аватара
 
Сообщений: 9
Награды: 0
Репутация: 7
Статус: Offline
надо добавить персрнажу ригидбади и двигать его силой например так transform.rigidbody.AddRelativeForce(Vector3.forward * 500);
на стены повесить колайдер или при импорте модели в юнити поставить глочку генератед колидерс :-)


в жопу физику трансформ.позишион спасёт игру
 
Сообщениенадо добавить персрнажу ригидбади и двигать его силой например так transform.rigidbody.AddRelativeForce(Vector3.forward * 500);
на стены повесить колайдер или при импорте модели в юнити поставить глочку генератед колидерс :-)

Автор - ivan9090
Дата добавления - 18 Дек 2015 в 10:08
Форум Игроделов » UNITY3D » СКРИПТИНГ » Не могу понять в чем проблема (Проблема во время бега персонажа)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024