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

PIRSER 15.08.2007 12:33

Всем привет, помогите мне зеленому:)
 
Привет, начинаю учить блиц (отличная штука). Хотел задать пару вопросов (создал топик, т.к. не нашел поп поиску):

1. Как осущиствить просмотр мышкой по обеим осям (как в стрелялках).
2. Как создать скайбокс.

И еще может кто поможет, подкинет урок по импорту 3д моделей. Дело в том, что я создал карту в 3д максе, а в блице показывает ее фиг знает как. Я так понял, что не надо использовать экструды, бевелы и все такое, а только примитивы. Но тогда как же создают нормальные качественные модели:wallbash:

ВСЕМ заранее ОГРОМНОЕ СПАСИБО!!!

johnk 15.08.2007 13:15

Re: Всем привет, помогите мне зеленому:)
 
http://www.boolean.name/showthread.php?t=15

PIRSER 15.08.2007 13:43

Re: Всем привет, помогите мне зеленому:)
 
У меня все грузится, все работатет. Но модель вывернута на изнанку, не текстурится. Для создания модели я использовал: экструд и бевел (выдавливание). Может из-за этого ее и пучит:) вот я и хотел узнать, как правильно моделить, т.е. что можно использовать (какие объекты, модификаторы), а что нет:)

IGR 15.08.2007 14:22

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

не текстурится
скачай pipeline !!
и используй формат Б3Д , а материал - б3д материал в списке материалов !!

johnk 15.08.2007 14:28

Re: Всем привет, помогите мне зеленому:)
 
Я ссылку дал на вполне хороший туториал...

Leito 15.08.2007 14:39

Re: Всем привет, помогите мне зеленому:)
 
в b3d экспортируй через пипелайн.

IGR 15.08.2007 15:02

Re: Всем привет, помогите мне зеленому:)
 
Вот Ссылки нат тот самый Супер-Пупер-Пиплайн :

http://marcweb.lib.smr.ru/rider/3dmax/B3dPipeline.zip
http://marcweb.lib.smr.ru/rider/3dmax/Max6_patch.zip - патч для 3Дмакса

PIRSER 16.08.2007 17:42

Re: Всем привет, помогите мне зеленому:)
 
Всем огромное спасибо! Все получилось, все супер. Пипилайн не стал качать, у меня мах8. скачал 3d exploration? Программка супе, модели экспортирую в *.x Но теперь другая проблема. Сделал кучу домов, моделей, короче над картой постарался, но вот когда добавляю скай куб, ТО Ж*ПА, ТОРМАЗА. А без него все отлично, как можно выкрутиться?

P.S. Модели не груженые (лоу поли)

Jet 16.08.2007 23:47

Re: Всем привет, помогите мне зеленому:)
 
Какой у тебя размер текстуры, как создаешь скайбокс? Показывай код, разберемся.

H@NON 17.08.2007 00:30

Re: Всем привет, помогите мне зеленому:)
 
Ты скайбокс как создаешь? Всмысле тоже как модель в максе? а потом парентишь модель к камере, так?
Все это обычно делается через код, только текстуры указываешь и все.
И проверь главный цикл, может ты создание скайбокса там прописал, а он все создается, поэтому у тебя и тормоза.

Belamore 17.08.2007 11:24

Re: Всем привет, помогите мне зеленому:)
 
PIRSER, ты скайбок там случайно не в цикле создаёшь?

PIRSER 17.08.2007 11:28

Re: Всем привет, помогите мне зеленому:)
 
Вот
Цитата:


Function
MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",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.bmp",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.bmp",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.bmp",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.bmp",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
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function

Взял код тут у impersonalis, где он тутор пишет по созданию стрелялки:)

IGR 17.08.2007 11:31

Re: Всем привет, помогите мне зеленому:)
 
ну с кодом всё нормально !!
покажи тот кусок кода где ты функцию вызиваеш!!

PIRSER 17.08.2007 11:41

Re: Всем привет, помогите мне зеленому:)
 
кого? Хех я только второй день сижу за блицем. Научился: вставлять модели, ходить, текстурировать, ну и по мелочам. Что нужно еще в правильное место ставить. Я ставлю прямо сразу после добавления меша.

Цитата:


...Scool=LoadMesh("D:\my game\1\1.x")


Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",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.bmp",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.bmp",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.bmp",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.bmp",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
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function


lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,0,0...


IGR 17.08.2007 11:48

Re: Всем привет, помогите мне зеленому:)
 
это что всё у тебя в главном цыкле ??
и функцию ты вроде и не вызываеш !!

давай весь код !!

ABTOMAT 17.08.2007 11:51

Re: Всем привет, помогите мне зеленому:)
 
PIRSER, функция, это, например, такой код:

[blitz]Function prevedmedved(x,y)
Text x,y,"Превед, медвед!"
End Function [/blitz]

вызов функции - это например такой код:

[blitz]
........
код проги
.......
RenderWorld
prevedmedved (20,20) ;!!! Вызов функции
flip
......
......
[/blitz]

