Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/75: Рейтинг темы: голосов - 75, средняя оценка - 4.91
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3

Как сделать так что бы персонаж не проходил через Cube

02.11.2019, 21:57. Показов 16447. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,у меня такой вопрос я создал 3D комнату для своей игры написал все скрипты для движения и тд. Но сталкнулся с такой проблемой как сделать так что бы персонаж (вид от первого лица),не проваливался под пол,и не проходил любые другие обьекты на Scenes.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2019, 21:57
Ответы с готовыми решениями:

Как сделать чтобы персонаж не проходил сквозь объект?
Есть персонаж и tilemap на обоях есть колайдеры, также rigidbody2d на персонаже Body Type Kenematic, на tilemap static

Как сделать так что бы персонаж поднимался в горку а не пробегал сквозь неё в unity 2D?
Персонаж просто пробегает сквозь горку что делать ?

Как сделать так чтобы персонаж в игре двигался сам
На данный момент я учусь писать игры на C++. Я сделал так чтобы персонаж двигался клавишами, а как сделать так чтобы он сам двигался в...

22
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
02.11.2019, 22:23
колайдеры
rigibody
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
02.11.2019, 22:29  [ТС]
Цитата Сообщение от Steroid Посмотреть сообщение
колайдеры
rigibody
колайдеры именно на самого человека или на обьекты к которые он не должен проходить
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
02.11.2019, 23:31
Цитата Сообщение от DEVELORER Посмотреть сообщение
колайдеры именно на самого человека или на обьекты к которые он не должен проходить
и туда и туда
если он двигается физикой нужно еще пару моментов учитывать
для этого маловато информации

Добавлено через 1 минуту
создание 10 Тем не поможет проблеме
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
02.11.2019, 23:47  [ТС]
Steroid вот код на движение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class NewBehaviourScript1 : MonoBehaviour
{
   void Update()
   {
if (Input.GetKey(KeyCode.W)){transform.position+=transform.forward* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.S)){transform.position-=transform.forward* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.A)){transform.position-=transform.right* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.D)){transform.position+=transform.right* Time.deltaTime*2;;}
   }
}
P.S.комната просто разлетелась

Добавлено через 1 минуту
Steroid, скажи какая информация нада я всё придаставлю
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
03.11.2019, 00:35
Цитата Сообщение от DEVELORER Посмотреть сообщение
какая информация нада я всё придаставлю
ну хотябы какой скрипт
какие компоненты на персонаже висят
какие компоненты на стенах
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 10:10  [ТС]
Steroid, вот скрипт на управление что бы он мог смотреть в разные стороны
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 public enum RotationAxes {
 MouseXAndY = 0,
 MouseX = 1,
 MouseY = 2
 }
 public RotationAxes axes = RotationAxes.MouseXAndY;
 public float sensitivityHor = 9.0f;
 public float sensitivityVert = 9.0f;
 public float minimumVert = -45.0f;
 public float maximumVert = 45.0f;
 private float _rotationX = 0;
 void Start() {
 Rigidbody body = GetComponent<Rigidbody>();
 if (body != null)
 body.freezeRotation = true;
 }
 void Update() {
 if (axes == RotationAxes.MouseX) {
 transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityHor, 0);
 }
 else if (axes == RotationAxes.MouseY) {
 _rotationX -= Input.GetAxis("Mouse Y") * sensitivityVert;
 _rotationX = Mathf.Clamp(_rotationX, minimumVert, maximumVert);
 float rotationY = transform.localEulerAngles.y;
 transform.localEulerAngles = new Vector3(_rotationX, rotationY, 0);
 }
 else {
 _rotationX -= Input.GetAxis("Mouse Y") * sensitivityVert;
 _rotationX = Mathf.Clamp(_rotationX, minimumVert, maximumVert);
 float delta = Input.GetAxis("Mouse X") * sensitivityHor;
 float rotationY = transform.localEulerAngles.y + delta;
 transform.localEulerAngles = new Vector3(_rotationX, rotationY, 0);
 }
 }
}
а вот скрипт на ходьбу
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class NewBehaviourScript1 : MonoBehaviour
{
   void Update()
   {
if (Input.GetKey(KeyCode.W)){transform.position+=transform.forward* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.S)){transform.position-=transform.forward* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.A)){transform.position-=transform.right* Time.deltaTime*2;;}
if (Input.GetKey(KeyCode.D)){transform.position+=transform.right* Time.deltaTime*2;;}
   }
}
на 1 фотографии компоненты на полу и стенах
на 2 фотке какие компоненты на персонаже
Миниатюры
Как сделать так что бы персонаж не проходил через Cube   Как сделать так что бы персонаж не проходил через Cube  
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 11:26  [ТС]
нашол решение
Спасибо
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
03.11.2019, 11:28
transform.position не подходит для физических взаимодействий, используй rb.velocity.
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 12:48  [ТС]
1max1, Смотри я на стены добавил бок колайдер а на игрока тоже колайдер и ригедбоди ,стены он Непроходит ,а пол проходит что делать
0
10 / 10 / 1
Регистрация: 03.11.2019
Сообщений: 192
03.11.2019, 13:08
Тут же нужно создавать Raycast и проверять его на столкновения, не?
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 20:41  [ТС]
TitanGames я создал луч и тд начал делать проверку ,но как сделать так что бы он остонавливался
C#
1
2
3
4
5
    Ray ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2 , Screen.Height / 2);
    RaycastHit hit;
    if(Phisics.Raycast(ray,out hit,1000)){
    
    }
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
03.11.2019, 20:52
Цитата Сообщение от DEVELORER Посмотреть сообщение
как сделать так что бы он остонавливался
Выдерни питание из компа и всё сразу остановится))
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 21:01  [ТС]
1max1, как обычно конченые шутки
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
03.11.2019, 21:02
Цитата Сообщение от DEVELORER Посмотреть сообщение
конченые шутки
У тебя просто чувства умора нет
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 21:31  [ТС]
1max1, такие шутки я перестал шутить в 8 лет
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
03.11.2019, 21:32
DEVELORER, тяжелое детство... сочувствую тебе...
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 21:33  [ТС]
1max1, ну а всё таки ты знаешь ответ на мой вопрос
0
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
03.11.2019, 21:43
Цитата Сообщение от DEVELORER Посмотреть сообщение
а пол проходит что делать
на пол добавить колайдер
0
4 / 1 / 0
Регистрация: 13.08.2019
Сообщений: 167
Записей в блоге: 3
03.11.2019, 21:54  [ТС]
Steroid, добавил и всё равно(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2019, 21:54
Помогаю со студенческими работами здесь

Графика: Как сделать так, чтобы персонаж не мог проходить, пересекать стены?
Приветствую. Нарисовал лабиринт и персонажа (красный круг), который должен дойти до выхода от старта. Так вот, персонаж может проходить...

К знатокам кодогенератора Cube. Как добавить в проект, созданный Cube кубом еще одно прерывания без Cube
Когда-то давно я начал разрабатывать проект с помощью кодогенератора Cube. Теперь остались последние штрихи, включить сторожевую собаку и...

Как через макрос сделать так что бы:
Макрос сравнивал &quot;Дату выкупа&quot;&lt;Date() и ставил значение 3 то есть &quot;перешел в собственность&quot;. Вот делал но кажись что то не...

Сделать так, чтобы главный герой не проходил сквозь некоторые спрайты C++
Всем привет. Я 4-5 недель назад начал изучать OpenGL и разработку игр на С++. Начал изучать SFML и читать статьи на kychka-pc. В общем...

Как сделать так что бы 1С отправляла данные через stunnel?
Как сделать так что бы 1С отправляла данные в инет через stunnel? Тоесть что надо писать в конфиге stunnel? Делаю так: client =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru