![]() |
Теневые карты - Версия для печати +- Xtreme3D Community (https://xtreme3d.ru/forums) +-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3) +--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6) +--- Темы: Теневые карты (/showthread.php?tid=62) Страницы:
1
2
|
Теневые карты - Gecko - 03-10-2022 Посмотрел, никакого постороннего тумана не увидел (кроме черного, который и должен быть). Браузер никак не влияет. Какая-то невнятная навигация по сцене, сложно нормально тестировать) ![]() Пока вот что заметил: Код: [== Неизвестный ==] при том, что окно 500x500, к тому же идет запуск в полноэкранном режиме. В Xtreme3D это может плохо работать. Советую размер комнаты/окна и размер view делать одинаковый, например 1280x720, и потестить сначала в оконном режиме. Start in fullscreen mode в ГМ сам по себе некорректно работает при использовании сторонней графики. Если наужен фулскрин, то надо еще в настройках Resolution поставить галку Set the resolution of the screen и выставить нужные настройки. Соответственно, соотношение размера окна и view должны быть такими же, как у выбранного видеорежима (то есть, 3:4, так как ГМ8 не поддерживает другие соотношения). Это самый надежный способ, насколько я знаю. Цитата:А кому нужно создавать эти шейдеры? Тому кто отбрасывает тень или тот на кого она падает?Материал 'mShader' применить к объектам, на которые должна падать тень. У объектов, которые отбрасывают тень, шейдер не имеет значения, но они могут использовать тот же самый (т.е., и отбрасывать, и принимать). Главное их добавить в дерево к shadowCasters. Теневые карты - Глеб - 03-11-2022 Странно, почему у вас нету текстуры ландшафта? И как размер комнаты может повлиять на размер окна? У меня действие происходит (терраин по размерам 500 на 500). Вот я и решил ограничить комнату. Так всегда делал. Это нужна специальная функция для настройки вида? Разрешение и полноэкранный режим? В чем проблема навигации? Когда мышку до краев доводили перемещение осуществлялось или были какие-то проблемы? Приближение отдаление колёсиком. Зажать пкм и двигать мышь в право влево и будет поворот. На счет теней я так делал, но вместо этого весь терраин просто затемнился но теней от танка нет. Теневые карты - Глеб - 03-11-2022 У меня 1680 на 1050, если я выставлю такой размер комнаты, то как будет работать на мониторах с другим разрешением? Как одоптировать под любой монитор, нужно в настройках окна задать по размерам дисплея. В функциях вида нашел в справке только как взять ширину и высоту, где указать полноэкранный? Я так понимаю нужно window_set_fullscreen true и window_set_size display_get_width и аналогично для высоты, я вас правильно понял? Ещё в конце добавил две строчки кода room_width=display_get_width(); room_height=display_get_height(); А саму комнату в настройках оставил 500 на 500, мне так удобнее расставлять объекты, чтобы было ограничение на краях карты. И все же вы не дали ответ на самый главный вопрос, где тени то? Что я не так сделал? matterrain=MaterialLibraryCreate(); MaterialLibraryActivate(matterrain); MaterialCreate('mTerrain1', 'textures/terrain/tex_river_rakovka.jpg'); MaterialSetOptions('mTerrain1',false,false); shmap1=BumpShaderCreate(); BumpShaderSetDiffuseTexture(shmap1,'mTerrain1'); BumpShaderSetMaxLights(shmap1,8); MaterialCreate('mShader1',''); MaterialSetShininess('mShader1',32); MaterialSetAmbientColor('mShader1',c_dkgray,1); MaterialSetDiffuseColor('mShader1',c_white,1); MaterialSetSpecularColor('mShader1',c_white,1); MaterialSetShader('mShader1',shmap1); BumpShaderSetShadowMap(shmap1,global.shadowmap); BumpShaderSetShadowBlurRadius(shmap1,2); map1=FreeformCreate('models/terrain/river_rakovka.obj',matterrain,matterain,global.scene); ObjectSetMaterial(map1,'mShader1'); ObjectSetPosition(map1,250,0,250); FreeformBuildOctree(map1); OdeStaticCreate(map1); OdeAddTriMesh(map1,0); вот я применил к местности шейдерный материал, но в игре просто он серый, а теней нет от танка. Танк 100% в древе шадоукастерс Теневые карты - Gecko - 03-19-2022 Чтобы корректно растянуть на весь экран, нужно включить полноэкранный видеорежим, и чтобы размер вида совпадал с этим режимом. К сожалению, в ГМ ограниченный набор видеорежимов. Если просто сделать окно на весь экран (Start in fullscreen mode), и создать вид с размерами, полученными из display_get_width/height, то это может плохо работать (по крайней мере, у меня на некоторых конфигурациях некорректно работало). Да и черт с ним, я считаю - я вообще не рекомендую ГМ8 использовать, слишком много там проблем накопилось. Мне вот интересно, как в Студии обстоят дела с этим, скорее всего лучше - как-нибудь на днях проверю. |