Показать сообщение отдельно
Старый 16.01.2025, 18:06   #3
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,036
Написано 2,320 полезных сообщений
(для 5,359 пользователей)
Ответ: как добавить коллизию мешу с maplet

Меня опередили, попытаюсь пояснить тогда.

Я делал как-то так:
;=======Коллизии=======
Const HeroType = 1			;Персонаж
Const FloorType = 2			;Любая поверхность по которой нужно ходить
Const AllObjectType = 3		;Стены и всё большое и статичное

...........какойтокод...........

Graphics3D 1920,1080,32,2

...........какойтокод...........

;=====================Игрок=============================

	player=CreateSphere()
		. . . . . .
		EntityRadius player,1.8,1.8
		EntityType player,HeroType

	map=LoadMesh()
		. . . . . .
		EntityType map,player,2,AllObjectType

;====================Коллизи============================
Collisions HeroType,FloorType,2,3	;Коллизия персонажа с полом,
Collisions HeroType,AllObjectType,2,2	;со стенами.
1) Надо задать каждому объекту с кем он может сталкиваться.
2) Определить тип (формы) столкновений, они фиксированные.
3) И реакция на столкновение: остановка, скольжение.

В твоём случае, твоя камера это мой HeroType, а комната AllObjectType.
Для стен и пола делал отдельно, что бы не было конфликта.
Если у тебя комната один меш, то её лучше разбить на части.

Я уже подзабыл, но вроде для простого столкновения со статичным достаточно камера—>стены.
А для сложного нужно в обе стороны (как у меня в коде). Например открытая дверь толкала персонажа (а может я напутал).

Справка на русском Blitz3D_help_русский.zip
Collisions src_type,dest_type,method,response
Параметры
src_type - тип объекта, который будет проверяться на столкновения.
dest_type - тип объекта, с которым будут обрабатываться столкновения.

method - метод определения столкновений.
1: столкновения типа эллипсоид-к-эллипсоиду
2: столкновения типа эллипсоид-к-полигону
3: столкновения типа эллипсоид-к-паралелепипеду

response - как будет вести себя объект при столкновении.
1: остановка
2: скольжение1 - столкновение с полным скольжением
3: скольжение2 - скольжение с предотвращением скатывания с наклонов
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (16.01.2025)