Проблема с VB-ом и 3dMax-ом

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 17:11

Хакер
каждая сторона состоит из одного полигона или их(полигонов) много?

..я вообще говорил про такую рябь:
Изображение

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 14.12.2006 (Чт) 17:19

у величиваем ХХХ в
D3DXMatrixPerspectiveFovRH Mtrx, PI / 4, 1!, XXX, 13000!
хотя можно и не увеличивать вообще поиграйтесь с ним- все зависит от дальности и размеров сцены

ну и чтобы в других местах ряби не было 8)
d3dpp.MultiSampleType = D3DMULTISAMPLE_4_SAMPLES

2nekeda
еще бы ему не кричать ему советуют не в тему вообще
с какого сдвиг обьекта уберет рябь то
только если они перестанут пересикаться
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Bonesnapper 14.12.2006 (Чт) 17:26, всего редактировалось 3 раз(а).

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 17:21

Bonesnapper
с такого. открой 3дс макс, да попробуй сам.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 17:23

Bonesnapper
Тут проблема в том что это TrueVision. И хоть доступ к объектам DX там есть, он обычно ни к чему хорошему не приводит.

А антиалиасинг включён, как раз таки D3DMULTISAMPLE_4_SAMPLES
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 14.12.2006 (Чт) 17:28

nekeda
да но они сейчас не про макс говорят



2Хакер
см картинку
да тут дело точно в этом там видно что по краям куба задняя сторона просвечивает

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 17:41

Bonesnapper

Посмотрел твою картинку. А что там такого? Помойму нормальная картинка. Так что делать то?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 18:45

Bonesnapper
Раз. Изнчально речь шла о моделе, сделанной в максе, сконвертированной в .Х :
И так модель сделанная в MAX-се конвентируется в Х файл ,и грузиться через VB6, но отображение её в VB6 происходит с рябью, хотя если воткнуть другую модель, глюк исчезает, в чем проблема ?


ты бы что ли хоть топик почитал, а?

Два. Анти-алиасинг тут ну вообще ни с какого боку не впился.

Три.
только если они перестанут пересикаться


Для особо одарённых: смысл как раз в том, чтобы они переставли пересекаться! :evil:
Изображение
Обрати свой пламенный взор на картинку слева. Если красный кубик чуть чуть сдвинуть так, чтобы полигоны перестали пересекаться (лежать в одной плоскости) - ты получишь картинку справа - без ряби. Есть контакт?

Хакер
Ты кубики раскрашиваешь задавая цвета вертексов? Попробуй сделать их монотонными.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 18:45

nekeda
Малыш, не кричи. Просто спокойненько принимайся за создание собственных библиотек для работы с графическим адаптером компьютера. Не ленись, обдумай всё хорошенько, и вперёд.


Во первых я не малыш :shock: , во вторых я не кричу, а жирный текст означает, то, что ты меня не понял, и в третьих, спасибо за совет, но он уже опоздал, я уже работаю, над ними!

Хакер
Я глянул скрин.Итог : я говорил, не совсем об этом(то, что показано на скрине, это просто ,скажем так, стык моделей),а уменя имменно рябь!

Bonesnapper

еще бы ему не кричать ему советуют не в тему вообще
с какого сдвиг обьекта уберет рябь то
только если они перестанут пересикаться


Спасибо за понимание.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 18:47

Ptereks
ты говоришь о той же ряби, о которой говорю я?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 18:50

nekeda
Я кубики не расскрашиваю. Я им поставил текстуру. Одному "ProgressBar.Slider.Line" которая является текстурой фона прогрессбара в игре. А вторая - синяя - дефолтная текстура.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 18:52

nekeda

Маленькая просьба, можно ты будешь вежливым, да же елси ты прав, то все равно надо быть вежливым

Два. Анти-алиасинг тут ну вообще ни с какого боку не впился.


Да ты прав, про него ничего не сказано.

Для особо одарённых: смысл как раз в том, чтобы они переставли пересекаться!

Обрати свой пламенный взор на картинку слева. Если красный кубик чуть чуть сдвинуть так, чтобы полигоны перестали пересекаться (лежать в одной плоскости) - ты получишь картинку справа - без ряби. Есть контакт?

