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

TxN 20.09.2009 19:37

Вопросы очередного новичка
 
У меня тут возникло немного вопросов по блицу и физиксу в частности, но сам ответа на них я пока не нашел.

первый:
у меня физические модели (пропы, я привык их так звать) автоматически грузятся и настраиваются с помощью .cfg файла, в котором записаны все необходимые параметры. Однако можно случайно подать не существующий cfg файл, и тогда игра падает. Я нашел функцию FileType(file), которая могла бы решить эту проблему. Однако как завершить выполнение функции при ошибке я так и не догадался. Break и Exit не работают, а больше я ничего и не знаю.
Второй:
как определить координаты той точки, куда смотрит камера?
Третий:
как находить длину PxRay?
Четвертый:
как сделать так, чтобы игрок был тоже физ.объектом?
У меня выходят какие-то криворукие вещи, толку от которых нету. Пока реализовал обычными коллизиями.

По мере появления вопросов буду писать еще, не обижайтесь на неразумного)

Dakar 20.09.2009 19:41

Ответ: Вопросы очередного новичка
 
Отвечу на второй:
PickedX(),PickedY(),PickedZ()

Только обьектам на которые смотриш по ставь пикмоде 2

Dakar 20.09.2009 19:42

Ответ: Вопросы очередного новичка
 
Вот пример из хелпа

Код:

; Пример CameraPick
; ------------------

Graphics3D 640,480,0,2
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,0,2,-10

light=CreateLight()
RotateEntity light,90,0,0

plane=CreatePlane()
EntityPickMode plane,2 ; Присвоим плоскости тип определения 2 (по полигонам).
ground_tex=LoadTexture("media/Chorme-2.bmp")
EntityTexture plane,ground_tex

cube=CreateCube()
EntityPickMode cube,2 ; Присвоим кубу тип определения 2 (по полигонам).
cube_tex=LoadTexture("media/b3dlogo.jpg")
EntityTexture cube,cube_tex
PositionEntity cube,0,1,0

While Not KeyDown( 1 )

If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0
If KeyDown( 203 )=True Then TurnEntity camera,0,1,0
If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.05
If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.05

; Если левая кнопка мыши нажата, используем CameraPick с координатами мыши
; В этом примере можно выбрать только 3 вещи: плоскость, куб, или ничего
If MouseHit(1)=True Then CameraPick(camera,MouseX(),MouseY())

RenderWorld

Text 0,0,"Use cursor keys to move about"
Text 0,20,"Press left mouse button to use CameraPick with mouse coordinates"
Text 0,40,"PickedX: "+PickedX#()
Text 0,60,"PickedY: "+PickedY#()
Text 0,80,"PickedZ: "+PickedZ#()
Text 0,100,"PickedNX: "+PickedNX#()
Text 0,120,"PickedNY: "+PickedNY#()
Text 0,140,"PickedNZ: "+PickedNZ#()
Text 0,160,"PickedTime: "+PickedTime#()
Text 0,180,"PickedEntity: "+PickedEntity()
Text 0,200,"PickedSurface: "+PickedSurface()
Text 0,220,"PickedTriangle: "+PickedTriangle()

Flip

Wend

End


TxN 20.09.2009 19:45

Ответ: Вопросы очередного новичка
 
Тo Dakar:

А к trimesh это подойдет, не знаешь?
просто уровень реализован именно им, и надо создавать объекты там, куда смотрит камера, и чтобы они не застревали и никуда не девались

спасибо за мгновенную реакцию, про камера пик совсем забыл, хотел pxRay'ем делать

Dakar 20.09.2009 19:49

Ответ: Вопросы очередного новичка
 
Цитата:

Сообщение от TxN (Сообщение 119198)
Тo Dakar:

А к trimesh это подойдет, не знаешь?
просто уровень реализован именно им, и надо создавать объекты там, куда смотрит камера, и чтобы они не застревали и никуда не девались

Пробуй ))) и про пикмоде не забывай, в справке почитай там всё есть :cool:

Вот так она используется :

Код:

EntityPickMode entity,pick_geometry[,obscurer]
Параметры
entity - указатель объекта

pick_geometry - тип геометрии, используемой для проверки:
0: не проверяется (по умолчанию)
1: Сфера (используется EntityRadius)
2: Полигоны
3: Куб (используется EntityBox)

obscurer (не обязательно) - True, чтобы установить, что объект перекрывает другие объекты во время выполнения EntityVisible.

Описание
Устанавливает режим проверки для объекта.

Дополнительный параметр obscurer используется с EntityVisible, чтобы создать условия, когда линия взгляда может как бы беспрепятственно пройти между двумя объектами. Это позволяет проверять некоторые объектам с использованием других pick-команд, но игнорировать их (они как бы 'прозрачные') при использовании EntityVisible. Это очень важное свойство EntityVisible.


St.AnGer 20.09.2009 19:53

Ответ: Вопросы очередного новичка
 
Отвечу на четвёртый вопрос: физическим цилиндром и силами прилагаемыми к нему.

В этой теме есть реализация этого, только через сферу.

TxN 20.09.2009 20:13

Ответ: Вопросы очередного новичка
 
Извините глупого, но как сделать так, чтобы цилиндр при применении к нему силы никуда не переворачивался и не катился?
Еще раз извините за тупость)

tormoz 20.09.2009 20:17

Ответ: Вопросы очередного новичка
 
Цитата:

Сообщение от TxN (Сообщение 119193)
Я нашел функцию FileType(file), которая могла бы решить эту проблему. Однако как завершить выполнение функции при ошибке я так и не догадался. Break и Exit не работают, а больше я ничего и не знаю.

Return

TxN 20.09.2009 20:24

Ответ: Вопросы очередного новичка
 
Блин с ним уже пробовал, не выходило, щас попробовал и нашел баг из-за которого Return глючил)
Return False же правильно его использовать, да?

Dakar 20.09.2009 20:59

Ответ: Вопросы очередного новичка
 
Вот наслождайся:

Про Return

Код:

Return value
Параметры
RETURN возвращает значение из функции, тип данных при этом соответствует объявленному в имени функции.

Значение не может быть возвращено при использовании GOSUB. 

Описание
При вызове внутри структуры FUNCTION, команда RETURN немедленно возвращает выполнение программы из функции назад к основному коду, откуда функция была вызвана. Необязательное значение может быть возвращено. Смотрите FUNCTION для получения большей информации по теме. Помните, после RETURN, оставшийся код FUNCTION не выполняется. Смотрите пример. RETURN также завершает выполнение подпрограммы, вызванной командой GOSUB, но не может возвращать данные.
 


; RETURN Пример

; Выбор результата для значения возврата функции 'testme'
result=testme(Rnd(0,10));

; Программа эффективно заканчивается здесь.

; Подлинная функция
Function testme(test);

; Если случайный номер является = 0
If test=0 Then
Print "Значение было 0"
Return False ; Функция завершается немедленно
Else
Print "Значение больше, чем 0"
Return True ; Функция прекращается немедленно
End If
Print "Эта строка никогда не будет напечатана!"
End Function


TxN 20.09.2009 21:08

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

А хелп у меня на английском

St.AnGer 20.09.2009 23:44

Ответ: Вопросы очередного новичка
 
Цитата:

Сообщение от TxN (Сообщение 119212)
Извините глупого, но как сделать так, чтобы цилиндр при применении к нему силы никуда не переворачивался и не катился?
Еще раз извините за тупость)

Если бы ты один такой был... Сказать то легко, а вот сделать... У меня тоже с этим проблема, бьюсь над ней уже много времени. С цилиндром не получается, за основу главного героя тоже взял сферу. С цилиндром получилось только на С++ сделать с PhysX'ом. Но так как в С++ я ламер пока что, хочу сделать на BB, только сам. И в этом основная запарка.
Пробовал сделать со смещением центра тяжести у цилиндра, но не очень получилось и я забросил. Попробуй, может у тебя что то путёвое получится

St.AnGer 20.09.2009 23:45

Ответ: Вопросы очередного новичка
 
Проблему с кручением сферы я решил быстро, сейчас найду исходник, посмотрю как.

St.AnGer 20.09.2009 23:52

Ответ: Вопросы очередного новичка
 
Я делал глупым способом, но по крайней мере он работает.
При помощи команд EntityPitch, EntityYaw, EntityRoll и pxBodySetRotation я поворачивал физическое тело по углам меши. Способ тупой, но действенный. Надо поворачивать только меш, а тело само повернётся по направлению меши.

