forum.boolean.name

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

ELIAS 18.08.2009 22:55

ScaleEntityBrush
 
Вот такой кусок кода:

;=====================================
cbrush=loadbrush("image.png")

dim c(10)
for i=1 to 10
c(i)=createcube()
sc#=rnd(0.2, 10)
scalemesh c(i), 1, sc, 1
paintmesh c(i), cbrush

trunslateentity c(i), 5*i,0,0
next
;=====================================

Все норм, но нужно как то сделать так чтобы текстуры накладывались на проскалированные кубы без изкажений(растяжения). То есть надо как то скалировать(тайлить) и текстуру!

ЗЫ: Если бы я пользовался текстурой а не кистью - то было бы проще, но все равно не то - ScaleTexture(cbrush, 1, sc#). В этом случае скалируется текстура и изменения затронут все объекты, а надо скалировать именно текстуру на конкретном ентити.

Но такое мне не подходит, нужно именно красить напрямую меши, а не энтити потому что потом все эти меши объединяются в один.

ВОПРОС!
Какие изменения необходимо внести в код, чтобы накладываемая на меши картинка тайлилась, а не растягивалась. Исполозовать можно только кисти!

Заранее Спасибо!

ABTOMAT 19.08.2009 00:09

Ответ: ScaleEntityBrush
 
Перебрать все вершины
Умножить ихние uv на некий коэффициент меньше единицы

Damp 19.08.2009 09:18

Ответ: ScaleEntityBrush
 
Или загружать картинку как LoadTexture , скейлить, а потом назначать ее кисти BrushTexture вроде как-то так.


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

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