![]() |
Частичное масштабирование изображения
Возможно ли сделать такую штуку...есть стрелка-указатель точки назначения для юнита состоящая из прямоугольника и треугольника, так вот можно ли оставить часть с треугольником обычного масштаба, а прямоугольник растягивать ? Сейчас поставил составную стрелку, две текстуры на два отдельных квада, но между частями видна граница текстур.
|
Ответ: Частичное масштабирование изображения
Лучше покажи исходник, а то не у всех работает образное мішление
|
Ответ: Частичное масштабирование изображения
|
Ответ: Частичное масштабирование изображения
Имхо нефик ипать моск, делай составным из 2х квадов... отдельно стрелки и отдельно прямоугольника
|
Ответ: Частичное масштабирование изображения
Я же сказал, граница между ними портит вид.
|
Ответ: Частичное масштабирование изображения
убери границу. Это проще.
|
Ответ: Частичное масштабирование изображения
И как это сделать ?
|
Ответ: Частичное масштабирование изображения
Ну закрась её например..я ж незнаю откуда она там у тебя.. или текстура неоднотонная?
|
Ответ: Частичное масштабирование изображения
Ну вот, смотри, два квада вровень располагаются на одной высоте, одинаковый оттенок красного, граница между прямоугольником и треугольником очень четко видна.
![]() |
Ответ: Частичное масштабирование изображения
Сделай чтоб перекрывались чуть-чуть
|
Ответ: Частичное масштабирование изображения
Они чуть-чуть перекрываются.
|
Ответ: Частичное масштабирование изображения
скрин в студию !!
|
Ответ: Частичное масштабирование изображения
А пост номер 9 это что, двоичный код ? :)
|
Ответ: Частичное масштабирование изображения
karry
делай с помощью 5 треугольников, так чтобы все они были сойденены |
Ответ: Частичное масштабирование изображения
Цитата:
|
Ответ: Частичное масштабирование изображения
|
Ответ: Частичное масштабирование изображения
По сабжу, а можно ведь найти два крайних вертекса у стрелки и их оттягивать? Конечно, с геометрией чуток повозиться, но все же.
Тогда стрелку не квадами делать, а моделькой. Кстати, даже на один triangle будет меньше) |
Ответ: Частичное масштабирование изображения
Цитата:
Если использовать вместо маскинга альфу, то при некоторых углах камеры получается вот такое : ![]() И границы всё равно видны, хотя и слабее. |
Ответ: Частичное масштабирование изображения
Ладно, от границ избавился, а что делать с наложением которое на скрине ? Полупрозрачный квад с синей текстурой располагается ниже стрелки, но когда стрелка направлена по направлению камеры - происходит такая фигня. Если отключить EntityAlpha то естественно ничего не смешивается.
|
Ответ: Частичное масштабирование изображения
"как следует" - это значит использовать не чёрный цвет в качестве маски, а альфа-канал. При этом основной канал должен быть полностью красным
на скрине из поста 18 классическое проявление туннельного эффекта альфы лечение: центр ентити-стрелки должен быть ближе к камере чем центр воды или использовать маску, сделанную как следует |
Ответ: Частичное масштабирование изображения
Цитата:
Цитата:
|
Ответ: Частичное масштабирование изображения
Ничего, туннельный эффект не лечится.
Можно, конечно, вручную сортировать объекты. Библиотека для этого где-то была здесь. Вроде даже вот она. Но это не слишком быстро. |
Ответ: Частичное масштабирование изображения
Цитата:
Хотя попробуй грузануть ее без мипов, должно помочь вроде (флаг сам ищи в хэлпе, мне лень, но он есть, в том числе и с масками должен спасти, но не факт). |
Ответ: Частичное масштабирование изображения
И все-таки мой первый совет был не плох. Сделай себе модельку стрелы, плоскую естественно. Потом вытягивай за крайние два вертекса и все. Ни наложений, ни глюков с альфой. :)
|
Ответ: Частичное масштабирование изображения
Цитата:
Цитата:
|
Ответ: Частичное масштабирование изображения
Цитата:
Проще руками создать буфер, там ты будешь все вертексы знать. Как бы десяток точек руками расставить не есть проблема я думаю. |
Ответ: Частичное масштабирование изображения
Цитата:
Цитата:
|
Ответ: Частичное масштабирование изображения
Цитата:
Вот скрин, как оно сделано ? Фактически то же самое что я хочу сделать. Зеленое кольцо вокруг мужика, и круглый розовый оверлей, и все цвета в порядке, никаких пересечений и прочих гадостей. ![]() |
Ответ: Частичное масштабирование изображения
Вот тебе пример ручного создания стрелки:
Graphics3D 1024,768,32,2 SetBuffer BackBuffer() cam=CreateCamera() CameraClsColor cam,0,0,215 PositionEntity cam,0,3,-5 RotateEntity cam,30,0,0 l=CreateLight() strelka=createstrelka() EntityColor strelka,255,30,30 Repeat If KeyHit(57) wf=1-wf If wf=1 Then Wireframe True Else Wireframe False EndIf If KeyDown(200) Then updatestrelka(strelka,.05) If KeyDown(208) Then updatestrelka(strelka,-.05) UpdateWorld RenderWorld Flip Until KeyHit(1) End Function createstrelka() strelka=CreateMesh() surf=CreateSurface(strelka) vs1=AddVertex(surf,0,0,0,.5,0) vs3=AddVertex(surf,-1,0,-1,.166,.333) vs2=AddVertex(surf,1,0,-1,.834,.333) AddTriangle(surf,vs1,vs2,vs3) vd1=AddVertex(surf,-.5,0,-1,.333,.333) vd2=AddVertex(surf,.5,0,-1,.666,.333) vd3=AddVertex(surf,-.5,0,-3,.333,1) vd4=AddVertex(surf,.5,0,-3,.666,1) ;vd3=5 vd4=6 AddTriangle(surf,vd1,vd2,vd3) AddTriangle(surf,vd2,vd4,vd3) Return strelka End Function Function updatestrelka(s,up#) gs=GetSurface(s,1) VertexCoords gs,5,VertexX(gs,5),VertexY(gs,5),VertexZ(gs,5)+up VertexCoords gs,6,VertexX(gs,6),VertexY(gs,6),VertexZ(gs,6)+up End Function P.s. можешь наложить текстуру. |
Часовой пояс GMT +4, время: 17:48. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot