forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   AnimTexture на квадрате (http://forum.boolean.name/showthread.php?t=9077)

MidGard 05.09.2009 21:11

AnimTexture на квадрате
 
Чувствую, что вопрос нубский, но перекурил почти все темы и уроки - мозг уже закипает! Растолкуйте, кто сможет! Проблема в следующем:
Делаю элементарный квад - 4 вертекса, 2 треугольника.
Код:

PickerBox=CreateMesh(camera)
                so=CreateSurface(PickerBox)               
                v1=AddVertex(so,-3,-3,0)   
                v2=AddVertex(so,3,-3,0)
                v3=AddVertex(so,3,3,0)
                v4=AddVertex(so,-3,3,0)
                AddTriangle(so,v3,v2,v1)   
                AddTriangle(so,v4,v3,v1)               
                UpdateNormals PickerBox

Надо затекстурить его анимированной тексой. Закружаю её, создаю кисть, применяю текстуру на кисть, малюю кистью на квадрате:

Код:

Picker=LoadAnimTexture("Picker.bmp",64,30,15,0,6)
                  brush=CreateBrush()
                BrushTexture brush,Picker,1               
                PaintMesh PickerBox, brush

И полный швах! Текстура -то рисуется, но берётся центральный пиксель кадра и растягивается на весь квад! То есть текстура раз в 20 больше квада! В текстуре - линейка из 7-ми кадров. Перепробовал все известные мне способы натянуть её на квад: и напрямую EntityTexture PickerBox, Picker, 1 (без кисти); и PaintSurface so, brush; и что-то ещё...
LoadBrush не катит, на сколькоя понял, не позволяет установить нужный кадр, и вообще не работает с анимацией. ScaleTexture пихал куда тока можно (ну кроме задницы разумеется), никакой реакции ((( Чую, что подвох где-то рядом, но не врубаюсь хоть тресни!

Knightmare 05.09.2009 21:17

Ответ: AnimTexture на квадрате
 
Раздел Surface справки знает. Вкуривать его до просветления.

Damp 05.09.2009 21:33

Ответ: AnimTexture на квадрате
 
Возможно дело в uv координатах, установи их.

Knightmare 05.09.2009 21:40

Ответ: AnimTexture на квадрате
 
Лучше бы он сам это нашел, пошло бы на пользу.
PHP код:

v1 AddVertex(so, -3, -3000)    
v2 AddVertex(so3, -3010)
v3 AddVertex(so33011)
v4 AddVertex(so, -33001


ABTOMAT 06.09.2009 00:42

Ответ: AnimTexture на квадрате
 
Надо будет как-нить FAQ написать о текстурных координатах... Завтра выходной, может, напишу. А может, и нет...

MidGard 07.09.2009 18:56

Ответ: AnimTexture на квадрате
 
Вобщем нифига анимированная текса так и не заработала :-( Отказался от неё нафиг и гружу просто кадр brush=LoadBrush("PickerII.jpg",49).
>>Knightmare - спасибо за наводку на AddVertex(so, -3, -3, 0, 0, 0) Просмотрел чё-то.
>>ABTOMAT - будь добр, напиши-и-и-и!!!

Mr_F_ 07.09.2009 20:03

Ответ: AnimTexture на квадрате
 
Цитата:

Вобщем нифига анимированная текса так и не заработала :-(
да ладно тебе, она работает
как ты её юзал то?

MidGard 08.09.2009 10:05

Ответ: AnimTexture на квадрате
 
Дык в первом посте вся трабла описана. Саму тексу так:
Код:

Picker=LoadAnimTexture("Picker.bmp",64,30,15,0,6)
brush=CreateBrush()
BrushTexture brush,Picker,1
PaintMesh PickerBox, brush

Пробовал PaintSurface, EntityTexture. Она ваще работает, но каждый кадр больше меша раз в 20-30, и как вогнать кадр в размер меша, я убил себя об стену :-(( перебрал все UV координаты, скейлил текстуру где нипоподя... Вобщем увидел я свою тексу на кваде тока когда грузанул её LoadBrush-ем, без анимации. Если нужно, залью весь кусок кода, но толку по-моему не будет... Blitz меня по-ходу недолюбливает...


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

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