И ещё, команда pxBodySetAngularSpeed поможет решить эту проблему логичнее, чем я предложил :)

ABTOMAT 20.09.2009 23:55

Ответ: Вопросы очередного новичка
 
Цитата:

Третий:
как находить длину PxRay?
Теорема Пифагора спешит на помощь!
Код:

Function TeoremaPifagora#(x1#,y1#,z1#,x2#,y2#=0,z2#=0)
        Return Sqr((x1 - x2)^2+(y1 - y2)^2+(z1 - z2)^2)
End Function


St.AnGer 21.09.2009 00:49

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


Код:

Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()

Wireframe 1

cam=CreateCamera()
CameraRange cam,.1,100
PositionEntity cam,0,5,-12

lit1=CreateLight()

pxCreateWorld(0,"")
pxSetGravity(0,-9.8,0)

pl_b=pxBodyCreateCube(2,.1,2,0)
pxBodySetPosition pl_b,0,1,0
pl=CreateCube()
ScaleEntity pl,2,.01,2
pxBodySetEntity pl,pl_b
pl2_b=pxBodyCreateCube(5,.1,5,0)
pl2=CreateCube()
ScaleEntity pl2,5,.01,5
pxBodySetEntity pl2,pl2_b



Global char%
Global mesh%
Global naklon_pitch#
Global naklon_roll#

char=pxBodyCreateCapsule(1.5,.5,80)
pxBodySetPosition char,0,3,0
pxBodySetRotation char,0,0,0
mesh=CreateCylinder(8)
ScaleEntity mesh, .5, 1.5, .5



force#=800

While Not KeyHit(1)
        UpdateWorld()
        RenderWorld()
       
                pxBodySetEntity mesh, char
               
               
                If KeyDown(17)
                        pxBodyAddLocalForce(char,0,0,(vz#-pxBodyGetLocalLinearSpeedZ(char))*force#,0)
                        vz#=1
                Else If KeyDown(31)
                        pxBodyAddLocalForce(char,0,0,-(vz#+pxBodyGetLocalLinearSpeedZ(char))*force#,0)
                        vz#=1
                Else
                        pxBodyAddLocalForce(char,0,0,-pxBodyGetLocalLinearSpeedZ(char)*force#,0)
                End If
       
                If KeyDown(30)
                        pxBodyAddLocalForce(char,-(vx#+pxBodyGetLocalLinearSpeedX(char))*force#,0,0,0)
                        vx#=1
                Else If KeyDown(32)
                        pxBodyAddLocalForce(char,(vx#-pxBodyGetLocalLinearSpeedX(char))*force#,0,0,0)
                        vx#=1
                Else
                        pxBodyAddLocalForce(char,-pxBodyGetLocalLinearSpeedX(char)*force#,0,0,0)
                End If


                naklon_pitch=pxBodyGetRotationPitch(char)
                naklon_roll=pxBodyGetRotationRoll(char)
               
                If naklon_pitch>0 Then
                        pxBodySetRotation char,-naklon_pitch,-mx,0
                        pxBodySetRotation char,0,-mx,0
                Else If naklon_pitch<0 Then
                        pxBodySetRotation char,Abs(naklon_pitch),-mx,0
                        pxBodySetRotation char,0,-mx,0
                End If
                               
                If naklon_roll>0 Then
                        pxBodySetRotation char,0,-mx,-naklon_roll
                        pxBodySetRotation char,0,-mx,0
                Else If naklon_roll<0 Then
                        pxBodySetRotation char,0,-mx,Abs(naklon_roll)
                        pxBodySetRotation char,0,-mx,0
                End If
       
                mx=mx+MouseXSpeed()*.2
                MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
               

                pxRenderPhysic(30,0)
               
        Flip
Wend
End

W,S,A,D и мышь - управление капсулой (не смотрите что меш - цилиндр, лень было делать капсулу:) )

Рад, если чем то помог тебе, TxN :)

З.Ы.: хочу тебя поблагодарить, за то, что заставил шевелиться мой мозг :) Если бы не твоя тема, я так бы и не решил проблему с капсулой :) Так и ждал бы нового урока от АВТОМАТа :)

TxN 21.09.2009 19:00

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

И в результате с камерой случилась такая странность:
Она стала искажать то,что видит, вытягивать объекты, текстуры в разные стороны. Шары выглядят сплющенными, кубы трапецевидными, и.т.д. я хз, что я сделал, пока корень проблемы не нашел)

St.AnGer 21.09.2009 20:26

Ответ: Вопросы очередного новичка
 
Первым в голову лезет мысль про команду CameraZoom... ты ей не пользовался случайно, TxN?

TxN 21.09.2009 20:31

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

3dr1aN 22.09.2009 22:37

Ответ: Вопросы очередного новичка
 
скейл камеры меняется с объектом-родителем.

TxN 23.09.2009 15:19

Ответ: Вопросы очередного новичка
 
А вот за это гигантское спасибо! действительно, проблема была в скейле объекта-родителя!)
Большое спасибо)

TxN 14.10.2009 17:59

Ответ: Вопросы очередного новичка
 
Народ, есть такой тупой вопрос:
как перестать отрисовывать какое-нибудь изображение?
я знаю, можно просто очистить весь экран и отрисовать все заново, но нет ли способа попроще?

Arles 14.10.2009 18:10

Ответ: Вопросы очередного новичка
 
Можно использовать переменную флаг, только очищать экран все равно придется.

coolmen06 21.10.2009 18:39

Ответ: Вопросы очередного новичка
 
Здрасти, у меня есть наитупейший вопрос от чайника..
как сделать чтобы машина мялас от ударов
использую pxCreateMetalCloth, из примера с бочками, но у меня корпус машины движется в 2 раза быстрей колёс и вообще улетает кудата..

вот пример http://sunroze.ru/primer.rar

спасибо всем!!

Morganolla 29.10.2009 23:08

Ответ: Вопросы очередного новичка
 
Еще вопрос от новичка - как сделать свет из солнца в космосе? Я расположил точечный источник около солнца, но когда делаю размер солнца большой (> 30) все планеты пропадают.... :(

NitE 30.10.2009 00:18

Ответ: Вопросы очередного новичка
 
Вложений: 1
я правильно понял ?

Morganolla 30.10.2009 00:26

Ответ: Вопросы очередного новичка
 
Да, в общем правильно... Могу кинуть код для экспериментов. :)

NitE 30.10.2009 00:58

Ответ: Вопросы очередного новичка
 
да былоб здорово

Morganolla 30.10.2009 01:33

Ответ: Вопросы очередного новичка
 
Вот текст: управление wasd и стрелки , 1,2,3 - скорость полета...

Код:

SeedRnd MilliSecs()
Graphics3D 1024,768,32,1

SetBuffer BackBuffer()
lit=CreateLight(2)

 LightColor lit,255,200,50
LightRange lit,300000
Dim sp(99)
 
k=1
center=CreateSphere(32) ;---------это солнце!!!!!!!!!!!!!!!!!

EntityFX center,1
 EntityColor center,255,255,100
c=20;            -------------      размер солнца..........
ScaleEntity  center,c,c,c
PositionEntity center,0,0,100
;EntityAlpha center,1


;tex=LoadTexture("Picture.bmp")
AmbientLight 0,0,0

 For i=0 To 99    ; Это планеты

 sp(i)=CreateSphere(32,center)
sc#=Rnd(100,300)

 ScaleEntity sp(i),sc#,sc#,sc#
EntityColor sp(i),Rnd(0,200),Rnd(0,200),Rnd(0,200)
EntityShininess  sp(i), .2
 PositionEntity sp(i),Rnd(-20000,20000),Rnd(-2000,2000),Rnd(-20000,20000)
;EntityTexture sp(i),tex
Next
cam=CreateCamera()

PositionEntity cam,0,0,-40
CameraRange cam,0.1,1000000

 time=MilliSecs()
Repeat

;Print time2

 ;TurnEntity center,.0,.003,.0

 If KeyDown(2) k=1
 If KeyDown(3) k=30
 If KeyDown(4) k=1000


  If KeyDown(200) MoveEntity cam,0,0,1000/k

 If KeyDown(208) MoveEntity cam,0,0,-1000/k

 If KeyDown(203) TurnEntity cam,0,0,1

 If KeyDown(205) TurnEntity cam,0,0,-1


 If KeyDown(17) TurnEntity cam,-1,0,0

 If KeyDown(31) TurnEntity cam,1,0,0


 If KeyDown(30) TurnEntity cam,0,1,0

 If KeyDown(32) TurnEntity cam,0,-1,0

time2=MilliSecs()-time
time=time +time2

 UpdateWorld
 RenderWorld
Text 50,50,k
  Flip
Until KeyHit(1)

 FreeFont f

End


NitE 30.10.2009 02:28

Ответ: Вопросы очередного новичка
 
и правда пропадают, хз что делать ))
вот мой код с мега-полезными функциями !
Код:

Function mouselook(ent)
        mxspd#=MouseXSpeed()*Mousespeed
        myspd#=MouseYSpeed()*Mousespeed
        MoveMouse GraphicsWidth()/2,GraphicsHeight()/2       
        campitch#=EntityPitch(ent)+myspd#
        If campitch#<-89 Then campitch#=-89
        If campitch#>89 Then campitch#=89
        RotateEntity ent,campitch#,EntityYaw(ent)-mxspd#,EntityRoll(ent)
End Function

Function player_move(ent)
        If KeyDown(17) MoveEntity ent,0,0,player_speed
        If KeyDown(31) MoveEntity ent,0,0,-player_speed
        If KeyDown(30) MoveEntity ent,-player_speed,0,0
        If KeyDown(32) MoveEntity ent,player_speed,0,0
End Function

Function create_planet()
planet=CreateSphere(32,sun)
size#=Rnd(100,300)
ScaleEntity planet,size#,size#,size#
EntityColor planet,Rnd(0,200),Rnd(0,200),Rnd(0,200)
EntityShininess  planet,.2
PositionEntity planet,Rnd(-20000,20000),Rnd(-2000,2000),Rnd(-20000,20000)
End Function


Global mousespeed#=0.5
Global player_speed=10

SeedRnd(MilliSecs())
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
AmbientLight 0,0,0


light=CreateLight(2)
LightColor light,255,200,50
LightRange light,99999

camera=CreateCamera()
CameraRange(camera,0.001,99999999999999)

Global sun=CreateSphere()
EntityFX sun,1
EntityColor sun,255,255,100
size=10
ScaleEntity  sun,size,size,size



For i=1 To 100
create_planet()
Next

CameraClsMode(camera,1,1)
CameraZoom(camera,1.4)
Repeat


mouselook(camera)
player_move(camera)












UpdateWorld()
RenderWorld()




Flip()
Until KeyHit(1)
End


Morganolla 30.10.2009 22:52

Ответ: Вопросы очередного новичка
 
Ну чё? Таблетки нэт? :)
В чем суть то... надо , чтобы сфера от солнца не задерживало свет от точеч. источника внутри его!!!! А чтобы сама сфера светилась равномерным желтым светом!!!! А?????

impersonalis 31.10.2009 01:48

Ответ: Вопросы очередного новичка
 
Цитата:

чтобы сфера от солнца не задерживало свет от точеч. источника внутри его!!!!
Код:

EntityAlpha center,...
Цитата:

чтобы сама сфера светилась равномерным желтым светом!!!!
Код:

EntityFX center,1
+ фокусы с постэффектами или спрайтами с фх 1

Morganolla 31.10.2009 14:11

Ответ: Вопросы очередного новичка
 
Ребята, я разобрался! Надо более корректно ставить параметр CameraRange cam,0.1,1000000!!! Здесь слишком большой относительный диапазон! Всем спасибо! Я наверно перенесу свой проект про Армагеддон на Блитц! В 3Д!

Morganolla 31.10.2009 14:19

Ответ: Вопросы очередного новичка
 
Следующий вопрос - как сделать попроще skybox для космоса со звездами?
Дайте ссылочки или тексты :)

NitE 31.10.2009 14:40

Ответ: Вопросы очередного новичка
 
Код:

