Перейти к содержанию

Modera

Сталкеры
  • Публикаций

    509
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Modera


  1. DREYYY https://disk.yandex.ru/d/7D_tMMTIsDTywA

    xray_export.p и xray_shader.p положить в C:\Program Files\NewTek\LightWave_2015.3\support\plugins\input-output

    bugtrap.dll положить в C:\Program Files\NewTek\LightWave_2015.3\bin

    xray_path.ltx взять от официальных плагинов и положить в C:\Program Files\NewTek\LightWave_2015.3\bin

    xrCore.dll и xrAPI.dll не ненужны


  2. DREYYY ну если они собраны из исходников чистого неба, то да, конечно анимация там будет сохранятся в чистонебовском формате и ТЧ сдк её не загрузит. Хотя может есть какие-то самопальные ТЧ сдк с поддержской нового формата анимции,  не знаю.


  3. DREYYY анимация от ЧН плагина может не подойти к ТЧ сдк, но это не точно. Единственный плагин от ТЧ я уже давал - он в архиве scripts_plugins_soc - но экспорт объектов там не работает у меня. Анимацию не проверял.

    Можно ещё более старый плагин попробовать, от 1850 билда, может быть он рабочий. Ан нет, в билде 1850 нет LW плагина, только для 3дмакс, память снова меня подводит.

     


  4. 17 минут назад, macron сказал:

    ЗЫ: вдруг пригодится.:u1F601:

    ChatGPT: Вот пример простого HLSL-шейдера, который позволяет сделать текстуру модели двусторонней:

      Показать контент

     

    
    
    Texture2D texture;
    SamplerState sampler;
    
    struct VS_INPUT
    {
        float4 position : POSITION;
        float2 texcoord : TEXCOORD0;
    };
    
    struct PS_INPUT
    {
        float4 position : SV_POSITION;
        float2 texcoord : TEXCOORD0;
    };
    
    PS_INPUT vs_main(VS_INPUT input)
    {
        PS_INPUT output;
        output.position = input.position;
        output.texcoord = input.texcoord;
        return output;
    }
    
    float4 ps_main(PS_INPUT input) : SV_TARGET
    {
        float4 color = texture.Sample(sampler, input.texcoord);
        float4 backColor = texture.Sample(sampler, 1.0 - input.texcoord);
        return color + backColor;
    }

     

     

    Ну вообще я немного не про это, а про регистр vFace. https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx9-graphics-reference-asm-ps-registers-ps-3-0#face-register

    Типа, надо в .ps написать

    float vFace : register(vFace);

    и потом в зависимости от этого значения выворачивать нормаль

      // 2. Standart output
      float3 normal = normalize((float3)I.N.xyz);
      O.Ne          = half4		(vFace < 0.0 ? -normal : normal, h);	

    А ещё надо куллинг отключить, но это без правки движка уже не сделаешь. :D


  5. 1 час назад, Diesel сказал:

    А так да - нет такого шейдера, и не может быть.

    Вообще, справедливаости ради, такой шейдер сделать можно. В современных играх типа Survarium или Metro Exodus двухсторонние поверхности делаются именно шейдерами.

    Но работать это будет только начиная с шейдерной модели 3.0 (это r2.5)

    • Хабар 1

  6. 4 минуты назад, DREYYY сказал:

    Нашел, но там на раздаче никого нет.

    Я встал на раздачу той версии которая 42 магабайта весит, т.к. я её скачивал.


    Дополнено 1 минуту спустя
    5 минут назад, DREYYY сказал:

    Господа, а может есть возможность настроить для плагинов для 2015 версии LW?

    Ну попробуй поставить 32-битную версию 2015, она может быть и официальные плагины схавает. Там совместимость между версиями похоже неплохая, так что главное чтобы битность совпадала.


  7. 10 часов назад, Diesel сказал:

    Тогда так. Сочинил возврат имени по аналогии с Максовским плагином, и в коре добавил, но она говорите не нужна.

    Дизель, такой код никогда в жизни работать не будет. Сделай так хотя-бы.

    char const * __cdecl EFS_Utils::AppendFolderToName(char *tex_name,int,int)
    {
    	const char *s1;
    	const char *s2;
    	const char *u;
    	string256 filename;
    	
    	s1 = strrchr(tex_name, '\\');
    	s2 = strrchr(tex_name, '/');
    	
    	if(s1 > s2)
    		strcpy(filename, s1+1);
    	else if(s2 > s1)
    		strcpy(filename, s2+1);
    	else
    		strcpy(filename, tex_name);
    		
    	u = strchr(filename, '_');
    	if(u) {
    		int prefix_len = u-filename;
    		if(prefix_len > 0) {
    			memcpy(tex_name, filename, prefix_len);
    			tex_name[prefix_len] = '\\';
    			tex_name[prefix_len+1] = '\0';
    		} else {
    			tex_name[0] = '\0';
    		}
    	} else {
    		tex_name[0] = '\0';
    	}
    	
    	strcat(tex_name, filename);
    	return tex_name;
    } 

     

    • Жму руку 1

  8. DREYYY 
    на рутрекере поищи, я оттуда качал!

     

     


    Дополнено 0 минут спустя
    2 часа назад, WolfHeart сказал:

    У тебя плагин не находит файл fs.ltx по указанному в xray_path.ltx пути.

    Нет, он ненаходит сам xray_path.ltx


  9. WolfHeart мда, а эта штука у меня вообще не грузится. Но зная проэкт oxygen, возможно нужен проц с AVX

    Капец конечно они там наворотили делов с зависимостями, аж звук тянется который этому плагину вот совсем нафиг не нужен bangin.gif


  10. Diesel щас поставлю 2015 64-битную версию и проверю!


    Дополнено 19 минуты спустя

    Diesel короче проверил. Плагин материалов работает. Экспорт не работает - пустой файл создаёт. Зато импорт LWO в сдк всё ещё справляется с объектами от 2015 версии.

    Вот СДК от 2015 версии - https://drive.google.com/file/d/13zWqg631v_fGWyWVrKlFGlCSEumVzpOS/view?usp=share_link

    Пароль - kamennojnicubumaga

     


  11. 24 минуты назад, Diesel сказал:

    Это 32бита 8я сдк.

    Для 2015 версии нужно 64-бита, если я не ошибаюсь.

    24 минуты назад, Diesel сказал:

    Как ты умудрился запустить? Там вообще разные функции не взаимозаменяемые встречаются в сдк

    У LW как-раз неплохая совместимость плагинов между версиями. В 9.3 можно ставить плагины от билда 1850, которые явно не для этой версии сделаны, и они работают. И даже от 1098 билда, можно поставить, и он грузится. Но не экспортирует ЕМНИП :D

    А компилить эти плагины я даже не пытался, нафиг оно мне надо.


  12. DREYYY 

    Кстати. Я немного напутал, нерабочая именно ТЧ версия, а не ЧН/ЗП. ТЧ версия требует BugTrapD.dll, которого нет, а если переименовать BugTrap.dll в BugTrapD.dll то будет ошибка при попытке создать !XRayShader.

    • Мастер! 2
    • Спасибо 1