 |
14.01.2010, 19:30
|
#451
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
пфф... Если у тебя не Flight Simulator, то делишь весь Plane свой 3Д как двухмерную плоскость на квадраты удобного размера(например 10 энтитиX на 10 энтитиY). Задаешь им значения проходимо и непроходимо(желательно ручками) и как в обычном астаре ищешь путь. У тебя вроде летать юниты не должны? Или по лестницам лазеть?
|
(Offline)
|
|
14.01.2010, 19:58
|
#452
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Это я знаю, но я не могу че то понять как "привязку" к карте делать. Я уже делал с библой Дипломата, но у меня только в центре карты поиск пути работал. =/
|
(Offline)
|
|
15.01.2010, 00:14
|
#453
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
С библой дипломата не знаком, извини. Я бы накодил по-своему или стырил Отсюда.Там отличный астар с кучей коментов, статьей и встроенным редактором проходимости\непроходимости. Чу-чуть оптимизировать и можно вставлять в 3Д игру
|
(Offline)
|
|
15.01.2010, 06:26
|
#454
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Ну мне бы и с *AStar'ом сгодилось... Я просто не понимаю как этот поиск пути делать (статьи читал по несколько раз)..  Кому не тяжело дайте плиз код с поиском пути в 3д... 
|
(Offline)
|
|
15.01.2010, 21:08
|
#455
|
AnyKey`щик
Регистрация: 14.01.2010
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Как сделать норм вид от 1 лица, чтоб камера была на уровне глаз?
Когда делаю обычным пивотом
Global player=CreatePivot()
PositionEntity player,0,150,0
EntityType player,TypePlayer
EntityRadius player, 50
camera=CreateCamera(player)
PositionEntity camera,0,0,0
то его радиус не дает даже в дверной проем пройти.
зы неругайте, тока учусь 
|
(Offline)
|
|
15.01.2010, 21:19
|
#456
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Если радиус не дает пройти в дверь, почему бы этот самый радиус не уменьшить? И причем здесь камера?
|
(Offline)
|
|
15.01.2010, 21:29
|
#457
|
AnyKey`щик
Регистрация: 14.01.2010
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Если уменьшу, тогда соответственно и камера вниз упадет и вид буит как бы из ног.
Управление камерой у меня мышкой.
|
(Offline)
|
|
15.01.2010, 21:52
|
#458
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
laaqiq
camera=CreateCamera(player)
PositionEntity camera,0,2,0
__________________
StimuL
Maks
|
(Offline)
|
|
15.01.2010, 22:08
|
#459
|
AnyKey`щик
Регистрация: 14.01.2010
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от KingMaks
laaqiq
camera=CreateCamera(player)
PositionEntity camera,0,2,0
|
пробовал, но камера вращается вокруг пивота поэтому при движении мыши назад камера пойдет не только вниз но и чуть вперед (аналогично если мышку вперед), а это не есть гуд
|
(Offline)
|
|
15.01.2010, 22:10
|
#460
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Если камера вращается вокруг пивота, то привязуй пивот к камере. И будет тебе айс.
При уменьшении ентитирадиуса таких проблем не должно быть... в любом случае если так, то поднимай камеру повыше
ЗЫ Уху мне ник вернули!
|
(Offline)
|
|
15.01.2010, 22:20
|
#461
|
AnyKey`щик
Регистрация: 14.01.2010
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Вот так?:
Const TypePlayer = 1, TypeWall = 2
Graphics3D 800,600
SetBuffer BackBuffer()
HidePointer
Global camera,campitch#,camyaw#,mvx#,mvy#,mvz#
Global camera=CreateCamera()
PositionEntity camera,0,0,0
Global player=CreatePivot(camera)
PositionEntity player,0,150,0
EntityType player,TypePlayer
CameraFogMode camera,1
CameraFogColor camera,100,200,255
Collisions TypePlayer, TypeWall, 2, 3
map=LoadCSM("test.csm","textures\")
ScaleEntity map, 0.5,0.5,0.5
While Not KeyHit(1)
mxspd#=MouseXSpeed()*0.2
myspd#=MouseYSpeed()*0.2
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch=campitch+myspd
If campitch<-89 Then campitch=-89
If campitch>89 Then campitch=89
RotateEntity player,campitch,EntityYaw(player)-mxspd,0
If KeyDown( 203 )=True Then mvx=mvx-0.7
If KeyDown( 205 )=True Then mvx=mvx+0.7
If KeyDown( 200 )=True Then mvz=mvz+0.7
If KeyDown( 208 )=True Then mvz=mvz-0.7
mvy=mvy-5.1
If EntityCollided(player,TypeWall)
mvy=mvy+3.1
EndIf
mvx=mvx/1.2
mvy=mvy/1.2
mvz=mvz/1.2
MoveEntity player,mvx,0,mvz
TranslateEntity player,0,mvy,0
RenderWorld
UpdateWorld
Flip
Wend
End
Include "load_csm.bb"
но тогда управление не пашет(
|
(Offline)
|
|
15.01.2010, 22:35
|
#462
|
Знающий
Регистрация: 26.11.2009
Сообщений: 313
Написано 35 полезных сообщений (для 95 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
laaqiq ты создал камеру и пивот на 150 едениц выше камеры
не к чему хорошему ето не приведет
зачем тебе вопще пивот здался? зделай так:
player = createsphere()
camera = createcamera(player)
positionentity camera,0,2,0
у меня таким способом все отлично работает
__________________
StimuL
Maks
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.01.2010, 22:37
|
#463
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
1)Довольно неблагодарно копипастить весь код с includ'aми
2)Этот код вообще не может работать поскольку переменная Camera объявляется глобальной дважды
3)Зачем такие сложности? Куча переменных это хорошо, но ты же не физику движений делаешь? Код очень извращенный... Такое ощущение что ты его откуда-то скопировал(возможно, с физического бенчмарка) и теперь не можешь понять почему ничего не работает. Делай проще, и люди к тебе потянутся.
mvx=mvx/1.2
mvy=mvy/1.2
mvz=mvz/1.2
|
Вот это очень очень страшно. Мало того что делятся дробные числа так ещё и в цикле.
Вывод: переписывай код на этот раз без TranslateEntity, извращенных переменных, настроек камеры и т.д.
Дать правильный пример не могу - у меня нет твоей медии, а если я напишу по-своему то ты ничего не поймешь
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.01.2010, 22:45
|
#464
|
AnyKey`щик
Регистрация: 14.01.2010
Сообщений: 10
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
я как раз и хочу чтбы на камеру действовала сила притяжения к земле
ладн завтра еще помучаюсь
|
(Offline)
|
|
15.01.2010, 23:04
|
#465
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Делай поля ускорений по AX#,aAY#,aZ#, соответственно к aY# прибавляй отрицательную гравитацию. И прибавляй к координатам тела X#=X#+aX# и тд. Вот тебе и будет немного физики 
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Reizel за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:10.
|