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)

Mr_F_ 22.06.2009 11:14

Ответ: Определить текстуру меша в определённой точке
 
если мультитекстуринг то просто так тексу не пикнешь, по сути они все на меше же. надо знач тогда пикать пиксель как советовал АВТОМАТ, но пиксель маски, указывающей где трава а где тропинка (или че там), соотв чем он белее тем ближе к тексе в белых местах маски)

ABTOMAT 22.06.2009 14:57

Ответ: Определить текстуру меша в определённой точке
 
Короче, проще сделать другим способом :-D

tormoz 22.06.2009 20:39

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

Сообщение от CRASHER (Сообщение 108573)
Код:

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:

вместо
EntityTexture
заюзай
PaintMesh

CRASHER 25.06.2009 00:39

Ответ: Определить текстуру меша в определённой точке
 
tormoz, если не сложно, конечно, пжалст дай рабочий код, у меня не выходит Ж((
Использую пэинт, он просит браш, гружу тексту как брашь, значит и проверка такая
Код:

If ground_tex=GetSurfaceBrush(PickedSurface()) Stop
Но стопа нэт :(

tormoz 25.06.2009 01:07

Ответ: Определить текстуру меша в определённой точке
 
Пример писать лень
Отладь, где именно не работает ?
не пикается, браш не тот возвращает ?

CRASHER 25.06.2009 01:52

Ответ: Определить текстуру меша в определённой точке
 
GetSurfaceBrush(PickedSurface()) возвращает что то, но не то.
изначальный ground_tex и возвращаемый GetSurfaceBrush(PickedSurface()) не совпадают

SBJoker 25.06.2009 11:10

Ответ: Определить текстуру меша в определённой точке
 
Хозяйке на заметку: команда stop работает лишь в режиме отладки ( Debug )

CRASHER 25.06.2009 12:46

Ответ: Определить текстуру меша в определённой точке
 
к слову без дебага я вообще никогда не запускаю.
И кслову стоп вне режима работает ))

ABTOMAT 25.06.2009 14:51

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

Сообщение от SBJoker (Сообщение 109018)
Хозяйке на заметку: команда stop работает лишь в режиме отладки ( Debug )

Врёте, уважаемый ;)

SBJoker 25.06.2009 15:51

Ответ: Определить текстуру меша в определённой точке
 
Ну раз работает так это вообще отстой. Забудь так его убрать и всё... пользователи будут рады.

А нормальные компиляторы удаляют дебаг-директивы при компиляции.

tormoz 25.06.2009 18:15

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

Сообщение от CRASHER (Сообщение 109003)
GetSurfaceBrush(PickedSurface()) возвращает что то, но не то.
изначальный ground_tex и возвращаемый GetSurfaceBrush(PickedSurface()) не совпадают

Значит пикаешь что то не то

CRASHER 29.06.2009 21:51

Ответ: Определить текстуру меша в определённой точке
 
Фьюууу ну неужелиии... сделал через текстур нейм:)
Я думаю AnyKey'щикам будет полезно;)
Код:

Global ground_textur3=LoadTexture ("terrain1.jpg")
Global Cube=CreateCube()
ScaleEntity(Cube,5,5,5)
EntityType(Cube,1)
EntityPickMode Cube,2,1
EntityTexture Cube,ground_textur3

Enty=LinePick(EntityX(Cube,1)-10,EntityY(Cube,1),EntityZ(Cube,1),20,0,0)
If Enty=0 Enty=LinePick(EntityX(Cube,1)-10,EntityY(Cube,1),EntityZ(Cube,1),-20,0,0)
peremen1=PickedSurface()
peremen2=GetSurfaceBrush(peremen1)
peremen3=getBrushTexture(peremen2)
If TextureName$(ground_textur3)=TextureName$(peremen3) Stop()



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

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