Ты щас уже второй раз выкладываешь в своем посте код самой функции, а нам нужно то место где ты её вызываешь!

Кста как ты сделал чтобы текст выделялся в посте цветами точно так же как в Блитзе? Ну там, каменты жёлтенькие, переменные синенькие и т.д.? Я тоже так хочу! :@

PIRSER 17.08.2007 11:56

Re: Всем привет, помогите мне зеленому:)
 
Вот!

это с одним мешем, без скайла и позиции.

Цитата:


SeedRnd MilliSecs
()
Graphics3D 640,480,16,0
SetBuffer BackBuffer()


Scool=LoadMesh("D:\my game\1\1.x")


Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",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.bmp",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.bmp",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.bmp",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.bmp",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
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function


lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,0,0
tex=LoadTexture("1.jpg")
ScaleTexture tex,10,10
EntityTexture cub,tex
ScaleEntity cub,1,.5,2
cam=CreateCamera(cub)
PositionEntity cam,x#,y#,z#
CameraRange cam,0.1,10000
Repeat
;upravlenie kubom
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
sky=MakeSkyBox("sky")
ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit
(1)
End


PIRSER 17.08.2007 12:01

Re: Всем привет, помогите мне зеленому:)
 
To АВТОМАТ Хех не знал, я думал скай куб, эт просто объект. Зачем мне его вызывать, если он показывается:) Да я полный НУБ!

Текст просто копировал сразу из Блица, а он сам так вставляется:)

ABTOMAT 17.08.2007 12:02

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

Repeat !!! Это ж цикл!
;upravlenie kubom гы, научи блитз понимать русские буквы и не парься транслитом ;)
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208 ) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
sky=MakeSkyBox("sky") !!! создаёшь скайбокс в цикле, т.е. он создаётся у тебя примерно 30 раз в секунду. Тормоза при этом понятны.
Создавай скабокс ДО цикла и не будет тебе тормозов. ;)
ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
Фигасе, я ине знал что он так копируется :dontknow:

Нет, ты не НУБ, НУБ - создатель бблиотеки Ashadow, скорее просто новис ;)

IGR 17.08.2007 12:05

Re: Всем привет, помогите мне зеленому:)
 
SeedRnd MilliSecs()
Graphics3D 640,480,16,0
SetBuffer BackBuffer()


Scool=LoadMesh("D:\my game\1\1.x")
lit=CreateLight()
cub=CreateCube()
PositionEntity cub,0,0,0
tex=LoadTexture("1.jpg")
ScaleTexture tex,10,10
EntityTexture cub,tex
ScaleEntity cub,1,.5,2
cam=CreateCamera(cub)
PositionEntity cam,x#,y#,z#
CameraRange cam,0.1,10000

sky=MakeSkyBox("sky")

Repeat
;upravlenie kubom
If KeyDown(200) MoveEntity cub,0,0,10
If KeyDown(208) MoveEntity cub,0,0,-10
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0

ScaleEntity sky,100,100,100
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End

Function MakeSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.bmp",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.bmp",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.bmp",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.bmp",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.bmp",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
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m

End Function

ненадо функцию в главном коде вызивать !!

PIRSER 17.08.2007 12:10

Re: Всем привет, помогите мне зеленому:)
 
Ребяты спасибо!!! Воткну ка я вам по плюселю! Все работает, все ок.

To АВТОМАТ. Значит все, что создается в цикле, создается 30 в секунду. Т.е. обнавляется, так? А то, что до цикла, единажды, я все правильно понял?

IGR 17.08.2007 12:13

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

To АВТОМАТ. Значит все, что создается в цикле, создается 30 в секунду. Т.е. обнавляется, так? А то, что до цикла, единажды, я все правильно понял?
только не 30 раз , а равно столько сколько цыклов происходит за 1 секунду !!

PIRSER 17.08.2007 12:18

Re: Всем привет, помогите мне зеленому:)
 
А сколько их происходит, как это узнать?

ABTOMAT 17.08.2007 12:22

Re: Всем привет, помогите мне зеленому:)
 
Уважаемые, я примерно сказал 30 раз - чтоб не грузить всякими FPS'ами. 30 раз - т.е. 30 FPS.
Как узнать? Измеряй время до цикла и после цикла х\затем несложной арифметикой вычисля время, за которое он прошёл, и на это число дели 1000 (1 секунда = 1000 миллисекунд) - вот те и FPS

смотри в хелпе команду Millsecs ()

IGR 17.08.2007 12:26

Re: Всем привет, помогите мне зеленому:)
 
Цитата:

А сколько их происходит, как это узнать?
ето счётчик ФПС !!
посмотри в разделе функции или в факе !!

IGR 17.08.2007 13:49

Re: Всем привет, помогите мне зеленому:)
 
кста , вот эта функция :
vFPS=MilliSecs()
If vFPS-vLastFPS>1000
vShowFPS=vCurFPS
vLastFPS=vFPS
vCurFPS=0
Else
vCurFPS=vCurFPS+1
End If
Text 5,5,"FPS: "+vShowFPS


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

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