forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

IGR 30.05.2010 14:12

Ответ: Вопрос-Ответ (для новичков)
 
пиплай неподдерживает экспорт системы частиц из макса !!

Fatal 30.05.2010 14:18

Ответ: Вопрос-Ответ (для новичков)
 
Я об этом знаю, и спросил о других способах создания системы частиц не программируя ее. Это-то я умею.

IGR 30.05.2010 14:23

Ответ: Вопрос-Ответ (для новичков)
 
взять готовую библиотеку с системой частиц !! Таких полно !! Попробуй поискать по форуму или в гугле !! Виберешь себе подходящую !! :)
А с макса пытатся ее как то заекспортировать это все равно что зуб через жопу рвать !! :)

Fatal 30.05.2010 18:03

Ответ: Вопрос-Ответ (для новичков)
 
Ахахах)) Удачное сравнение, спасибо.

Alex_Noc 30.05.2010 22:14

Ответ: Вопрос-Ответ (для новичков)
 
а я однако нашел метод стянуть частицы с макса))), только пришлось скрипт написать )). сразу скажу скрипта нету уже!!!

IGR 30.05.2010 22:35

Ответ: Вопрос-Ответ (для новичков)
 
ух ты.. Кул !!
А что там поддерживалось при експорте ?? Может стоит заного написать ?? ;)

Fatal 31.05.2010 01:12

Ответ: Вопрос-Ответ (для новичков)
 
Алекс, выложи на всеобщее обозрение, я думаю я не один буду тебе благодарен!

IGR 31.05.2010 01:25

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Fatal (Сообщение 148470)
Алекс, выложи на всеобщее обозрение, я думаю я не один буду тебе благодарен!

Цитата:

сразу скажу скрипта нету уже!!!
к.о. спЭшит на помощь !!

Fatal 31.05.2010 13:27

Ответ: Вопрос-Ответ (для новичков)
 
Либо он исправил после моего поста, либо я не угледел.

RlexGm 31.05.2010 14:51

Ответ: Вопрос-Ответ (для новичков)
 
А можно изменить у спрайта прозрачный цвет(черный)?, а то мне нужно спрайт с черными цветами)

Fatal 31.05.2010 15:15

Ответ: Вопрос-Ответ (для новичков)
 
Да, просто вместо RGB 0.0.0 ставь RGB 0.0.1 - различия ты не увидишь, а работать будет.

EvilChaotic 31.05.2010 16:19

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Fatal (Сообщение 148505)
Да, просто вместо RGB 0.0.0 ставь RGB 0.0.1 - различия ты не увидишь, а работать будет.

wtf?

EntityBlend ent,2 ;(Multiply)

Fatal 31.05.2010 16:39

Ну или так)))

Как русифицировать IDE, а точнее добраться до его ресурсов. В IDE.exe тоьлко курсор и иконка.

Feos 31.05.2010 18:18

Ответ: Вопрос-Ответ (для новичков)
 
здравствуйте.
есть ли где доки, разъясняющие с нуля понятия коллизии и хотбоксов?
гуголь ничего вразумительного не дает, только вывел на ваш форум.
а у вас все уже на прикладном уровне.
(мне бы преимущественно для 2Д)

IGR 31.05.2010 18:21

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Fatal (Сообщение 148517)
Ну или так)))

Как русифицировать IDE, а точнее добраться до его ресурсов. В IDE.exe тоьлко курсор и иконка.

учи основные слова и выражения технического английского !! так тебе будет намного проще жить !!

завтра выйдет новый IDE.exe !! ты его тож патчить будишь ?? или когда захочится перейти на другой IDE ??

baton4ik 31.05.2010 20:21

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от IGR (Сообщение 148534)
учи основные слова и выражения технического английского !! так тебе будет намного проще жить !!

завтра выйдет новый IDE.exe !! ты его тож патчить будишь ?? или когда захочится перейти на другой IDE ??

Ну так, если он его САМ русифицирует, то скилл английского набьёт лучше, чем если он просто будет работать с английским ИДЕ!

Hurrit 31.05.2010 20:30

Ответ: Вопрос-Ответ (для новичков)
 
Feos, скачай тутор scaven, в какой-то главе, он рассказывал про коллизии.

OneThree 04.06.2010 11:41

Ответ: Вопрос-Ответ (для новичков)
 