Ну вот теперь,ты объяснил по нормальному(благодаря картинке), но способ немного плох, если у нас будут сложные моедли, двигать их надо будет до посинения!
Последний раз редактировалось Ptereks 14.12.2006 (Чт) 19:05, всего редактировалось 1 раз.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 18:54

Хакер
Кубики создаются в самом ТВ или импортируются из макса?

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:01

nekeda

ты говоришь о той же ряби, о которой говорю я?


Да о той же, но с одним уточнением, в максе у меня все норм, а вот в VB проявляется рябь.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 19:02

Ptereks
Да я уже сам понял, что в данном случае проще было не тратить своё время на объяснения. Я учту.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:09

nekeda

Да я уже сам понял, что в данном случае проще было не тратить своё время на объяснения. Я учту.


Не знаю, что ты там понял, НО твой способ не подходит, ведь если у нас опядь же сложные модели, то скоко времени нам предется потратиь?!

Вот скрин:
У вас нет доступа для просмотра вложений в этом сообщении.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 19:17

Для создания скрипна я переписал большую часть main-а.

Вот его код (который использовался при создании скрина):

Код: Выделить всё
Public Sub Main()
    PlaySLSLogo
    Initialize True
    g_InitExecutor
    i_UnbindAll

    Reset

    ' X[Дебаг]X: Будет заменено мультизагрузчиком.   
    LoadScriptPack "base"
    LoadScriptPack "four_gui"
    LoadScriptPack "four_srv"
    LoadScriptPack "levelshared"
    LoadScriptPack "activity"
    LoadScriptPack "sndscape"
    LoadScriptPack "hellcode"
    LoadScriptPack "base_ai"
    LoadScriptPack "zombie_ai"
    LoadScriptPack "mysterios"
    LoadScriptPack "muschanger"
    LoadScriptPack "citycode"
    LoadScriptPack "schoolcode"
    LoadScriptPack "canalscode"
    LoadScriptPack "traincode"
    LoadScriptPack "humanai"


    ' X[Дебаг]X: ВРЕМЕННО!      
    Dim L As D3DLIGHT8
    'Lighting.CreateLight L, "d", True


    ' X[Дебаг]X: Будет заменено мультизагрузчиком.      
    LoadSoundPack "horror"
    LoadSoundPack "actions"
    LoadSoundPack "ambient"
    LoadSoundPack "explo"
    LoadSoundPack "characters"
    LoadSoundPack "voices"
    LoadSoundPack "guisnd"
    LoadSoundPack "city"
    LoadSoundPack "bcssf"
   
    LoadTexturePack "interface"
    LoadTexturePack "triggers"
    LoadTexturePack "technologies"
    LoadTexturePack "characters"
    LoadTexturePack "roomtext"

    ' X[Дебаг]X: ВРЕМЕННО!         
    Dim pig As TVMesh
    Set pig = Scene.CreateMeshBuilder("DS")
   
    '===================================
    'Material settings
    MaterialFactory.CreateMaterial "MTT"
    MaterialFactory.SetAmbient GetMat("MTT"), 1, 1, 1, 1#
    MaterialFactory.SetDiffuse GetMat("MTT"), 1#, 1#, 1#, 1#
    MaterialFactory.SetEmissive GetMat("MTT"), 0#, 0#, 0#, 0#
    MaterialFactory.SetSpecular GetMat("MTT"), 1#, 1#, 1#, 0#
    MaterialFactory.SetPower GetMat("MTT"), 81#
   
    ' X[Дебаг]X: ВРЕМЕННО!      
    'Light settings
    L.Type = D3DLIGHT_POINT
    L.Position.y = 10
    L.Range = 33
   
    L.Ambient = DXColor(1, 1, 1, 1)
    L.diffuse = DXColor(1#, 1#, 1#, 1)
    L.specular = DXColor(1#, 1#, 1#, 1)
    L.Attenuation0 = 0.001
    L.Attenuation1 = 0.0001
    L.Attenuation2 = 0.000001
    Lighting.CreateLight L
    '==================================
    Debug.Print Len(L)
   
    ' X[Дебаг]X: ВРЕМЕННО!         

    'g_ExtractGeometry3DS "хлам.4mo", "хряк", "d:\разработки\4\тмп\pig.3ds"
    'pig.Load3DSMesh "d:\разработки\4\тмп\pig.3ds"
    pig.CreateBox 1, 2, 3
    pig.SetPosition 1, -2, 3
    pig.SetTexture GetTex("ProgressBar.Slider.Line")
    pig.SetMaterial GetMat("MTT")
    MainCamera.SetCamera 0, 1.7, 17, 0, 1.7, 21




    ' X[Дебаг]X: ВРЕМЕННО!         
    Level.BadPlaces.Add "DAD", 0, FreeVector1, Vector(1, 0, 3)
    Level.BadPlaces.Add "s", 0, FreeVector1, Vector(2, 0, 5)
    Level.BadPlaces.Add "DAaD", 0, FreeVector1, Vector(3, 0, 6)
   
     
    Level.GoodPlaces.Add "DAD", 0, 0, FreeVector1, Vector(-5, 7, 20)
    Level.GoodPlaces.Add "DR", 0, 0, FreeVector1, Vector(9, 2, 17)
    Level.GoodPlaces.Add "Church", 0, 0, FreeVector1, Vector(6, 11, 25)
   
    AIPNCount = 5
    ReDim AIPNodes(1 To 5)
    AIPNodes(1) = Vector(3.11, 0, 4.45)
    AIPNodes(2) = Vector(3.12, 0, 9.2)
    AIPNodes(3) = Vector(0.7, 0, 5.52)
    AIPNodes(4) = Vector(4.98, 0#, 0.3)
    AIPNodes(5) = Vector(1.12, 0#, 6.4)
    'ParticleSystem.CreateBillboardSystem 10, 10, 1000, Vector(0, 50, 0), 5000, GetTex("Menu.Images.BigMenuPentagram")
    'ParticleSystem.SetAlphaBlendingMode TV_CHANGE_ALPHA
   


   
   
    Engine.SetAngleSystem TV_ANGLE_DEGREE
    MainCamera.SetCamera 1, 1, 1, 0, 0, 0 ' X[Дебаг]X: ВРЕМЕННО!         
    frm.SetFocus
   
    MainCamera.SetViewFrustum 60, 10000, 0.00001
        Player.Position_Y = 1 ' X[Дебаг]X: ВРЕМЕННО!         
   
       
   
    ' X[Дебаг]X: ВРЕМЕННО!             
    Dim x As TVMesh
    Set x = pig.DuplicateMesh("xx")
    x.MoveRelative 1.12231, 0.3554, 0.6
    'LoadLevel "city"
    '=====================================================================
    '=== ОСНОВНОЙ ЦИКЛ НАЧИНАЕТСЯ ЗДЕСЬ
    '=====================================================================
     g_ClassPointer.Bind "e", "Player.Position_Y=Player.Position_Y-0.01", atOnStateChange
     g_ClassPointer.Bind "s", "Engine.ScreenShot ""D:\file.bmp""", atOnUp
     x.SetTexture 1
     
     
    Do
 
 
        DoEvents
        If g_Active Then
        i_CheckInput
        g_UpdateControl
        g_ClassPointer.g_EyeCamera = True ' X[Дебаг]X: ВРЕМЕННО!   
        Player.Rotation_H = Player.Rotation_H + g_ClassPointer.i_MouseRelX / 2
        Player.Rotation_V = Player.Rotation_V + g_ClassPointer.i_MouseRelY / 2
       
    g_UpdateCamera
    g_ClassPointer.vid_FPS = 100


    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Engine.Clear
   






'Debug.Print Val(xa - Math.Direction2Ang(FreeVector1.x, FreeVector1.Z))
'lak.SetPosition FreeVector1.x, FreeVector1.y, FreeVector1.Z

' \/\/\/\  кусок сценрендера был вырезан отсюда //////

debug_DrawHidenActors
debug_DrawSkeleton
debug_DrawWord3DGrid
debug_AITargetPathLines
debug_CldForces



'pig.Render
'x.Render
Scene.RenderAllMeshes
'Surface.ACTION_Begin2D

''Surface.DRAW_FilledCircle g_MouseX, g_MouseY, 6, 12, RGBA(1, 0, 0, 0.7555)
'Surface.ACTION_End2D
''
''FlatText.ACTION_BeginText
''FlatText.NormalFont_DrawText g_ClassPointer.g_CameraRotationHor, 100, 100, RGBA(1, 1, 0, 1)
''FlatText.ACTION_EndText


Rendering

End If
Loop Until Control.IsKeyPressed(TV_KEY_ESCAPE)

ExitGame
End
End Sub


Внимание: уникальная возможность увидеть часть сорсов The Four :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:25

Хакер

Интересный, но малопонятный код(для меня),хотя кое, что все таки понятно.А что такое The Four, это типа игра?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 19:26

Угу. Это игра, код которой составляет ~32500 строк.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:32

Хакер
Угу. Это игра, код которой составляет ~32500 строк.

Она 2D я правильно,понимаю?А на каком движке делаешь игру?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 19:34

Блин.
http://bbs.vbstreets.ru/download.php?id=5117

2D? Или может всё таки 3?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:37

Bonesnapper и nekeda
nekeda прав,рябь уйдет,но нужно будет заниматься подгонкой, а в моем случае подгонка это зло!

Bonesnapper прав тоже, но в другом!

с какого сдвиг обьекта уберет рябь то
только если они перестанут пересикаться


/////////////////////////////////////////////////
Вопос остается открытым,метод nekeda не подходит, есть ещё идеи?
Последний раз редактировалось Ptereks 14.12.2006 (Чт) 19:43, всего редактировалось 1 раз.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 19:41

Хакер

2D? Или может всё таки 3?


Извини, ошибочка шыла, она 3D,Двиг TV3D.

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 14.12.2006 (Чт) 20:02

2nekeda
антианализинг не причем там это отдельно написано как дополнние

да и какая разница где сделана модель то
да и куда ты будешь двигать кубики если они одинаковые
если сдвинешь то один с одой из сторон вылезет

проблема в том что дх не правильно определяет
какая грань выше (тоже происходит и максе)
та переменная как раз и определяет точность этого определения
и если ее правильно поставить то ни чего не будет ни куда вылезать

2Хакер
это одно и тоже место с разными значениями переменной
в 1 случае ланд и вода (которая чуть выше) русуются как раз рябью
тк не правильно определяется какая грань выше

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

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

2алл
и как сдвиг обьекта поможет хакеру

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 14.12.2006 (Чт) 20:27

Ptereks
такие вещи надо знать, и делать модели учитывая эти знания. Это принцип рисования объектов в ДХ. Твоя модель переделывается заново за 15 минут. Или пиши свой аналог ДХ, я уже говорил.

Bonesnapper
да и куда ты будешь двигать кубики если они одинаковые
если сдвинешь то один с одой из сторон вылезет


значит надо сдвинуть чуть чуть, чтобы этого не было заметно, но координаты отличались хоть на 0,001. О чём я уже тоже сказал раз пять :evil:

Хакер
Попробуй задать этот вопрос на форуме ТВ. Или же отрисуй текстуры и кубики сам.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 14.12.2006 (Чт) 20:29

nekeda
На форуме ТВ мы забанены как спамеры. (Т.е. не мы, а наша подсеть. Сами мы ничего плохого не делали)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 20:45

Ну что спасибо всем!В особенности nekeda ,т.к он не смотря не на что вдолбил в меня истину!

Ну а теперь вторая часть вопроса:
У нас есть DLL с загрукой Х файлов, если DLL лежит вместе с Х файлом в одной папке, то модель грузиться нормально, но если DLL в другой папке, то вылазиет автоматическая ошибка.В чем ошибка может быть?Или просто, так должно быть и по другому нельзя?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 14.12.2006 (Чт) 22:22

Хакер
Анонимные прокси уже отменили? :roll:
Ptereks
Криво указываешь путь к файлу.
Изображение

Ptereks
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.06.2006 (Пн) 18:47

Сообщение Ptereks » 14.12.2006 (Чт) 22:43

keks-n

Криво указываешь путь к файлу.

Путь вроде правильный, а другой причины быть не может?

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 15.12.2006 (Пт) 15:00

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


а ты не подумал что если кубы будут с разными текстурами то
если смотреть с 1 сторы красный будет поверх синего
а если сдругой то наоборот :twisted:
хотя конечно выперания видно не будет

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 15.12.2006 (Пт) 15:17

Там и mail.ru сервер забанен. keks-n
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Пред.След.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList  
cron