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

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

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

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

Ответ
 
Опции темы
Старый 25.07.2010, 15:49   #1
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Печаль Глюк с анимацией после Fitmesh entity...

Есть такая проблема - гружу модели автоматом из папки , гружу как аниммеши, анимацию играю просто animateentity entity.
Возникла проблема - объект "взрывается" после использования команды фит меш, ставил после фитмеша resetentity - проблема осталась.
Кто нибудь сталкивался с похожей проблемой - если есть решение подскажите.
Спасибо!
(Offline)
 
Ответить с цитированием
Старый 25.07.2010, 16:00   #2
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

а ты убери команду fitmesh
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DeeJex (26.07.2010)
Старый 25.07.2010, 16:02   #3
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

когда из макса экспортишь модели, применяй resetxform.
__________________
299 792 458
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 03:32   #4
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от Ganociy Посмотреть сообщение
а ты убери команду fitmesh
какой ты умный однако - ЕСЛИ ОНА У МЕНЯ В КОДЕ ПРИСУТСТВУЕТ ЗНАЧИТ МНЕ ТАК НАДО!!!
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 03:32   #5
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от DeeJex Посмотреть сообщение
когда из макса экспортишь модели, применяй resetxform.
все это сделано, но баг есть
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 03:42   #6
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от Alex_Noc Посмотреть сообщение
все это сделано
Значит плохо сделано. Сталкивался с тем, что резет не всегда срабатывал. Теперь я для верности делаю так с персонажами:
1) Применяю резетхформ, причём жму дофига раз для верности
2) Конверт ту эдитабл поли
3) Пивот Center to object
И только потом уже Скиню.
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (06.08.2010)
Старый 26.07.2010, 06:20   #7
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Писец
полное непонимание основ анимации

я снес несущую стенку, а крыша упала на голову
почему ?

отцентруй модель в максе
потом привяжи кости
анимируй
экспорти

и никаких операций с мешем в блитце, если не хочешь крышу на голову
__________________
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо tormoz за это полезное сообщение:
ARA (26.07.2010), Harter (06.08.2010), Randomize (06.08.2010), SBJoker (26.07.2010), St_AnGer (26.07.2010)
Старый 26.07.2010, 14:26   #8
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от ARENSHI Посмотреть сообщение
Значит плохо сделано. Сталкивался с тем, что резет не всегда срабатывал. Теперь я для верности делаю так с персонажами:
1) Применяю резетхформ, причём жму дофига раз для верности
2) Конверт ту эдитабл поли
3) Пивот Center to object
И только потом уже Скиню.
Научу неучей (11 лет работы в максе мой опыт, и 6 лет работы аниматором)
Чтоб по тыщу раз не тыкать для "верности" --> Xform
Ткни для проверки правой кнопкой на кнопке трансформации и ротации - Xform можно проверить в том окошечке что у тебя вылезет - все должно быть по 0.
Либо если тебе не нравиться пользоваться инструментом Xform - то в панели иерархии есть резет трансформации и ротации.
Ну мучай больше кнопки компа и свои пальцы!!!
А главное не думай что ты самый умный , а те кто задал вопрос на форуме нубы!!!
Я просто так вопросов не задаю!
Есть проблема - есть вопрос.
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 14:32   #9
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от tormoz Посмотреть сообщение
Писец
полное непонимание основ анимации

я снес несущую стенку, а крыша упала на голову
почему ?

отцентруй модель в максе
потом привяжи кости
анимируй
экспорти

и никаких операций с мешем в блитце, если не хочешь крышу на голову
Ответ выше частично касается и твоего ответа.
Ты попробуй сам - прежде чем ответить.
Я просил ответ у того кто сталкивался с похожей проблемой, а не начинать тут флудить не по теме собирая благодарности от еще более незнающих людей.
Модель стоит строго в - 0,0,0
Xform-ом пользоваться умею поверь уж, к костям как ты понял также умею привязывать, анимировать также умею (пост выше), а уж экспортить поверь знаю как если все же анимация играется в блице, и сама модель присутствует.
Вопрос остается актуальным.
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 15:23   #10
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Если моделлер намоделил так, что в коде приходится устраивать пляски с бубном вокруг модели - избить этого моделлера бейсбольной битой до полусмерти, чтобы больше так не делал (суровая правда геймдева).
Для упоротых, ищущих ответы на идиотские вопросы - никак, блитз не делает преобразование иерархии костей при таких шаманствах.
А главное не думай что ты самый умный , а те кто ответил на твой вопрос на форуме нубы!!! (с) Я типа имел несчастье изучать исходники блитза и знаю о чем говорю.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
Harter (06.08.2010), tormoz (26.07.2010)
Старый 26.07.2010, 16:29   #11
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Сообщение от Alex_Noc Посмотреть сообщение
Научу неучей
Мде? Только почему-то у неучей (вроде меня) всё работает баз шаманства в блице 5 лет тыканья в максе и мучанья пальцев меня кое чему научили видимо.
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Harter (06.08.2010)
Старый 26.07.2010, 18:28   #12
Alex_Noc
Разработчик
 
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений
(для 289 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Во первых сам все и моделю и анимю и прогаю, так что ошибки в этих аспектах исключены.
Нуа шаманства мне всеже нужны раз: для экономии ресурсов(дабы заюзать несколько элементов по разному)
второе: Arenshi <-- видимо хреново научили , если тычешь по многу раз для одной операции. Подучись лучше из того что я тебе написал - а не начинай выкаблучиваться - дело говорю!
И если нету ответа на мой вопрос - то ненужно ничего писать.
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 18:56   #13
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Для особо упоротых: применять любые операции с мешем для анимированных моделей нельзя

читать до просветления
__________________
(Offline)
 
Ответить с цитированием
Старый 26.07.2010, 20:12   #14
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Тут был феерический срач, суть такова:
1. *Mesh-функции не трансформируют иерархию объектов, поэтому приводят к непредсказуемым последствиям при работе с анимацией.
2. *Entity-функции трансформируют всё вместе, поэтому глюков с анимацией не дают.
3. Аналога функции FitMesh среди *Entity-функций нету, так что в случае с анимированной моделью придётся искать обходные пути.

Не хотел вмешиваться, но прерванная дискуссия уже вполне могла спровоцировать бан каким-нибудь менее лояльным модератором.
Давайте жить дружно!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
Alex_Noc (26.07.2010), Harter (06.08.2010), Randomize (06.08.2010), St_AnGer (26.07.2010)
Старый 06.08.2010, 03:58   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Глюк с анимацией после Fitmesh entity...

Да факин щет! Всем -1!

FitMesh - Масштабирует и перемещает все вершины сетки объекта так, чтобы она вписалась в указанные размеры.

Ну чтож. Значит надо написать аналог самому.
Для этого нужно узнать Размеры аним меша.
После этого нужный_размер поделить на размер_аним_меша и вычислить фактор скейла по каждой из осей.

Moka в своё время писал:
Function AnimMeshWidth#(Mesh)
    
    
Local MinW#=999999,MaxW#=-999999
    
Local VertX#
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                VertX
=VertexX(Surf,n3)
                If 
VertX>MaxW MaxW=VertX
                
If VertX<MinW MinW=VertX
            Next
        Next
    Next
    
    
Return Abs(MaxW-MinW)
    
End Function

Function 
AnimMeshHeight#(Mesh)
    
    
Local MinH#=999999,MaxH#=-999999
    
Local VertY#
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                VertY
=VertexY(Surf,n3)
                If 
VertY>MaxH MaxH=VertY
                
If VertY<MinH MinH=VertY
            Next
        Next
    Next
    
    
Return Abs(MaxH-MinH)
    
End Function

Function 
AnimMeshDepth#(Mesh)
    
    
Local MinD#=999999,MaxD#=-999999
    
Local VertZ#
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                VertZ
=VertexZ(Surf,n3)
                If 
VertZ>MaxD MaxD=VertZ
                
If VertZ<MinD MinD=VertZ
            Next
        Next
    Next
    
    
Return Abs(MaxD-MinD)
    
End Function


Function 
MeshCenterX#(Mesh)
    
    
Local MinW#=999999,MaxW#=-999999
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
Local Count%,Ans#
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                Count
=Count+1
                Ans
=Ans+VertexX(Surf,n3)
            
Next
        Next
    Next
    
    
Return (Ans/Count)
    
End Function

Function 
MeshCenterY#(Mesh)
    
    
Local MinH#=999999,MaxH#=-999999
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
Local Count%,Ans#
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                Count
=Count+1
                Ans
=Ans+VertexY(Surf,n3)
            
Next
        Next
    Next
    
    
Return (Ans/Count)
    
End Function

Function 
MeshCenterZ#(Mesh)
    
    
Local MinD#=999999,MaxD#=-999999
    
Local ChildCnt%,SurfCnt%,VertCnt%
    
Local Count%,Ans#
    
    
ChildCnt=CountChildren(Mesh)
    For 
n1=1 To ChildCnt
        Child
=GetChild(Mesh,n1)
        
SurfCnt=CountSurfaces(Child)
        For 
n2=1 To SurfCnt
            Surf
=GetSurface(Child,n2)
            
VertCnt=CountVertices(Surf)
            For 
n3=0 To VertCnt-1
                Count
=Count+1
                Ans
=Ans+VertexZ(Surf,n3)
            
Next
        Next
    Next
    
    
Return (Ans/Count)
    
End Function 

Теперь вычислив факторы можно скейлить.

Function ResizeAnimMesh(Entity,width#,height#,depth#,proporcional=0)
    
If EntityClass(Entity)="Mesh"
        
mw#=AnimMeshWidth(Entity)
        
mh#=AnimMeshWidth(Entity)
        
md#=AnimMeshWidth(Entity)

        
ScaleEntityEntitywidth/mwheight/mhdepth/md)
    EndIf
End Function 
* естественно без ResetXForm нормально работать не будет

И чо я самый умный чтоли? Не верю!
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arles (06.08.2010)
Ответ


Опции темы

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

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


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


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