Привет всем. Помогите с перемещением объекта. В локальных координатах перемещается всё ок, вот только пока не провзаимодействует с препятствием, делает кувырок или мёртвую петлю, а должен просто упасть и идти прямо. Помогите правильно связать с глобальными координатами, чтобы объект перемещался по х и z, а по у была только "гравитация" которая плюсовалась к скорости.

RlexGm 04.06.2010 12:25

Ответ: Вопрос-Ответ (для новичков)
 
чето я не понял, код в студию
ну а вообще не пробывал MoveEntity?

OneThree 04.06.2010 13:11

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 148968)
чето я не понял, код в студию
ну а вообще не пробывал MoveEntity?


If EntityCollided( koleso[1], SCENE ) Or EntityCollided( koleso[2], SCENE ) Or EntityCollided( koleso[3], SCENE ) Or EntityCollided( koleso[4], SCENE )
;TranslateEntity car,0,0,speed, True
MoveEntity car,0,0,speed
Else
MoveEntity car,0,0,speed
EndIf

вот соответственно использовал... При этом методе и выходят выкрутасы которые я описал выше...:mad:, но в остально ездит как надо, а если использовать TranslateEntity все четко - прыгает как надо, правда машина едет только по z, я пока не придумал как реализовать повроты в глобальном...

Dream 04.06.2010 13:26

Ответ: Вопрос-Ответ (для новичков)
 
>я пока не придумал как реализовать повроты в глобальном...
тригонометрия (или геометрия всётаки?) тебе в помощь,x=speed*cos(angle) y=speed*sin(angle) по типу такого.
но это извраты, потому что всё должно работать
Цитата:

PHP код:

If EntityCollidedkoleso[1], SCENE ) Or EntityCollidedkoleso[2], SCENE ) Or EntityCollidedkoleso[3], SCENE ) Or EntityCollidedkoleso[4], SCENE )
;
TranslateEntity car,0,0,speedTrue
MoveEntity car
,0,0,speed
Else
MoveEntity car,0,0,speed
EndIf 


? она у тебя движется в любом случае, тогда зачем проверку? для создания гравитации проще всего использовать PostionEntity car,EntityX(car),EntityY(car)-0.09,EntityZ(car)

OneThree 04.06.2010 13:59

Ответ: Вопрос-Ответ (для новичков)
 
Проверку для TranslateEntity использовал... А за формулы спасибо!

RlexGm 04.06.2010 17:06

Ответ: Вопрос-Ответ (для новичков)
 
не знаю поможет ли(я не очень понял), а если
Код:


MoveEntity car,0,Vsvp,speed

If EntityCollided( koleso[1], SCENE ) Or EntityCollided( koleso[2], SCENE ) Or EntityCollided( koleso[3], SCENE ) Or EntityCollided( koleso[4], SCENE )
Vsvp=0.0
Else
Vsvp=Vsvp-9.8 ; увеличиваем скорость за счёт ускорения свободного падения
EndIf

Vsvp - скорость свободного падения
Если нужна обычная гравитация, то просто вместо Vsvp=Vsvp-9.8 ставим Vsvp=-9 ; или сколько там..
Надеюсь я тебя правильно понял:)
И еще надеюсь у тебя колёса дети машины?:-D

Dream 04.06.2010 17:13

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 149004)
не знаю поможет ли(я не очень понял), а если
Код:


MoveEntity car,0,Vsvp,speed

If EntityCollided( koleso[1], SCENE ) Or EntityCollided( koleso[2], SCENE ) Or EntityCollided( koleso[3], SCENE ) Or EntityCollided( koleso[4], SCENE )
Vsvp=0.0
Else
Vsvp=Vsvp-9.8 ; увеличиваем скорость за счёт ускорения свободного падения
EndIf

Vsvp - скорость свободного падения
Если нужна обычная гравитация, то просто вместо Vsvp=Vsvp-9.8 ставим Vsvp=-9 ; или сколько там..
Надеюсь я тебя правильно понял:)
И еще надеюсь у тебя колёса дети машины?:-D

а если машинка будет ехать под гору, то эта твоя так называемая гравитация будет напрвлена перпендикулярно к плоскости на покотрой едет машинка, что не есть правильно, и если вдруг машинка захочет сделать сальто, то она улетит вверх дном в небо

RlexGm 04.06.2010 17:18

Ответ: Вопрос-Ответ (для новичков)
 
