forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Скайбокс на 6 граней (http://forum.boolean.name/showthread.php?t=12624)

Fatal 07.06.2010 00:57

Скайбокс на 6 граней
 
Давно ищу функцию для создания 6-гранного скайбокса, а нахожу только для 5 граней. Хелпаните?

impersonalis 07.06.2010 01:01

Ответ: Скайбокс на 6 граней
 
createcube flipmesh?

Fatal 07.06.2010 01:12

Ответ: Скайбокс на 6 граней
 
Код:

m=CreateMesh()

b=LoadBrush( file$+"1.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

b=LoadBrush( file$+"2.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
 
b=LoadBrush( file$+"3.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

b=LoadBrush( file$+"4.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

b=LoadBrush( file$+"5.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,550,550,550
FlipMesh m
EntityFX m,9
EntityOrder m,10
Return m


Dream 07.06.2010 01:14

Ответ: Скайбокс на 6 граней
 
http://forum.boolean.name/showpost.p...9&postcount=21 поиск - сила

Fatal 07.06.2010 01:18

Ответ: Скайбокс на 6 граней
 
Чтение первого поста тоже сила. Используй ее и пойми то, что я написал.

Dream 07.06.2010 01:25

Ответ: Скайбокс на 6 граней
 
добавляем ещё одну грать лёгким движением
PHP код:

;down face
    b
=LoadBrushfile$+"_DOWN.bmp",49 )
    
s=CreateSurfacem,)
    
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 

(координаты проверить, ибо копипаст, и вуаля, новая грань, в чём проблема?
Цитата:

Чтение первого поста тоже сила. Используй ее и пойми то, что я написал.
Учись фантазировать, программирование, одно из немногих направлений, в котором одну вещь можно сдлеать несколькими путями.
если ты хочешь программировать, привыкай сомому дописывать то что тебе нужно, особенно если есть примеры как это делать.

Fatal 07.06.2010 01:45

Ответ: Скайбокс на 6 граней
 
В коардинатах. Как их высчитать?

Dream 07.06.2010 02:52

Ответ: Скайбокс на 6 граней
 
Вложений: 1
О_О начнём сначала.

функцией

PHP код:

Function MakeSkyBoxfile$ )

    
m=CreateMesh()
;
front face
    b
=LoadBrushfile$+"_FR.bmp",49 )
    
s=CreateSurfacem,)
    
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
=LoadBrushfile$+"_LF.bmp",49 )
    
s=CreateSurfacem,)
    
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
=LoadBrushfile$+"_BK.bmp",49 )
    
s=CreateSurfacem,)
    
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
=LoadBrushfile$+"_RT.bmp",49 )
    
s=CreateSurfacem,)
    
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
=LoadBrushfile$+"_UP.bmp",49 )
    
s=CreateSurfacem,)
    
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
;down face 
           b
=LoadBrushfile$+"_DOWN.bmp",49 
           
s=CreateSurfacem,
           
AddVertex s,-1,-1,+1,0,1:AddVertex s,+1,-1,+1,0,
           AddVertex s
,+1,-1,-1,1,0:AddVertex s,-1,-1,-1,1,
           AddTriangle s
,0,1,2:AddTriangle s,0,2,
           FreeBrush b 

    ScaleMesh m
,100,100,100
    FlipMesh m
    EntityFX m
,9
    EntityOrder m
,10
    
Return m
    
End 
Function 

создаётся куб, размером 1х1х1 который рисуется позади всех остальных объектов. на рисунук показано почему именно эти точки. порядок соединения точек - http://blitzetc.blitzmax.ru/index.ph...ик:AddTriangle.
после этого, стоит немного растянуть этот куб и всё, есть скай бокс, что не понятно?

Fatal 07.06.2010 15:39

Ответ: Скайбокс на 6 граней
 
Попробовал, не работает.

DeeJex 07.06.2010 15:42

Ответ: Скайбокс на 6 граней
 
http://3dcom.3dn.ru/load/3-1-0-62

Reks888 07.06.2010 16:46

Ответ: Скайбокс на 6 граней
 
http://lleo.aha.ru/na/

Dream 07.06.2010 16:54

Ответ: Скайбокс на 6 граней
 
Цитата:

Сообщение от Fatal (Сообщение 149362)
Попробовал, не работает.

что именно не работает?

Fatal 07.06.2010 23:32

Ответ: Скайбокс на 6 граней
 
Тоесть на одну из граней, понятно на какую, не накладывается текстура.

Fatal 07.06.2010 23:46

Ответ: Скайбокс на 6 граней
 
Спасибо, юзаю.


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

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