|
3D-программирование Вопросы, касающиеся программирования 3D мира |
07.06.2010, 00:57
|
#1
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Скайбокс на 6 граней
Давно ищу функцию для создания 6-гранного скайбокса, а нахожу только для 5 граней. Хелпаните?
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
07.06.2010, 01:01
|
#2
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Скайбокс на 6 граней
createcube flipmesh?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
07.06.2010, 01:12
|
#3
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 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
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
07.06.2010, 01:14
|
#4
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Скайбокс на 6 граней
|
(Offline)
|
|
07.06.2010, 01:18
|
#5
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 6 граней
Чтение первого поста тоже сила. Используй ее и пойми то, что я написал.
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.06.2010, 01:25
|
#6
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Скайбокс на 6 граней
добавляем ещё одну грать лёгким движением
;down face b=LoadBrush( file$+"_DOWN.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
(координаты проверить, ибо копипаст, и вуаля, новая грань, в чём проблема?
Чтение первого поста тоже сила. Используй ее и пойми то, что я написал.
|
Учись фантазировать, программирование, одно из немногих направлений, в котором одну вещь можно сдлеать несколькими путями.
если ты хочешь программировать, привыкай сомому дописывать то что тебе нужно, особенно если есть примеры как это делать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.06.2010, 01:45
|
#7
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 6 граней
В коардинатах. Как их высчитать?
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
07.06.2010, 02:52
|
#8
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Скайбокс на 6 граней
О_О начнём сначала.
функцией
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 ;down face b=LoadBrush( file$+"_DOWN.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
создаётся куб, размером 1х1х1 который рисуется позади всех остальных объектов. на рисунук показано почему именно эти точки. порядок соединения точек - http://blitzetc.blitzmax.ru/index.ph...ик:AddTriangle.
после этого, стоит немного растянуть этот куб и всё, есть скай бокс, что не понятно?
|
(Offline)
|
|
07.06.2010, 15:39
|
#9
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 6 граней
Попробовал, не работает.
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
07.06.2010, 15:42
|
#10
|
Разработчик
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений (для 329 пользователей)
|
Ответ: Скайбокс на 6 граней
__________________
299 792 458
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.06.2010, 16:46
|
#11
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Скайбокс на 6 граней
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.06.2010, 16:54
|
#12
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Скайбокс на 6 граней
Сообщение от Fatal
Попробовал, не работает.
|
что именно не работает?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.06.2010, 23:32
|
#13
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 6 граней
Тоесть на одну из граней, понятно на какую, не накладывается текстура.
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
07.06.2010, 23:46
|
#14
|
Оператор ЭВМ
Регистрация: 25.05.2010
Адрес: Россия, Питер
Сообщений: 34
Написано одно полезное сообщение
|
Ответ: Скайбокс на 6 граней
Спасибо, юзаю.
__________________
Нет ничего хуже, чем ничего. (с) Василий Орехов
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:06.
|