блин не доглядел, ну тогда MoveEntity car,0,0,speed
и твой код(точнее кусман :-D ) TranslateEntity:)

RlexGm 11.06.2010 12:52

Ответ: Вопрос-Ответ (для новичков)
 
а есть какой нибудь способ сталкивания пули с AnimMesh?

Hurrit 11.06.2010 13:22

Ответ: Вопрос-Ответ (для новичков)
 
PHP код:

If EntityCollidedkoleso[1], SCENE ) Or EntityCollidedkoleso[2], SCENE ) Or EntityCollidedkoleso[3], SCENE ) Or EntityCollidedkoleso[4], SCENE )
MoveEntity car,0,0,speed
EndIf

TranslateEntity car,0,-10,

Попробуй так.

is.SarCasm 12.06.2010 01:16

Ответ: Вопрос-Ответ (для новичков)
 
Пользуйтесь пиком, для шутеров самое оно

RlexGm 12.06.2010 12:46

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 149937)
а есть какой нибудь способ сталкивания пули с AnimMesh?

сам решил свой вопрос, создал из кубиков модель(не аниммеш) и припарентил к аниммешу, конечно не точно( по рукам не попадает, ну и посрать:) )
еще один вопрос: сделал для бота угол зрения
If (180 - Abs( DeltaYaw(dcw\Pivot, player))) <100 , но бот видит сквозь стены:mad: и как сразу начинаешь уровень, условие выполняется, как можно решить эту проблему кроме EntityDistance,думал насчёт LinePick, но его нужно как то привзать на локальные координаты бота

RlexGm 14.06.2010 12:33

Ответ: Вопрос-Ответ (для новичков)
 
не много хелпа и я это решил сам=)
если кому нибудь интересно как это решаеться, то вот:
ставим пик мод на объекты, через которые он не должен видеть:
Код:

EntityPickMode wall,2,true
Последний параметр true обозначает что объект будет перекрывать другие объекты при EntityVisible.
Код:

If EntityVisible(dcw\pivot,player)=True Then
If (180 - Abs( DeltaYaw(dcw\Pivot, player))) >90 Then dcw\status=1
EndIf


Nex 15.06.2010 15:34

Ответ: Вопрос-Ответ (для новичков)
 
Подскажите как сделать радиус поражения от взрыва. :)

RlexGm 15.06.2010 16:02

Ответ: Вопрос-Ответ (для новичков)
 
не знай для каких целей тебе надо, но я юзаю EntityDistance

Nex 15.06.2010 17:41

Ответ: Вопрос-Ответ (для новичков)
 
Ну у взрыва одна цель - взорваться и все снести. :crazy:
Вообще у меня в игре есть бочки, в некоторых местах они кучкой стоят ну и я хочу что бы при взрыве одной бочки близлежащие тоже взорвались или загорелись.
Пробовал сделать так EntityDistance (b\ent,b\ent), но функция ничего не возвращает. :)

RlexGm 15.06.2010 18:13

Ответ: Вопрос-Ответ (для новичков)
 
гм а я думал взрыв от гранаты или бомбы например:)
может создать источник взрыва(пивот) в координатах бочки, когда например бочка загорается , создать переменную, которая возращает true или один в момент взрыва, и проверять дистанцию пивота с бочками и переменную, если оба условия выполняются то... бабах b\ent
З.Ы. для пивота лучше создать отдельный тип

FireOwl 15.06.2010 19:12

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Nex (Сообщение 150306)
Пробовал сделать так EntityDistance (b\ent,b\ent), но функция ничего не возвращает. :)

Конечно ничего не возвращает! Ты же в оба параметра один объект засунул!

Необходимо проверяемую бочку сохранить отдельно, а потом прокручивать остальные бочки в цикле и проверять.

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

is.SarCasm 15.06.2010 19:47

Ответ: Вопрос-Ответ (для новичков)
 
Считаю что надо бочку и взрыв делать отдельно.

Nex 16.06.2010 11:35

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Необходимо проверяемую бочку сохранить отдельно
Типа через хендл? Если да, то я пробовал, но все равно не работает. И лучше дайте код простенький, а там я уже соображу. :)

FireOwl 16.06.2010 18:28

Ответ: Вопрос-Ответ (для новичков)
 
Warning! Псевдо-код!
Код:

Type barrel
   
Field mesh
   
Field life
End Type

pickmesh  ; допустим, это меш который был определен пиком

