Показать сообщение отдельно
Старый 05.10.2005, 23:49   #52
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Да все не так уж и сложно:

В этом блоке определяются координаты вертексов(вершин) сторон куба(кроме нижней стороны)
Select BoxSide%
 Case BoxUpperSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#+C: Y2#=Y#+C: Y3#=Y#+C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
 Case BoxFrontSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#-C: Y2#=Y#-C: Y3#=Y#+C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#-C: Z4#=Z#-C
 Case BoxBackSide%
 X1#=X#-C: X2#=X#+C: X3#=X#+C: X4#=X#-C
 Y1#=Y#+C: Y2#=Y#+C: Y3#=Y#-C: Y4#=Y#-C
 Z1#=Z#+C: Z2#=Z#+C: Z3#=Z#+C: Z4#=Z#+C
 Case BoxLeftSide%
 X1#=X#-C: X2#=X#-C: X3#=X#-C: X4#=X#-C
 Y1#=Y#-C: Y2#=Y#+C: Y3#=Y#+C: Y4#=Y#-C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
 Case BoxRighrtSide%
 X1#=X#+C: X2#=X#+C: X3#=X#+C: X4#=X#+C
 Y1#=Y#+C: Y2#=Y#-C: Y3#=Y#-C: Y4#=Y#+C
 Z1#=Z#-C: Z2#=Z#-C: Z3#=Z#+C: Z4#=Z#+C
End Select
Далее создание 4-х вершин и двух полигонов по ним, используя координаты рассчитанные выше. Последние два параметра в функции AddVertex означают UV координаты текстуры.
V1%=AddVertex(Surf%, X1#, Y1#, Z1#, 0, 0)
V2%=AddVertex(Surf%, X2#, Y2#, Z2#, 1, 0)
V3%=AddVertex(Surf%, X3#, Y3#, Z3#, 1, 1)
V4%=AddVertex(Surf%, X4#, Y4#, Z4#, 0, 1)
T1%=AddTriangle(Surf%, V1%,V3%,V2%)
T2%=AddTriangle(Surf%, V1%,V4%,V3%)
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием