Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на Blitz3D

Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п.

Ответ
 
Опции темы
Старый 01.12.2005, 22:35   #91
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
2Pax

Уууу...код то ты приводил...но я не понимаю КАК им пользоваться!

что куда втыкать, что бы куб появился!?
(Offline)
 
Ответить с цитированием
Старый 01.12.2005, 22:44   #92
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Originally posted by Fant@Dec 1 2005, 10:35 PM
2Pax

Уууу...код то ты приводил...но я не понимаю КАК им пользоваться!

что куда втыкать, что бы куб появился!?
вот пример:
box=CreateMesh()
surf=GetSurface(box)
AddBoxToSurface(Surf%,0,0,0,5)
UpdateNormals(box)

Да из функции AddBoxToSurface(Surf%,BoxSide%,X#,Y#,Z#,C#=1) сотрите параметр BoxSide% - он не нужен, а код примера просто скопируй в своего бомбера
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 01.12.2005, 22:46   #93
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
СпасибО!
Я сделаю! Завтра!
А то щас англ. делаю! Не могу проверить!
(Offline)
 
Ответить с цитированием
Старый 01.12.2005, 23:30   #94
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Выбирая направление движения ориентируй врагов на Игрока, а не проверяй бездумно куда можно пойти... Сначала строй вектор между врагом и игроком, определяй где он находится, если правее. значит сначала проверь можно пойти направо или нет...

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

Синхронизацию скорости с ФПС тем способом который ты делаешь сделать невозможно... У тебя будет получаться что объект который проходит обработку позднее будет двигаться быстрее. Хотя в данном случае этого может и не будет заметно. Нужно перед обработкой логики запомнить значение времени и везде использовать эту переменную...

Колизии тебе здесь мешают... Тебе нужет только masPrep...

Это для ИИ посоветовал Tolking Pet!
(Offline)
 
Ответить с цитированием
Старый 01.12.2005, 23:49   #95
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Graphics3D 800,600,32,2
SetBuffer BackBuffer()

Const BoxUpperSide%=0 *
Const BoxFrontSide%=1
Const BoxBackSide%=2
Const BoxLeftSide%=3
Const BoxRighrtSide%=4

box=CreateMesh()
surf=CreateSurface(box)
AddBoxToSurface(Surf%,0,0,0,5)
UpdateNormals(box)


;C-размер куба, Surf%-поверхность к которой добавляется Куб
;X#,Y#,Z# - координаты центра куба
Function AddBoxToSurface(Surf%,X#,Y#,Z#,C#=1)
AddBoxSideToSurface(Surf%,BoxUpperSide%,X#,Y#,Z#,C#)
AddBoxSideToSurface(Surf%,BoxFrontSide%,X#,Y#,Z#,C#)
AddBoxSideToSurface(Surf%,BoxBackSide%,X#,Y#,Z#,C#)
AddBoxSideToSurface(Surf%,BoxLeftSide%,X#,Y#,Z#,C#)
AddBoxSideToSurface(Surf%,BoxRighrtSide%,X#,Y#,Z#,C#)
; Нижнюю сторону куба я не добавлял :)
End Function

;Можно добавить только сторону
Function AddBoxSideToSurface(Surf%,BoxSide%,X#,Y#,Z#,C#)
Local X1#, Y1#, Z1#, X2#, Y2#, Z2#, X3#, Y3#, Z3#, X4#, Y4#, Z4#
Local V1%, V2%, V3%, V4%
Local T1%, T2%
C#=C#/2
Select BoxSide%
Case BoxUpperSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#+C: Y2#=Y#+C: Y3#=Y#+C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
Case BoxFrontSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#-C: Y2#=Y#-C: Y3#=Y#+C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#-C: Z4#=Z#-C
Case BoxBackSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#+C: Y2#=Y#+C: Y3#=Y#-C: Y4#=Y#-C
 Z1#=Z#+C: Z2#=Z#+C: Z3#=Z#+C: Z4#=Z#+C
Case BoxLeftSide%
 X1#=X#-C: X2#=X#-C: X3#=X#-C: X4#=X#-C
 Y1#=Y#-C: Y2#=Y#+C: Y3#=Y#+C: Y4#=Y#-C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
Case BoxRighrtSide%
 X1#=X#+C: X2#=X#+C: X3#=X#+C: X4#=X#+C
 Y1#=Y#+C: Y2#=Y#-C: Y3#=Y#-C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
End Select
V1%=AddVertex(Surf%, X1#, Y1#, Z1#, 0, 0)
V2%=AddVertex(Surf%, X2#, Y2#, Z2#, 1, 0)
V3%=AddVertex(Surf%, X3#, Y3#, Z3#, 1, 1)
V4%=AddVertex(Surf%, X4#, Y4#, Z4#, 0, 1)
T1%=AddTriangle(Surf%, V1%,V3%,V2%)
T2%=AddTriangle(Surf%, V1%,V4%,V3%)
End Function

camera=CreateCamera()
MoveEntity camera,0,0,-10

Repeat

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
Делаем крутой кубик! И без дниЩЩа!

Pax ! Его идея!

Повысилось ФПС! Очень незначительно! Но повысилось!
(Offline)
 
Ответить с цитированием
Старый 02.12.2005, 16:59   #96
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Подведем итоги:

Глобальные проблемы:

1) ИИ
К сожалению это проблема номер 1. И пока не решима(на сегодня)
--------------------------------------------------------------------------------

Очень нужна помощь с ИИ

2) Сделать генератор случайной расстановки пробиваемых кубиков(для "схватки")
(Offline)
 
Ответить с цитированием
Старый 02.12.2005, 18:31   #97
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Я бы сказал не нерешима, а не решеНА.

Случайная расстановка кубиков аналогична расстановке бонусов, только делаешь цикл от 1 до колвоКубиков, в котором их и расставляешь.
(Offline)
 
Ответить с цитированием
Старый 02.12.2005, 20:37   #98
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
2Жека :
Я кстати не заметил, где в бомбере неразрушимые кубики объединяются в один меш...
по мойму для этого надо создать пустой меш, и запихивать их туда, да еще вместо того чтобы к кубикам применять EntityRadius() надо создать точку привязки и ей сделать EntityRadius() (как бы имитация, что на этом месте стоит куб). Просто если все объединить в один меш инфа по колизиям потеряется...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 02.12.2005, 20:50   #99
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
А я Fant'у не давал исходник с объединёнными кубиками.
А у нас стоит (и стоял) метод элипсоид-полигоны, поэтому ничего не потерялось.
Если делать элипсоид-элипсоид, то игрок будет немного "въезжать" между кубиков.
(Offline)
 
Ответить с цитированием
Старый 02.12.2005, 21:10   #100
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Originally posted by Жека@Dec 2 2005, 08:50 PM
А я Fant'у не давал исходник с объединёнными кубиками.
А у нас стоит (и стоял) метод элипсоид-полигоны, поэтому ничего не потерялось.
Если делать элипсоид-элипсоид, то игрок будет немного "въезжать" между кубиков.
Эллипсоид-полигон - это достаточно тормозной метод, тогда лучше сделайте точки привязки и поменяйте метод на эллипсоид-бокс, так быстрее должно быть, эллипсоид -полигон надо использовать только к стенам.

в своей игре я кстати вообще обрабатываю коллизии вручную, тока для вашей игры это может не подойти, у меня положение игрока выравнивается по клеточкам про каждом повороте...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 03.12.2005, 09:27   #101
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Здесь тоже надо вручную: и игрок, и противники должны двигаться между кубиками от кубика к кубику, а щас они просто движутся, без выравнивания.
(Offline)
 
Ответить с цитированием
Старый 03.12.2005, 10:31   #102
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Originally posted by Жека@Dec 3 2005, 08:27 AM
Здесь тоже надо вручную: и игрок, и противники должны двигаться между кубиками от кубика к кубику, а щас они просто движутся, без выравнивания.
Ты хочешь сказать, что игрок должен двигаться как паровоз!? ( в том смысле, что по ЗАДАННОЙ траектории! (то есть нельзя сместиться на -1)

Так так оно и есть! Повернуться можно на 90 градусов! А хотьба? Можно заставить игрока ходить на 5 единиц каждый раз! Тогда что же бужедет с плавностью? Вообще идея, конечно, хорошая! Но я пока что не представляю как ее реализовать!

Не кажется ли, что при выравнивании будут "резкие движения" ? (я,конечно, не знаю точно, но все же!)
(Offline)
 
Ответить с цитированием
Старый 03.12.2005, 10:34   #103
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Originally posted by Жека@Dec 2 2005, 05:31 PM
Я бы сказал не нерешима, а не решеНА.

Случайная расстановка кубиков аналогична расстановке бонусов, только делаешь цикл от 1 до колвоКубиков, в котором их и расставляешь.
Спасибо за досказку!

Надеюсь, что это я сам осилю! Ну а если что, то напишу в раздел 3d программирования! Но, надеюсь, что кубики я сам расставлю!

Я уже так сам как-то расставлял (года 1,2 назад)

И проблема, с котороя я застрял была: КАК заставить коллидется пробиваемые кубики между собой! Это и была самая ужасная трабла! Я сумел сделать так, что бы не было коллизии непробиваеых и пробиваемых, а вот пробиваемых и пробиваемых увы не смог
(Offline)
 
Ответить с цитированием
Старый 03.12.2005, 12:59   #104
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
И проблема, с котороя я застрял была: КАК заставить коллидется пробиваемые кубики между собой! Это и была самая ужасная трабла! Я сумел сделать так, что бы не было коллизии непробиваеых и пробиваемых, а вот пробиваемых и пробиваемых увы не смог
Не понял, зачем это? Они же не двигаются. Вот если сделать взрывную волну, тогда да.
Посмотри расстановку бонусов.

Метод элипсоид-бокс надо попробовать - узнать что быстрее.
Кстати, для работы ИИ кубикам установлен ПИК-режим - это тоже тормозит, наверное.

Движения на 5 делать конечно не надо!
Просто надо сделать автоматическую хотьбу между клетками, т.е. игрок нажал клавишу "вперёд" и отпустил, а его герой продолжает двигаться, пока не пройдёт 5 единиц - ПЛАВНО.
Так же и с простивниками.
(Offline)
 
Ответить с цитированием
Старый 04.12.2005, 00:28   #105
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Движения на 5 делать конечно не надо!
Просто надо сделать автоматическую хотьбу между клетками, т.е. игрок нажал клавишу "вперёд" и отпустил, а его герой продолжает двигаться, пока не пройдёт 5 единиц - ПЛАВНО.
Так же и с простивниками.
Для этого я хотел использовать вот этот алгоритм:
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com