; определение в главном цикле бочки, в которую стреляли
For b.barrel=Each barrel
   
If b\mesh=pickmesh Then Explode(b)
Next

Function Explode(b.barrel)
    b\life=0   
           
    ; далее код взрыва или еще чего-нибудь
    ;  -
    ;  -

    For d.barrel=Each barrel
        If b<>d And d\life>0 Then
            If EntityDistance(b\mesh,d\mesh)<10 Then
                Explode(d)
            EndIf
        EndIf
    Next
    FreeEntity(b\mesh)
    Delete b
End Function

Эх.. Давно не писал на Blitz, может где ошибся.
Но идея была примерно такой.

Nex 17.06.2010 07:50

Ответ: Вопрос-Ответ (для новичков)
 
FireOwl, спасибо, заработало.
Только странно. Я делал практически так же, но не работало. :)

Hurrit 17.06.2010 22:06

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Nex (Сообщение 150446)
Я делал практически так же, но не работало. :)

Нет, не практически так же. Ты проверял один и тот же объект на расстояние.

Sayman 18.06.2010 12:20

Re: Вопрос-Ответ (для новичков)
 
Уважаемые, я всё понимаю, не хорошо, но всё же - где качнуть последнее обновление для блиц3д? быть может есть у кого-то расшарит, ссылку в личку?! ну пажаааалста.!

Mhyhr 18.06.2010 14:49

Ответ: Вопрос-Ответ (для новичков)
 
Уважаемый, последние обновления, вроде не очень стабильны, особенно в отношении библиотек. Да и ничего нового там нет. 1.98 вполне хороша.
Гугл дал эту ссылку

RlexGm 21.06.2010 09:56

Ответ: Вопрос-Ответ (для новичков)
 
А как можно сделать так, чтобы игрок сам отличал пол от стен, то есть что бы не нужно было их в разные типы пихать, а например если столкнулся с полом то работают прыжки и т.д.

Nex 21.06.2010 10:32

Ответ: Вопрос-Ответ (для новичков)
 
Замоделить пол и стены отдельно и назначить им разные коллизии.

baton4ik 21.06.2010 13:16

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Nex (Сообщение 150778)
Замоделить пол и стены отдельно и назначить им разные коллизии.

Он же написал: что б не пихать в разные типы! EaNub, пиком под ноги.

tormoz 21.06.2010 17:07

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 150775)
А как можно сделать так, чтобы игрок сам отличал пол от стен, то есть что бы не нужно было их в разные типы пихать, а например если столкнулся с полом то работают прыжки и т.д.

CollisionNX

CollisionNY

CollisionNZ

baton4ik 21.06.2010 18:34

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от tormoz (Сообщение 150837)
CollisionNX

CollisionNY

CollisionNZ

А разве это глобально?

RlexGm 21.06.2010 18:38

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от baton4ik (Сообщение 150805)
EaNub, пиком под ноги.

Пробовал вот так:
Код:

If EntityPick (wlk,3)>0
Gravity=0
Else
Gravity=1
EndIf

Объекты нужные поставил EntityPickMode , но команда не срабатывает, Gravity постоянно равен 1.

Цитата:

Сообщение от tormoz (Сообщение 150837)
CollisionNX

CollisionNY

CollisionNZ

А нет никакого примера с использованием этих команд, а то в хелпе нету(
И к сожелению я не очень силён в геометрии:( и не знаю что такое
PHP код:

компонент нормали столкновения 

Понял немного что такое нормаль из википедии...

is.SarCasm 21.06.2010 18:48

Ответ: Вопрос-Ответ (для новичков)
 
CollisionNX

CollisionNY

CollisionNZ

RlexGm 21.06.2010 18:52

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Igorian (Сообщение 150845)

Ну...как я и говорил, в том хелпе тоже примера нету:)

tormoz 22.06.2010 00:08

Ответ: Вопрос-Ответ (для новичков)
 
Если CollisionNY отличен от нуля, значит ты столкнулсе НЕ с вертикальной плоскостью

RlexGm 22.06.2010 09:25

Ответ: Вопрос-Ответ (для новичков)
 
А что за индекс столкновения?Писал разное туда, но всё равно выдавало:
Collision index out of range.

Nex 22.06.2010 10:18

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 150888)
А что за индекс столкновения?Писал разное туда, но всё равно выдавало:
Collision index out of range.

А может это название коллизии?

is.SarCasm 22.06.2010 13:10

