|
3D-программирование Вопросы, касающиеся программирования 3D мира |
27.05.2009, 21:29
|
#16
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Частичное масштабирование изображения
А пост номер 9 это что, двоичный код ?
|
а точно скрин !! извени !!
|
(Offline)
|
|
27.05.2009, 22:06
|
#17
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Частичное масштабирование изображения
По сабжу, а можно ведь найти два крайних вертекса у стрелки и их оттягивать? Конечно, с геометрией чуток повозиться, но все же.
Тогда стрелку не квадами делать, а моделькой. Кстати, даже на один triangle будет меньше)
|
(Offline)
|
|
28.05.2009, 00:37
|
#18
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Частичное масштабирование изображения
Граница там от неумелого использования маски. Сделай как следует её
|
Я не телепат, мысли через интернет читать не умею, "как следует" - это как ?
Если использовать вместо маскинга альфу, то при некоторых углах камеры получается вот такое :
И границы всё равно видны, хотя и слабее.
|
(Offline)
|
|
28.05.2009, 14:17
|
#19
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Частичное масштабирование изображения
Ладно, от границ избавился, а что делать с наложением которое на скрине ? Полупрозрачный квад с синей текстурой располагается ниже стрелки, но когда стрелка направлена по направлению камеры - происходит такая фигня. Если отключить EntityAlpha то естественно ничего не смешивается.
|
(Offline)
|
|
28.05.2009, 14:37
|
#20
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Частичное масштабирование изображения
"как следует" - это значит использовать не чёрный цвет в качестве маски, а альфа-канал. При этом основной канал должен быть полностью красным
на скрине из поста 18 классическое проявление туннельного эффекта альфы
лечение: центр ентити-стрелки должен быть ближе к камере чем центр воды
или использовать маску, сделанную как следует
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
28.05.2009, 15:12
|
#21
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Частичное масштабирование изображения
использовать не чёрный цвет в качестве маски, а альфа-канал. При этом основной канал должен быть полностью красным
|
Я именно это и сделал, перевел всё в tga с альфой, канал RGB сплошной, маска по альфе. "Туннельный эффект" остается.
центр ентити-стрелки должен быть ближе к камере чем центр воды
|
Так не пойдет...что еще можно сделать ?
|
(Offline)
|
|
28.05.2009, 15:23
|
#22
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Частичное масштабирование изображения
Ничего, туннельный эффект не лечится.
Можно, конечно, вручную сортировать объекты. Библиотека для этого где-то была здесь. Вроде даже вот она. Но это не слишком быстро.
|
(Offline)
|
|
28.05.2009, 15:41
|
#23
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Частичное масштабирование изображения
Сообщение от karry
Я именно это и сделал, перевел всё в tga с альфой, канал RGB сплошной, маска по альфе. "Туннельный эффект" остается.
|
Фильтрацию текстур отключать не пробовал, не? Хотя не уверен что это реально в блитзе для одного объекта ее выключить.
Хотя попробуй грузануть ее без мипов, должно помочь вроде (флаг сам ищи в хэлпе, мне лень, но он есть, в том числе и с масками должен спасти, но не факт).
|
(Offline)
|
|
28.05.2009, 15:53
|
#24
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Частичное масштабирование изображения
И все-таки мой первый совет был не плох. Сделай себе модельку стрелы, плоскую естественно. Потом вытягивай за крайние два вертекса и все. Ни наложений, ни глюков с альфой.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.05.2009, 17:16
|
#25
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Частичное масштабирование изображения
туннельный эффект не лечится.
|
В блице или вообще ? Чеж так хреново-то ?
Потом вытягивай за крайние два вертекса и все.
|
А примеры какие-нибудь имеются ? Вроде есть только одна команда по присвоению координат, и всё, даже номер вертекса вручную искать, не слишком хардкорно ? Вертекс не имеет ориентации, не имеет родителей...с трудом представляю как это сделать.
|
(Offline)
|
|
28.05.2009, 17:24
|
#26
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Частичное масштабирование изображения
Сообщение от karry
В блице или вообще ? Чеж так хреново-то ?
А примеры какие-нибудь имеются ? Вроде есть только одна команда по присвоению координат, и всё, даже номер вертекса вручную искать, не слишком хардкорно ? Вертекс не имеет ориентации, не имеет родителей...с трудом представляю как это сделать.
|
Вообще не лечится. Ну почти...
Проще руками создать буфер, там ты будешь все вертексы знать. Как бы десяток точек руками расставить не есть проблема я думаю.
|
(Offline)
|
|
28.05.2009, 17:33
|
#27
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Частичное масштабирование изображения
Я именно это и сделал, перевел всё в tga с альфой, канал RGB сплошной, маска по альфе. "Туннельный эффект" остается.
|
...я имел ввиду вкобчить флаг - маска, а не альфа (в блице)
В блице или вообще ? Чеж так хреново-то ?
|
Не только в блице, но вообще. Хреново. Не лечится. (очень черезжопно)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
28.05.2009, 17:46
|
#28
|
Нуждающийся
Регистрация: 19.05.2009
Сообщений: 82
Написано 8 полезных сообщений (для 10 пользователей)
|
Ответ: Частичное масштабирование изображения
...я имел ввиду вкобчить флаг - маска, а не альфа (в блице)
|
Эээ...сделать текстуры с альфой, а флаг-маска ? Только что попробовал, просто выводит квады, ничего не маскирует. Чего-то ты не то хотел сказать, наверное.
Вот скрин, как оно сделано ? Фактически то же самое что я хочу сделать. Зеленое кольцо вокруг мужика, и круглый розовый оверлей, и все цвета в порядке, никаких пересечений и прочих гадостей.
|
(Offline)
|
|
28.05.2009, 18:33
|
#29
|
Нуждающийся
Регистрация: 07.02.2009
Сообщений: 92
Написано 16 полезных сообщений (для 38 пользователей)
|
Ответ: Частичное масштабирование изображения
Вот тебе пример ручного создания стрелки:
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(20 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. можешь наложить текстуру.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:48.
|