Function LoadSkyBox( file$ )
        m=CreateMesh()
        ;front face
        b=LoadBrush( file$+"_FR.dds",49 )
        s=CreateSurface( m,b )
        AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
        AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
        AddTriangle s,0,1,2:AddTriangle s,0,2,3:
        FreeBrush b
        ;right face
        b=LoadBrush( file$+"_LF.dds",49 )
        s=CreateSurface( m,b )
        AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
        AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
        AddTriangle s,0,1,2:AddTriangle s,0,2,3
        FreeBrush b
        ;back face
        b=LoadBrush( file$+"_BK.dds",49 )
        s=CreateSurface( m,b )
        AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
        AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
        AddTriangle s,0,1,2:AddTriangle s,0,2,3
        FreeBrush b
        ;left face
        b=LoadBrush( file$+"_RT.dds",49 )
        s=CreateSurface( m,b )
        AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
        AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
        AddTriangle s,0,1,2:AddTriangle s,0,2,3
        FreeBrush b
        ;top face
        b=LoadBrush( file$+"_UP.dds",49 )
        s=CreateSurface( m,b )
        AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
        AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
        AddTriangle s,0,1,2:AddTriangle s,0,2,3
        FreeBrush b
        ;bottom face       
        b=LoadBrush( file$+"_DN.dds",49 )
        If b=0 b=CreateBrush (0,30,50)
        s=CreateSurface( m,b )
        AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
        AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
        AddTriangle s,0,1,2:AddTriangle s,0,2,3
        FreeBrush b
        ScaleMesh m,1000000,1000000,1000000
        FlipMesh m
        EntityFX m,1+8
        Return m
End Function


Morganolla 01.11.2009 22:31

Ответ: Вопросы очередного новичка
 
Спасибо NitE! Буду разбираться... :)

Morganolla 05.11.2009 01:22

Ответ: Вопросы очередного новичка
 
Еще вопрос от новичка - а блиц не показывает тень от косм. корабля или от здания скажем на поверхности планеты? И не покажет лунное затмение? И как это можно решить? :)

jimon 05.11.2009 02:37

Ответ: Вопросы очередного новичка
 
Morganolla
использовать тени с помощью какой либо библиотеки или ручками

Morganolla 09.11.2009 13:44

Ответ: Вопросы очередного новичка
 
Еще вопросик новичка - какая последняя версия SDK Blitz3D для С++ вышла? Где ее можно скачать? И сильно ли она отстала от последней редакции самого Blitz3D на бейсике?

Morganolla 31.12.2009 13:47

Ответ: Вопросы очередного новичка
 
Еще вопрос - а можно в В3Д рисовать линии в 3Д пространстве?

Reizel 31.12.2009 19:00

Ответ: Вопросы очередного новичка
 
Function Line3d(Camera,X,Y,Z,X1,Y1,Z1)
CAmeraProject Camera,X,Y,Z
X=projectedX()
Y=ProjectedY()
cameraProject Camera,X1,Y1,Z1
line X,Y,ProjectedX(),ProjectedY()
end function

Morganolla 01.01.2010 21:00

Ответ: Вопросы очередного новичка
 
Ребят, а правда, что игрушки от Б3Д в седьмой винде не работают???

Nex 01.01.2010 21:05

Ответ: Вопросы очередного новичка
 
Morganolla, у меня Win7, все Блитз игры/проги работают...

Morganolla 01.01.2010 21:17

Ответ: Вопросы очередного новичка
 
Чего-то у многих на 7 винде мой космосим не работает... Может это зависит от директХа...?

Nex 01.01.2010 21:34

Ответ: Вопросы очередного новичка
 
Может стоит поставить совместимость с XP?

Morganolla 03.01.2010 15:16

Ответ: Вопросы очередного новичка
 
Еще пара вопросиков:
- при открытии файлов с программой портятся русские буквы... что нужно подлатать-настроить в редакторе?
- как попроще сделать меню в игре?

Hurrit 03.01.2010 15:29

Ответ: Вопросы очередного новичка
 
- поменять шрифт блитза на вот этот http://www.bladekeeper.narod.ru/Reso...ic/RusFont.zip.
- вот, смотри и учись http://www.blitzetc.blitzmax.ru/inde...м_GUI_«руками».

KingMaks 03.01.2010 15:59

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

http://depositfiles.com/files/6j9ks2vnc

вначале Единицу нажмеш

Morganolla 03.01.2010 16:55

Ответ: Вопросы очередного новичка
 
Цитата:

Сообщение от Hurrit (Сообщение 132066)
- поменять шрифт блитза на вот этот http://www.bladekeeper.narod.ru/Reso...ic/RusFont.zip.
- вот, смотри и учись http://www.blitzetc.blitzmax.ru/inde...м_GUI_«руками».

