Частичное текстурирование примитива.
Имеется: Куб, созданный через CreateCube.
Требуется: Затекстурировать ему одну (выбранную) сторону. Подскажите, плиз, как это лучше сделать... |
Re: Частичное текстурирование примитива.
Куб лучше создать в Максе...и перейти в режим полигонального редактирования...потом выбираешь нужную группу полигонов и затекстуриваешь...попутно можешь применить модификатор текстурных координат....это если текстура неправильно положиться.
|
Re: Частичное текстурирование примитива.
Цитата:
|
Re: Частичное текстурирование примитива.
А что такого зазорного если куб создать в максе и загрузить его? Это наиболее простой и эффективный вариант решения проблеммы. Ну если это тебя не устраивает...тогда этот куб нада пересчитать по вертексам, определить полигоны, и к этим поликам присвоить текстуру.... - другой вариант - разбить куб на сюрфейсы и затекстурить нужный. - но это ресурсозатратно.
|
Re: Частичное текстурирование примитива.
0. ИМХО- текстурные координаты граней куба, созданного с помошью КриейтКуб совпадают и затекстурить одну стенку невозможно.
1. Как вариант- создать куб вручную повертексно. Именно так почему-то рекомендуют создавать скайбоксы в семплах для Блица. К чему этот гемо... то есть головная боль- не пойму до сих пор. Особенно если проанализировать время, необходимое для того, чтоб хотя бы набить весь код такой ф-и. 2. Если куб не будет вращаться- можно нанести на него кубемапу. Смысла тоже немного: ибо тормоза и легендарнаяы "неполная совместимость" с дореволюционными видеокартами. 3. Создавать куб в ЗДМах-е и экспортить в БЗД. Это совсем не слишком. Это даже очень в самый раз. Тем более, что занимает времени столько, сколько требуется чтоб запустить Мах + 30-300 сек. реального времени в зависимости от опытности моделера. :) |
Re: Частичное текстурирование примитива.
Все ясно, спасибо...
|
Re: Частичное текстурирование примитива.
+1
|
Re: Частичное текстурирование примитива.
Да, вот еще что !
Цитата:
|
Re: Частичное текстурирование примитива.
Function MakeSkyBox()
m=CreateMesh() ;front face b=LoadBrush("textures/SKY/sky_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("textures/SKY/sky_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("textures/SKY/sky_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("textures/SKY/sky_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("textures/SKY/sky_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 |
Re: Частичное текстурирование примитива.
А чем вам кубемапа неугодила? :"( ею можно затекстурить куб созданный в блитзе, так как надо. И даже не только куб, но и ШАР ;)
имхо - проще. |
Re: Частичное текстурирование примитива.
HolyDel
ты явно не понял че требуется |
Re: Частичное текстурирование примитива.
Да, видимо и правда, что все дороги земные ведут в Крематорий >.< ...
Выложенный Тарасом код не работает, если оттуда выкинуть любые упоминания о Brush'ах. Значит, такой теперь вопрос: как смоделить в Max'е незатекстурированный куб с шестью сурфейсами (ну, по одному на каждую грань) ? |
Re: Частичное текстурирование примитива.
Цитата:
sky=MakeSkyBox() ScaleEntity sky,15,15,15 |
Re: Частичное текстурирование примитива.
Цитата:
|
Re: Частичное текстурирование примитива.
>>как смоделить в Max'е незатекстурированный куб с шестью сурфейсами (ну, по одному на каждую грань) ?
Создаешь куб - на панеле инструментов нажимаешь кнопку с нарисованым кубом, справа на панельке в свитке Creation Method выбирай Cube и протягивай мышкой на одной из проекции, после чего кликай мышкой и протягивай еще раз (3-е измерение) с последующим кликом. Справа появится панелька со параметрами только что созданной фигуры. В ней отредактируй, если необходимо, размер. Далее тыкай левой кнопкой мыши на кнопке с изображением крестика(вверху на панеле инструментов), после чего тыкай на нее же правой кнопкой мышки. Появится окошко в котором можно отредактировать позицию фигуры(Absolute world) - ставь по всем осям ноль. Далее нажимаешь, в одной из 4ех проекций, правой кнопкой мыши на фигуре и выбираешь в появившемся меню пункт Convert to\Convert to editable mesh. После чего справа появится панелька со списком модификаторов Modifier list. В нем будет свернутый список Editable mesh. Разворачивай его и выбери один из режимов редактирования сетки - Polygon. Перейди к проекции в 3D и выделяя каждую грань левой кнопкой мыши, нажимай правую кнопку и в появившемся меню выбирай detach. Будет появляется окошко с возможностью изменить название новому обьекту, можно просто нажать OK. Все, если будешь экспортировать через Pipeline, то каждой грани нужно присвоить уникальный материал, иначе мешь не разделиться на сурфейсы. Для 3ds вроде не надо материалов. Расположение панелей может отличаться, но по умолчанию так.:-) |
Часовой пояс GMT +4, время: 20:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot