Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 04.01.2009, 13:55   #1
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Лампочка Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Вообщем есть необходимость зеркально отображать меши... ВСМЫСЛЕ НЕ ЗЕРКАЛО РЯДОМ СТАВИТЬ, А ВСЕ ВЕРШИНЫ МЕША ОТРАЖАТЬ ОТНОСИТЕЛЬНО ПРЯМОЙ(КАКОЙ ЛИБО ИЗ ОСЕЙ - X Y Z).

Делаю так:
ScaleMesh ent, -1,1,1 : FlipMesh ent
*И в названии темы пробелы надо убрать..стормозил что-то(((
Отображается то всё верно, но нормали расставляются неправильно!!! Просто ужасно! Вообще в блитце с нормалями дела обсоят ужасно! Что с ними постоянно происходит??? Из 3дмакса они экспортятся неправильно приходится каждому объекту ресетиксворм применять... Отразить объект зеркально никак нельзя...Я уже устал с заморачиваться с Нормалями в блитце!
Кстати в самом 3дмаксе есть аналог этого что я делаю...Назвается Mirror. Дак в нём после этой команды все нормали сохраняются как надо!!!
Кстати в этой ситуации даже updatenormals ent - не помогает!!!
Вообще UpdateNormals - самая уродская функция в блитце... Она сглаживает все нормали у меша так будто ты применил в максе к ним модификатор smooth.
Вообщем помогите разобраться пожалуйста...Что тут можно сделать?
(Offline)
 
Ответить с цитированием
Старый 04.01.2009, 22:33   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

отрази нормали вручную.

пишу с браузера, такчто могут быть ошибки, но идея вроде как норм:
for i = 0 to countvertices(surf)-1
SetVertexNormal surf,i,-VertexNX(surf,i),-VertexNY(surf,i),-VertexNZ(surf,i)
next
команды тоже мог перепутать, давно на блице не писал.
SetVertexNormal - это некая команда, задающая нормаль вертексу.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (06.01.2009)
Старый 05.01.2009, 13:15   #3
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

HolyDel, ничего не получается! SetVertexNormal - это просто VertexNormal. Вот я пишу
If KeyHit(16)=1
For i = 0 To CountVertices(videlen)-1
VertexNormal videlen,i,-VertexNX(videlen,i),-VertexNY(videlen,i),-VertexNZ(videlen,i)
Next
EndIf
И вообще ничего не происходит... videlen - это объект который выделяется мышкой((( Вот это вообще странно, всё таки что-то команда должна делать, а тут! НИЧЕГО АБСОЛЮТНО!...ничего непонятно.(((
(Offline)
 
Ответить с цитированием
Старый 05.01.2009, 13:23   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Могу предположить что videlen - является не сюрфейсом, поэтому и цикл будет нулевым, и ничего не просчитается.
Тебе нужно перелистать все Сюрфейсы Меша, и провести для них данную операцию.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (06.01.2009)
Старый 05.01.2009, 15:26   #5
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Даа, MoKa! Скорее всего так оно и есть!!! Только скажи плиз как это сделать...пересчитать сурфейсы... и лучше кодом, MoKa. либо скажи точное название команд. Очень благодарю!
(Offline)
 
Ответить с цитированием
Старый 05.01.2009, 16:01   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Все команды есть в справке, наводка на категорию списка всех комманд, также интуитивна понятна. Прежде чем задавать вопрос, соизвольте сами попытаться на него ответить.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (06.01.2009)
Старый 05.01.2009, 19:11   #7
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Теперь делаю так:
If KeyHit(16)=1
	For t = 1 To CountSurfaces(videlen)
		tsurf=GetSurface(videlen,t)
		For i = 0 To CountVertices(videlen)-1
			VertexNormal tsurf,i,-VertexNX(tsurf,i),-VertexNY(tsurf,i),-VertexNZ(tsurf,i)
		Next
	Next
EndIf
результат опять же нулевой(((
зы: а чем сурфейс отличается от меша???
(Offline)
 
Ответить с цитированием
Старый 05.01.2009, 19:41   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

ELIAS, невнимательность причина 98,2% ошибок программиста.
Наводка: Перечитайте свой код внимательно, учитывая правильность входящих данных для функций.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (06.01.2009)
Старый 05.01.2009, 20:50   #9
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Разобрался, всем спасибо
(Offline)
 
Ответить с цитированием
Старый 06.01.2009, 23:10   #10
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Сорри сорри...оффтоп конечно, но кину сюда этот вопросик ГлУУпыЙ.)))

Как мне всем всем объектам в сцене изменить какое нибудь свойство??? Вопрос в том как мне ко всем им обратиться сразу??? Цикл надо создавать, я думаю, но какой? Даже трудно пример сказать, ну вот мне например при выделении какого то определённого объекта в сцене мышкой, нужно включать опцию entitypickmode ent, 0 чтобы кроме этого объекта больше никакие не выделялись! Это дурно звучит но в моём случае именно так надо делать, изменить это свойство всем ентити в сцене)))
(Offline)
 
Ответить с цитированием
Старый 10.01.2009, 15:05   #11
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Scale mesh ent, -1,1,1 : Flip mesh ent ; Нормали неправильные!

Ответь на свой вопрос, рассуждая логически, и придираясь к каждому слову, Обдумывая. Могу попробовать за тебя, но улови суть, и не задовай более подобных вопросов.

Как мне всем всем объектам в сцене изменить какое нибудь свойство???
Тоесть тебе нужны ВСЕ объекты в сцене. Изучив справку, мы не найдём интерфейса который предназначен для получения ВСЕХ объектов сцены.
Короче говоря блиц этого не умеет, значит дело за тобой делай ручками. Мысль не продолжу, если спросишь "как" по ушам бы надовал, только я не ценцей и совсем далеко от тебя.

Цикл надо создавать, я думаю, но какой?
Лезишь нарожом, но предположение верное, вопрос "какой?" ответь сам, исходя из мысли относительно прошлой цитаты.

Насчёт любого случая: опыт и развитие способностей, даст тебе возможность "генерировать" на ходу алгоритмы и методы решения задач, прямо в голове, взвешивая их, ты выбираешь самый подходящий. Процесс выбора, эм.. даже скорее "отсева" варриантов, проходит опять через твои знания, опыт и способности, в плане оценки ресурсозатрат, как на работу алгоритма, так и на реализацию его, на возможности которые есть (хотя обычно они упираются в невозможности по причине неопытности и недостатка способностей и знаний).
Короче говоря, если будешь и дальше задовать вопросы, не пытаясь досканально их переживать и отвечать на них сам. То ты бросишь совсем скоро это занятие, сожелея о "потраченом" времени, и будешь проклинать всё с этим связанное.

Удачи.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (11.01.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AnimMesh_Size_#(Mesh) moka Полезные функции 1 06.03.2011 23:47
EntityOrder для b3d-brush mesh ELIAS 3D-программирование 2 11.09.2009 19:44
AnimMesh<=>Mesh CRASHER 3D-программирование 3 30.03.2009 04:08
Камера и Mesh JeSss 3D-программирование 15 29.01.2008 21:00
Колючий mesh HolyDel Полезные функции 4 23.02.2007 01:37


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com