forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Глюки с коллязиями. (http://forum.boolean.name/showthread.php?t=3793)

ABTOMAT 02.07.2007 14:05

Глюки с коллязиями.
 
Сделал террайн (стандартный Блитзевый), сделал игрока, игроку назначил Энтити-Радиус.
Прописал коллизии:

EntityType Player, TypePlayer ; Коллязия для игрока
EntityType level1, Typelevel ; Коллязия для террайна

Collisions TypePlayer,TypeLevel,2,3 ; Игрок сталкиваеццо с уровнем.
Collisions TypePlayer,TypeObjects,2,2 ; Игрок сталкивается с деревьями, зданиями и прочим.

Сделал гравитацию. Запустил игру, а там всё трясё-ё-о-оц-ц-о!!!

Примерно так:



Кто-нить знает отчего ето и как можно исправить? :dontknow:

johnk 02.07.2007 15:06

Re: Глюки с коллязиями.
 
Это наверно из-за гравитации. :)

Черный крыс 02.07.2007 15:33

Re: Глюки с коллязиями.
 
Известная проблемма. и....легко решаемая. =)

Horror 02.07.2007 16:08

Re: Глюки с коллязиями.
 
А что классно выглядит , какбуд то туалет танцует)

moka 02.07.2007 16:16

Re: Глюки с коллязиями.
 
У тебя гравитация отключается в моммент коллизии с ландшафтом?
Коллизия - вытесняет, и выходит что через раз - есть\нету колиизии, учитывай это.

ABTOMAT 02.07.2007 20:03

Re: Глюки с коллязиями.
 
Diablo1909, поведай же о решении траблы.

axel186 02.07.2007 22:44

Re: Глюки с коллязиями.
 
не уверен, но как ты гравитацию пишешь? так : MoveEntity Player,0,-1,0 ?

Просто более правельно писать вот так TranslateEntity Player,0,-1,0...

Надеюсь поможет...

ЛысыЙ_Чук-Иванчук 02.07.2007 23:42

Re: Глюки с коллязиями.
 
Решается так:
Даже если стоит большое значение гравитации он НЕ должен заходить в землю!!! это изза того что ReameWorld стоит после RenderWorld или наоборот=)

H@NON 03.07.2007 00:03

Re: Глюки с коллязиями.
 
What is a ReameWorld? I do not understand.

HolyDel 03.07.2007 01:23

Re: Глюки с коллязиями.
 
ето UpdateWorld он оимел ввиду.
RenderWorld никакого отношения к коллизиям не имеет.
2Автомат, забудь про стандартные блицевские коллизии (в проектах сербезнее demo по крайней мере), или юзай физ-двиги или математику+голову.

решение проблемы:
1. Посмотри в сторону МоКи.
2. исчи место в которому у тебя изменяется значение dy для игрока, проблема скорее всего там. ЗЫ. обычно такие проблемы встречаются при попытке реализовать прыжок, а так на месте :даже хз:

Horror 03.07.2007 11:26

Re: Глюки с коллязиями.
 
у меня гдетто так же было (не помню гдe)
ну вот я сделал так
Код:

если игрок колизится с полом то
транслейтентити игрок,0,0,0
елзе
транслейтентити игрок,0,-1,0
ендиф

ну как то так непомню)

moka 03.07.2007 12:18

Re: Глюки с коллязиями.
 
Хоррор, как-раз именно это и делает дёрги, я же уже сказал, что коллищиться будет Через Раз, тоесть при коллизии объект оттолкнётся, а потом гравитацией опять примкнётся, потом опять и опять, тоесть будет через раз: примкнул\оттолкнулся. Поэтому и дёрги. Нужно привязать скорость падения к переменной, которая будет изменятся не сразу: 1\0\-1, а постепенно, например при коллизии, уменьшать скорость падения до нуля, но не отменять гравитации от этой скорости.

Цитата:

2Автомат, забудь про стандартные блицевские коллизии (в проектах сербезнее demo по крайней мере), или юзай физ-двиги или математику+голову.
Полностью Согласен.

ABTOMAT 03.07.2007 20:06

Re: Глюки с коллязиями.
 
TranslateEntity? Ето что-то новенькое. Я писал

PositionEntity player, EntityX(player),EntityY(player) - (sv_gravity*dt), EntityZ(Player)

я немного по-другому решил траблу, но попробую Транслейтом.

HolyDel 04.07.2007 01:24

Re: Глюки с коллязиями.
 
PositionEntity player, EntityX(player)+dx,EntityY(player)+dy, EntityZ(Player)+dz
тожесамое что и
translateentity player,dx,dy,dz
меньше кода, возможно больше произвоительность (непроверял, поетому утверждать небуду)

ЛысыЙ_Чук-Иванчук 04.07.2007 01:33

Re: Глюки с коллязиями.
 
Что за народ, я говорю что хать там MoveEntity Lox,0,-100000,0 небудет разнецы, нет тут тунельного эфекта!
Короче так

UpdateWorld
RenderWorld

Готов поспорить что у тебя щяс вот-так:

RenderWorld
UpdateWorld

Поставь как я сказал и нече утебя не будет дергатся!!!!!!!


Часовой пояс GMT +4, время: 10:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot