forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   не могу сделать SkyBox (http://forum.boolean.name/showthread.php?t=20059)

Тоха 26.10.2015 19:32

не могу сделать SkyBox
 
Вставляю код а он не работает в чем причина

Код:

Function LoadSkyBox( file$ )
        m=CreateMesh()
        ;front face
        b=LoadBrush( "_FR.jpg",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.jpg",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$+"_FR.jpg",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$+"_LF.jpg",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$+"_LF.jpg",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$+"_LF.jpg",49 )
        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,100,100,100
        FlipMesh m
        EntityFX m,1
        Return m
End Function


ABTOMAT 26.10.2015 19:36

Ответ: не могу сделать SkyBox
 
Наверное потому что это тело функции, но она нигде не вызывается.

Тоха 26.10.2015 19:44

Ответ: не могу сделать SkyBox
 
ABTOMAT Не мог бы ты привести пример как делается SkyBox

ABTOMAT 26.10.2015 19:55

Ответ: не могу сделать SkyBox
 
Нужно в папку с игрой положить картинки с одинаковым началом имён файлов, оканчивающихся на "_FR.jpg", "_LF.jpg" и т.д. (смотри код из первого поста), соответствующие сторонам скайбокса.

Затем при загрузке уровня нужно вызвать эту функцию, в аргумент передав начало названий файлов.

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

Тоха 27.10.2015 22:43

Ответ: не могу сделать SkyBox
 
Код:

m=CreateMesh()
;front face
b=LoadBrush( "skybox_FR.jpg",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( "skybox_LF.jpg",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( "skybox_BK.jpg",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( "skybox_RT.jpg",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( "skybox_UP.jpg",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( "skybox_DN.jpg",49 )
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,100,100,100
FlipMesh m
EntityFX m,1


Arton 27.10.2015 22:53

Ответ: не могу сделать SkyBox
 
Цитата:

Сообщение от Тоха (Сообщение 300915)
m=CreateMesh()
;front face
b=LoadBrush( "skybox_FR.jpg",49 ).....

И что, что ты хочешь этим сказать? И почему опять без тега?

ABTOMAT 27.10.2015 23:59

Ответ: не могу сделать SkyBox
 
Цитата:

Сообщение от Arton (Сообщение 300917)
И что, что ты хочешь этим сказать? И почему опять без тега?

Ну типа нашёл решение, показал как надо.

Хотя на самом деле функция сделана была не просто так, а чтобы не вставлять везде одинаковое "skybox" и не копипастить всю простыню, когда надо сделать скайбокс.

Но хотя бы сам сделал чтоб работало, это уже радует.

Убирайте код в тег [code]


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

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