Спасибо!
У меня там уже лежит фонт, но он не подключается...

Hurrit 03.01.2010 19:14

Ответ: Вопросы очередного новичка
 
Что значит не подключается? Ты его уже заменял на русский?

Reizel 03.01.2010 20:11

Ответ: Вопросы очередного новичка
 
Hurrit, не мучай Morganolla голову!
Morganollа, лезь сюда:
C:/Program files/blitz3D/cfg/blitzide.prefs
Открываешь его блокнотом (предварительно сними с него все атрибуты)
в колонке Font_editor пишешь Arial
сохраняешь
ставишь атрибут "Только чтение"
Запускаешь блиц и радуешься жизни :)

Nex 03.01.2010 21:25

Ответ: Вопросы очередного новичка
 
KingMaks,
Код:

If MouseX() >225 And MouseY() >100 And MouseX() <425 And MouseY() <150 Then start() :room = "BackRoom"
так лучше не делать. Лучше вместо цифр используй команды ImageWidth, ImageHeight (если кнопки картинками)...

KingMaks 03.01.2010 21:57

Ответ: Вопросы очередного новичка
 
SkyDream
а в чем разница?
И как с помощью этих команд (ImageWidth, ImageHeight) зделать
нажатие?
И есть ли команда : (если мишкой нажать на картинку(или обьект))?

Nex 04.01.2010 03:47

Ответ: Вопросы очередного новичка
 
KingMaks, эти команды нужны, что бы узнать ширину/высоту картинки посути это теже самые цифры только так по удачней будет... :)

KingMaks 04.01.2010 16:09

Ответ: Вопросы очередного новичка
 
SkyDream все я разобрался с этим.:)

У меня вопрос ко всем!
Блиц не обнаружает б3д

wall = LoadAnimMesh("wall.3ds") ; так все работает, грузиться
PositionEntity wall,0,0,0

wall = LoadAnimMesh("wall.b3d") ; entity does not exist
PositionEntity wall,0,0,0

В папке лежит два фаила wall.3ds и wall.b3d. Что ето может быть?Почему не хочет обнаружать б3д?

NitE 04.01.2010 22:08

Ответ: Вопросы очередного новичка
 
проверь ещё стопицот раз путь, название и т.п.
(и я конечно надеюсь ты не весь этот код сразу запускаешь ?)

ABTOMAT 04.01.2010 22:16

Ответ: Вопросы очередного новичка
 
Существует мульён причин, по которым модель может не загрузиться.
От банального несоответствия пути к файлу и его реального имени до повреждённости файла с моделью.
Подсунь другую модель, проверь путь стопиццот раз.

KingMaks 04.01.2010 22:27

Ответ: Вопросы очередного новичка
 
Проверил все что мог,и 3дмакс переустановил и пипеллайн поменял,
и путь етот проверял, нехочет и все

Незнаю как на булеан заливать поетому залил на депозит
там 2 кб всего. Посмотрете кому не лень в чем дело :http://depositfiles.com/files/i1xafxemi

подозреваю что б3д ломаный. но нету другого чтобы проверить

ABTOMAT 04.01.2010 22:32

Ответ: Вопросы очередного новичка
 
Ты не поверишь, у меня запустилось и показало серый пол с несколькими кубиками.
За спиной - серый параллелепипед - тот самый wall.b3d

KingMaks 04.01.2010 22:34

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

ABTOMAT 04.01.2010 22:35

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

KingMaks 04.01.2010 22:37

Ответ: Вопросы очередного новичка
 
ABTOMAT в Blitz недавно поетому
что такое дебаггер? икак посмотреть?:-D

KingMaks 04.01.2010 22:40

Ответ: Вопросы очередного новичка
 
Разобрался я з дебагом не грузит оно почемуто модель.
А вчем тогда причина? у тебя ведь грузит?

ABTOMAT 04.01.2010 23:05

Ответ: Вопросы очередного новичка
 
Цитата:

Разобрался я з дебагом не грузит оно почемуто модель.
конкретнее
>> Посмотри в дебаггере чему равно значение переменной wall сразу же после загрузки

У меня грузит потому что ошибки меня уже баяццо


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

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