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=2893)

Fant 08.03.2007 20:20

Re: Передвижение игрока
 
Цитата:

Сообщение от MoKa
Немного над ландшафтом? Там коллизии? Может не точно указан Радиус элипсоида? Попробуй EntityRadius на колёсики.

Ближе к реальности. Я пробовал изменять радиус моего кубика и он становился ниже, но в результате - переворачивался, в то время как колесики были над землей. Изменение Радиуса колесиков ни к чему неведет. Вообще.

moka 08.03.2007 20:26

Re: Передвижение игрока
 
НО истина в них, да помница, когда я мучал этот сэмпл, было что-то такое, но помню нашёл в чём тема.

Fant 08.03.2007 20:28

Re: Передвижение игрока
 
Цитата:

Сообщение от MoKa
НО истина в них, да помница, когда я мучал этот сэмпл, было что-то такое, но помню нашёл в чём тема.

Думаешь дело только в них???

Просто какой бы я им радиус не ставил, все-равно нчего не меняется...я даже не знаю что пробовать!!

Nahim 08.03.2007 20:46

Re: Передвижение игрока
 
Вложений: 2
Fant, попробуй мой пример, без "колёсиков", но вроде работает...
Хотя может я не совсем понял какого именно "прилипания" ты хочешь добиться.

ЛысыЙ_Чук-Иванчук 08.03.2007 20:49

Зачем тебе аж 4колизи?
Делай столкновение самому кубику(радиус подогнать нетрудно), далее после контакта: Узнаеш нормаль контакта:)
CollisionNX
CollisionNy
CollisionNz
и по ним выравнивай, получеш то что хотел!

Вот тебе поможет
If EntityCollided(Холодильник,Марсеанская база по производству спирта:) )
cx#=CollisionX( Холодильник,1 )
cy#=CollisionY( Холодильник,1 )
cz#=CollisionZ( Холодильник,1 )
nx#=CollisionNX( Холодильник,1 )
ny#=CollisionNY( Холодильник,1 )
nz#=CollisionNZ( Холодильник,1 )
PositionEntity Холодильник,cx,cy,cz
AlignToVector Холодильник,nx,ny,nz, 3 (последний пораметр это скорость напровления, если 0 то мнгновенно)
Endif

Fant 08.03.2007 21:13

Re: Передвижение игрока
 
Всем еще раз спасибо!
Примерчик оказался мне полезным!
2vlad - возьму твой код на заметку) но уж лчше тогда без колес)

Nahim 08.03.2007 21:14

Re: Передвижение игрока
 
Цитата:

последний пораметр это скорость напровления, если 0 то мнгновенно
Нет, если 1 - то мгновенно

Fant 08.03.2007 22:17

Re: Передвижение игрока
 
Увы
Игрок как летал, так и летает, если использовать пример Hanima

vlad твой пример почти тоже самое, что и пример

Fant 08.03.2007 22:24

Re: Передвижение игрока
 
Я в шоке. И отчаянии.

Я испробовал кучу вариантов, но, как оказалось, дело не сдвинулось с мертвой точки.

Заюзал я примеры, данные мне, и вот что я имею на сейчас:
Первое. Игрок не может сдвинуться (странно, а в примере кубик через горы прыгал)
Второе. Игрок опять висит в воздухе (это просто наказание)

Радует, что хоть не переворачивается, как в случае с примером driver

Так что если кто-то знает как обуздать эту штуку, помогите пожалуйста!

1,2 + курсор мыши - навигация по карте
курсор - упраление юнитом

функция - fnUpdateTank1() - обновление танка. Именно там эти косяки...(

ЛысыЙ_Чук-Иванчук 08.03.2007 22:50

Re: Передвижение игрока
 
Просто убери из моего примера PositionEntity
И гденить в цикле
Translsteentity Холодильник,0,-0.01,0

Fant 09.03.2007 00:27

Цитата:

Сообщение от vlad
Просто убери из моего примера PositionEntity
И гденить в цикле
Translsteentity Холодильник,0,-0.01,0

твой код просто не работает. Вообще.

Если кто-то знает как это сделать, напишите пожалуйста! Почему-то у меня никак не получается...по примеру сделал. Все работает (запускается без ошибок), но только игрок слишком высоко...и не двигается

Nahim 09.03.2007 13:53

Re: Передвижение игрока
 
Цитата:

игрок слишком высоко
Попробуй уменьшить радиус коллизии:
Код:

EntityRadius tank1\obj,0.2
Цитата:

...и не двигается
Гравитация слишком сильная. Уменьши гравитацию или увеличь скорость движения танка. Например, так:
Код:

TranslateEntity tank1\obj,0,-0.1,0

Fant 09.03.2007 21:29

Re: Передвижение игрока
 
Ну все) я с этим закончил и у меня наконец-то получилось!
Всем еще раз спасибо за помощь и обсуждение!


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

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