forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Определить текстуру меша в определённой точке (http://forum.boolean.name/showthread.php?t=8511)

CRASHER 19.06.2009 18:50

Определить текстуру меша в определённой точке
 
Допустим плейн и на нём мульти текстуринг.
Мне известнк кордината на поверхности плейна, можно как нить определить на какой текстуре находится точка?
а? :)

ABTOMAT 19.06.2009 18:57

Ответ: Определить текстуру меша в определённой точке
 
определяй полигон к которому она относится, потом координаты UV его вершин и их же XYZ. По XYZ определяешь UV своей точки а дальше смотришь на текстуре пиксель на этом UV/
Точной формулы на этом компе нет.

CRASHER 19.06.2009 19:27

Ответ: Определить текстуру меша в определённой точке
 
Цитата:

определяй полигон к которому она относится, потом координаты UV его вершин и их же XYZ
Ну это просто)

Цитата:

По XYZ определяешь UV своей точки
вот сдесь затрудненье

Цитата:

а дальше смотришь на текстуре пиксель на этом UV/
а туту совсем темнота:) :) :)

Цитата:

Точной формулы на этом компе нет.
Ты типо счас на компе где нет примера?:)
тогда буду ждать

А у меня мысль, а если взать браш сурфа а потом из этого браша текстуру :) , вот только как узнать какая это текстура:4to:
интерестно если я эту текстуру проверю на совпадение с той текстурой которая была загружена и применена к сурфэйсу ответ труе будет?;)

tormoz 19.06.2009 20:04

Ответ: Определить текстуру меша в определённой точке
 
да.......

CRASHER 19.06.2009 20:08

Ответ: Определить текстуру меша в определённой точке
 
tormoz, меня восхищает краткость твоих ответов)))))
это ты про это?)))
Цитата:

интерестно если я эту текстуру проверю на совпадение с той текстурой которая была загружена и применена к сурфэйсу ответ труе будет?

Illidan 19.06.2009 22:35

Re: Определить текстуру меша в определённой точке
 
эмм... не понял... Разве к одному сюрфейсу можно одновременно применять несколько кистей на один слой?

CRASHER 21.06.2009 14:58

Ответ: Определить текстуру меша в определённой точке
 
Цитата:

По XYZ определяешь UV своей точки а дальше смотришь на текстуре пиксель на этом UV/
АВТОМАТ, поясни пожалст на счёт этого)

ABTOMAT 21.06.2009 15:05

Ответ: Определить текстуру меша в определённой точке
 
Щас пример наваляю

tormoz 21.06.2009 17:23

Ответ: Определить текстуру меша в определённой точке
 
UV нафиг не нужны.
Получаешь пиком сурфейс, с сурфейса браш, с браша текстуру (ры)
Далее можешь проверять по хендлу (если тексу грузил и накладывал программно), либо по имени текстуры (если текса грузицца вместе с моделью)

ABTOMAT 21.06.2009 17:39

Ответ: Определить текстуру меша в определённой точке
 
Вложений: 1
Дак нужно точку или саму текстуру?
З.Ы. С точками вот чё

CRASHER 21.06.2009 17:57

Ответ: Определить текстуру меша в определённой точке
 
Кульно)))) , но мне надо саму текстуру, проблема моя в том что я не особо наверно понимаю как мульти текстуринг происходит.
Вроде там поверхности создаются новые? да?
Ну вот мне то надо например текстур газона и земли, и определить гдеж чел то стоит на газоне или на траве)

ABTOMAT 21.06.2009 18:03

Ответ: Определить текстуру меша в определённой точке
 
Цитата:

но мне надо саму текстуру
Крап =)
Поверхности создаются если HWMultiTex = 0
Цитата:

Ну вот мне то надо например текстур газона и земли, и определить гдеж чел то стоит на газоне или на траве)
Делай тогда как сказал Тормоз, самый очевидный способ.

CRASHER 21.06.2009 18:31

Ответ: Определить текстуру меша в определённой точке
 
Код:

Brushe=GetSurfaceBrush(PickedSurface())
Texture=GetBrushTexture(Brushe)
If Texture=ground_tex Stop

вот так если програмно?

ABTOMAT 21.06.2009 18:49

Ответ: Определить текстуру меша в определённой точке
 
Да. Ещё можно на имя проверить.

CRASHER 22.06.2009 02:09

Ответ: Определить текстуру меша в определённой точке
 
Код:

ground_tex=LoadTexture("terrain1.jpg")

Cube=CreateCube()
PositionEntity(Cube,10,5,0)
ScaleEntity(Cube,5,5,5)
EntityType(Cube,1)
EntityPickMode Cube,2,1
EntityTexture Cube,ground_tex

CreateUser(Ruks,camera,0,8,0,0)

Enty=LinePick(EntityX(Cube,1)-10,EntityY(Cube,1),EntityZ  (Cube,1),10,0,0)

        Brushe=GetSurfaceBrush(PickedSurface())
        Texture=GetBrushTexture(Brushe)
        If ground_tex=Texture Stop

Странно, не работает :dontknow:


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

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