1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Как Как автоматизировать процес текстурирования?

Тема в разделе "Материалы, текстуры", создана пользователем Cabich_zero, 30 авг 2011.

Модераторы: Артер
  1. Cabich_zero

    Cabich_zero Пользователь сайта

    С нами с:
    26.02.2007
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
    Есть моделька, а к ней 200 различных текстур. нужно модельку отрендерить с каждой текстурой . Как автоматизировать процес ?
     
  2. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Попробуй автоматизировать процесс с помощью MaxScript.
    Перед тем, как автоматизировать любой процесс, нужно сделать подробный анализ процесса.
    Потом нужно написать подробно алгоритм будущего автоматизированого процесса на "человеческом языке".
    После этого можно попробовать автоматизировать процесс с помощью какого-нибудь способа.

    P.S.
    1. Моделька (в определенный момент) имеет всего только одну текстуру?
    2. Какой тип текстуры?
    (Bitmap; Noise; Gradient; ...)
    3. Если тип текстуры Bitmap, тогда где находятся файлы текстур этой модельки?
    (файлы находятся в одной папке; файлы находятся в разных папок)
    4. В какой папке должны хранятся файлы с результатом рендеринга?
    Какое название должны иметь файлы с результатом рендеринга?
     
  3. Cabich_zero

    Cabich_zero Пользователь сайта

    С нами с:
    26.02.2007
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
    1 Моделька имеет всего одну текстуру
    2 битмап
    3 файлы можно положить как удобно
    4 в папке рендер,
    название должно содержать название модели и наименование текстуры
     
  4. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Пример:
    1. В новой сцене создай объект Box01 и примени к нему материал Standard.
    2. В качестве Diffuse установи текстуру Bitmap и выбери любой файл из тех 200 файлов.
    3. В окне Render Scene > Common > Common Parameters > Render Output установи нужный путь, нужный тип и любое название файла.
    4. Выдели объект Box01 и запусти скрипт. В новом окне нажми кнопку Render.
    Сохрани сцену в любую папку.
    200 файлов с изображениями должны находиться в одной папке. В этой папке не должно быть других типов файлов.

    Написал простой скрипт. Попробуй его использовать (усовершенствовать):
    Код:
    rollout igorznag_change_bitmap_texture "AutoSelect bitmap texture and render" width:500 height:105
    (
    button btn_render "Render" pos:[230,75]
    groupBox last_info "Last Info" pos:[5,5] width:490 height:65
    edittext images_folder_text "Images Folder:" pos:[15,20] readOnly:true
    edittext render_folder_text "Render Folder:" pos:[15,45] readOnly:true
    radiobuttons texture_name_filename_rb labels:#("Texture Name", "Texture FileName") default:1 pos:[10,80]
    
    on btn_render pressed do
    (
    renderSceneDialog.close();
    if(rendOutputFilename!="")then
    (
    render_folder=getFilenamePath rendOutputFilename
    render_filename_type=getFilenameType rendOutputFilename
    if(selection.count==1)then
    (
    m= selection[1].material
    if(m!=undefined)then
    (
    temp_material_bitmaps=getclassinstances bitmaptexture target:m
    if(temp_material_bitmaps.count==1)then
    (
    bitmap1=temp_material_bitmaps[1]; 
    images_folder=getFilenamePath bitmap1.filename
    images_path=getFiles (images_folder+"*.*")
    for i=1 to images_path.count do
    (
    bitmap1.filename=images_path[i]; texture_name_filename=bitmap1.name
    if(texture_name_filename_rb.state==2)then texture_name_filename=getFilenameFile bitmap1.filename
    rendOutputFilename=render_folder+selection[1].name+"_"+texture_name_filename+"_"+(i as string)+"_"+render_filename_type
    max quick render
    images_folder_text.text=images_folder;render_folder_text.text=render_folder;
    ))))))
    )createdialog igorznag_change_bitmap_texture style:#(#style_titlebar, #style_border, #style_sysmenu,#style_minimizebox)
    Чтобы запустить скрипт нужно:
    1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
    2. Сохраняем текстовый файл с названием "test.ms"
    3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
     
  5. Cabich_zero

    Cabich_zero Пользователь сайта

    С нами с:
    26.02.2007
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
    Спасибо большое!буду пробовать
     
  6. Cabich_zero

    Cabich_zero Пользователь сайта

    С нами с:
    26.02.2007
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
     
Модераторы: Артер

Поделиться этой страницей