Ответ: Вопрос-Ответ (для новичков)
 
Из примера castle

Цитата:

For k=1 To CountCollisions( b\sprite )
If GetEntityType( CollisionEntity( b\sprite,k ) )=TYPE_SCENERY
cx#=CollisionX( b\sprite,k )
cy#=CollisionY( b\sprite,k )
cz#=CollisionZ( b\sprite,k )
nx#=CollisionNX( b\sprite,k )
ny#=CollisionNY( b\sprite,k )
nz#=CollisionNZ( b\sprite,k )
th.Hole=New Hole
th\alpha=1
th\sprite=CopyEntity( hole_sprite )
PositionEntity th\sprite,cx,cy,cz
AlignToVector th\sprite,-nx,-ny,-nz,3
MoveEntity th\sprite,0,0,-.1
Exit
EndIf
Next

tormoz 22.06.2010 17:02

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 150888)
А что за индекс столкновения?Писал разное туда, но всё равно выдавало:
Collision index out of range.

Количество столкновений за цикл может быть разное.
Индекс и указывает, какое именно столкновение тебе нужно

CountCollisions - возвращает количество столкновений
0 - столкновений нет
стоишь на земле - будет 1
касаешся стены - 2 (одно на землю, второе на стену) и тд.

Перебирай через фор все индексы

Код:

For i=1 to CountCollisions(entity)
If CollisionEntity( entity,i )
cy#=CollisionNY( entity,i)
If cy>0.01 or cy<-0.01
  игрок касается горизонтальной поверхности
EndIf
EndIf
Next


RlexGm 24.06.2010 09:11

Ответ: Вопрос-Ответ (для новичков)
 
А вот как сделать нормальное приседание, много видел обсуждении, типа создание игрока из двух пивотов.Так вот я много разных способов использовал, но нормально эти два пивота присоеденить друг к другу я не смог.На ровной поверхности всё нормально, а вот когда подходиш ...ну например к ящикам, нижняя часть сталкивается с ним, а верхняя спокойно проходит поверх ящика...

Zer0n 24.06.2010 09:27

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от EaNub (Сообщение 151158)
А вот как сделать нормальное приседание, много видел обсуждении, типа создание игрока из двух пивотов.Так вот я много разных способов использовал, но нормально эти два пивота присоеденить друг к другу я не смог.На ровной поверхности всё нормально, а вот когда подходиш ...ну например к ящикам, нижняя часть сталкивается с ним, а верхняя спокойно проходит поверх ящика...

Коли от первого лица, то посмотри урок по созданию квеста на Ксорсе от Hurrit. Там это описано! ;)

RlexGm 24.06.2010 09:53

Ответ: Вопрос-Ответ (для новичков)
 
Посмотрел, там только имитация приседания(камера вверх, вниз) а вот например если нужно залезть в какой нибудь узкий проход.
вообще бы не плохо сделать передвижение как в контре:-D

Mr_F_ 24.06.2010 15:26

Ответ: Вопрос-Ответ (для новичков)
 
ну сделай коллизию персу из двух эллипсойдов, нижнего и верхнего, опускай/убирай нижний вместе с анимкой приседания

RlexGm 24.06.2010 15:30

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Mr_F_ (Сообщение 151263)
ну сделай коллизию персу из двух эллипсойдов, нижнего и верхнего, опускай/убирай нижний вместе с анимкой приседания

в этом и проблема, что я не могу скрепить нормально два эллипсойда, если парентить то при столкновении с низким объектом, например ящик, нижняя сталкивается, а верхняя проходит:mad:

Zer0n 24.06.2010 15:39

Ответ: Вопрос-Ответ (для новичков)
 
А если камера + ScaleEntity? Или у тебя через физику?

RlexGm 24.06.2010 16:39

Ответ: Вопрос-Ответ (для новичков)
 
нет, не через физику, у меня два пивота с радиусом + камера

RlexGm 25.06.2010 11:35

Ответ: Вопрос-Ответ (для новичков)
 
вообщем немного урежу свой вопрос, как свзяать два пивота с радиусов, так что бы например если 1 столкнулся, то и 2 останавливается и наоборот, если 2 столкнулся, то и 1 останавлвается.

Nex 25.06.2010 12:37

Ответ: Вопрос-Ответ (для новичков)
 
Наверно условием. Если нет столкновений, то парентить один пивот к другому - как то так. :)


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

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