3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

188 страниц V  « < 186 187 188  
Reply to this topicStart new topic
> А нет-ли такого скрипта?
Алексей1980
сообщение 19/07/2019, 09:52
Сообщение #2806


Учитель
Иконка группы

Группа: Пользователи
Сообщений: 361
Регистрация: 09/12/2011
Пользователь №: 85 020



Ребят, а нет скрипта, который бы разбивал сетку по текстурной карте? просто не нравится мне модификатор дисплейс мировой, а локальный дисплейс требует равномерно разбитую поверхность.

А вообще есть программы, где хорошо развит дисплейс? ну как мудбокс, только чтоб сетка была неравномерно разбитая. Чтоб можно было играться с текстурой в фотошопе и сразу было видно на 3д модели как применяются внесённые изменения?
Go to the top of the page
 
+Quote Post
SEUL
сообщение 20/07/2019, 22:35
Сообщение #2807


Наш человек
Иконка группы

Группа: Пользователи
Сообщений: 461
Регистрация: 20/09/2005
Пользователь №: 16 432



Цитата(Алексей1980 @ 19/07/2019, 09:52) *
Чтоб можно было играться с текстурой

cry.gif
Алеше 39 годиков он играет с текстурами biggrin.gif

...Зарекался кроме "железа" не лазить никуда laugh.gif
Go to the top of the page
 
+Quote Post
Sl1m
сообщение 23/07/2019, 18:18
Сообщение #2808


Бот 3д центра
Иконка группы

Группа: Пользователи
Сообщений: 4 515
Регистрация: 15/09/2007
Из: Россия, Пенза
Пользователь №: 56 863



в субстанс дизайнере можно дисплейс быстро отредактировать
Go to the top of the page
 
+Quote Post
dawin4e
сообщение 28/10/2019, 22:25
Сообщение #2809


Виликий кукуруза
Иконка группы

Группа: Пользователи
Сообщений: 1 529
Регистрация: 28/08/2007
Из: Питер
Пользователь №: 56 414



Доброго времени суток, подскажите есть ли какой ни будь скрипт для расстановки поддержек для последующей печати на фотополимерном 3D принтере.
Конечно я пробовал делать это в слайсерах (криейшен воркшоп, и ЧиТуБокс) , но там обнаружился ряд ограничений либо поддержки устанавливаются только "от пола", либо они привязываются не к тому месту, то есть для простой модели покатит, а если планируется нечто многоэтажное уже стандартные средства слайсеров не справляются.
Пока я расставляю вручную поддержки в 3д максе (использую лоФт и сплайны с толщиной) и потомп всё кучей сохроняю в СТЛ .

Сообщение отредактировал dawin4e - 28/10/2019, 22:26
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Jahman
сообщение 30/10/2019, 09:21
Сообщение #2810


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 419
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



А по какому принципу они вручную расставляются?
Go to the top of the page
 
+Quote Post
dawin4e
сообщение 06/11/2019, 19:08
Сообщение #2811


Виликий кукуруза
Иконка группы

Группа: Пользователи
Сообщений: 1 529
Регистрация: 28/08/2007
Из: Питер
Пользователь №: 56 414



Не знаю как другие, но я делаю так: смотрю какие части нависают и ставлю под ними поддержки (на глаз , подгоняя координаты, так чтобы на пару десятых миллиметра утопить конец поддержки в деталь ) пример - картинка из предыдущего моего сообщения, в данном случае речь идёт о концах дуги и о вершинах треугольников расположенных на этой дуге.
Дальше прикидываем какое расстояние получилось между поддержками и если больше 2см - то добавляем промежуточные поддержки и перевязываем всё это дело наклонными поддержками.
И пользоваться инстансным копированием никто не запрещает - так потом проще будет корректировать одинаковые поддержки.

Сообщение отредактировал dawin4e - 06/11/2019, 19:19
Go to the top of the page
 
+Quote Post
nickel back
сообщение 21/01/2020, 11:49
Сообщение #2812


-
Иконка группы

Группа: Участник
Сообщений: 2 164
Регистрация: 04/03/2003
Из: Винница
Пользователь №: 1 584



привет, а нет ли такого скрипта чтобы переводил пути в unc - но без багов.
А самом ассет трекинге это возможно, можно делать stip>make absolute, можно сразу convert to unc , но в некоторых случаях то или другое работает некоректно.
Единственный 100% надежный результат выходит только когда выделить текстуру, нажать browse открывается окно выбора файла, open. Вот только тогда путь гарантировано правильный. Нельзя ли скриптом это...
Go to the top of the page
 
+Quote Post
industrialudaf
сообщение 01/04/2020, 12:58
Сообщение #2813


▄▀▄▀▄▀▄▀▄
Иконка группы

Группа: Пользователи
Сообщений: 1 548
Регистрация: 31/10/2009
Из: ВИТЕБСК
Пользователь №: 73 967



Народ, а нет ли такого скрипта, чтоб RELAX подобъектов был по ОДНОЙ конкретной выбранной оси?
Go to the top of the page
 
+Quote Post
Jahman
сообщение 01/04/2020, 16:55
Сообщение #2814


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 419
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



есть, но недописанный
можно скопировать объект релакснуть, а потом обновить только нужную координату
вот таким образом:
CODE
(

fn UpdateVertexPositionsFromMesh obj target_obj x:false y:false z:false =
(
    for v=1 to obj.numverts do
    (
        new_pt = in coordsys target_obj getvert target_obj v        
        old_pt = in coordsys obj getvert obj v        
        new_pt = [ if x == true then new_pt.x else old_pt.x, if y == true then new_pt.y else old_pt.y, if z == true then new_pt.z else old_pt.z ]
        
        in coordsys obj setvert obj v new_pt
    
    )
    
    update obj

)

-- запускаем
obj = pickObject() -- выбираем наш оригинальный объект
tgt = pickObject() -- теперь выбираем объект с которого берем координаты

-- вызываем функцию и указываем какие координаты вертексов обновить
UpdateVertexPositionsFromMesh obj tgt x:true y:true -- обновятся только X и Y

/*
    UpdateVertexPositionsFromMesh obj tgt z:true -- обновятся только Z
*/

)


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

Сообщение отредактировал Jahman - 01/04/2020, 17:07
Go to the top of the page
 
+Quote Post
temp-64GTX
сообщение 21/06/2020, 13:00
Сообщение #2815


Хренодёр
Иконка группы

Группа: Пользователи
Сообщений: 999
Регистрация: 02/06/2007
Из: Новосибирск
Пользователь №: 53 785



А кто-нибудь знает, возможно ли в максе сделать перерасчёт индексов текстур/мапов?
Ибо когда вмержишь в сцену какой-нибудь вонючий эвермоушен - то любая новая мапа будет автоматически называться как-нибудь так. И хотелось бы как-то переименовать все индексы, чтобы оно имело нормальные имена, примерно соответствующие реальному количеству текстур в сцене.


Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Jahman
сообщение 23/06/2020, 11:59
Сообщение #2816


уже всё сделал
Иконка группы

Группа: Пользователи
Сообщений: 2 419
Регистрация: 01/06/2005
Из: z3л3№гр@d
Пользователь №: 13 838



Можно конечно.
Есть два варианта с использованием имен класса в имени карты или как в максе по дефолту оставлять Map #...
QUOTE
use_texturemap_class_name = true
'Map #14' --> 'Mix #1'
'Map #4' --> 'Mix #2'
'Map #14' --> 'Bitmap #1'
'Map #11' --> 'Bitmap #2'
'Map #10' --> 'Bitmap #3'
'Map #7' --> 'Bitmap #4'
'Map #8' --> 'Bitmap #5'
'Map #6' --> 'Bitmap #6'
'Map #1451' --> 'Bitmap #7'
'Map #22' --> 'Bitmap #8'
'Map #1467' --> 'Bitmap #9'
'Map #1466' --> 'Bitmap #10'
'Map #1465' --> 'Bitmap #11'
'Map #35' --> 'Bitmap #12'
'Map #35' --> 'Bitmap #13'
'Map #1461' --> 'Bitmap #14'
'Map #1461' --> 'Bitmap #15'
'Map #3' --> 'Bitmap #16'
'Map #4' --> 'Bitmap #17'
'Map #4' --> 'Bitmap #18'
'Map #3' --> 'Bitmap #19'
'Map #6' --> 'Bitmap #20'
'Map #6' --> 'Bitmap #21'
'Map #39' --> 'Bitmap #22'
'Map #4' --> 'Bitmap #23'
'Map #13' --> 'Bitmap #24'
'Map #9' --> 'Bitmap #25'
'Map #5' --> 'Bitmap #26'
'Map #2' --> 'Bitmap #27'
'Map #1' --> 'Bitmap #28'
'Map #1' --> 'Bitmap #29'
'Map #1' --> 'Bitmap #30'
'Map #1' --> 'Bitmap #31'
'Map #2' --> 'Bitmap #32'
'Map #1' --> 'Bitmap #33'
'Map #2' --> 'Bitmap #34'
'Map #25' --> 'Bitmap #35'
'Map #1' --> 'Bitmap #36'
'Map #1468' --> 'VertexColor #1'
'Map #6' --> 'GradientRamp #1'
'Map #14' --> 'VRayEdgesTex #1'
'Map #14' --> 'VRayEdgesTex #2'
'Map #1464' --> 'VRayColor #1'
'Map #3' --> 'Speckle #1'
'Map #1463' --> 'Falloff #1'
'Map #1441' --> 'Falloff #2'
'Map #1441' --> 'Falloff #3'
'Map #7' --> 'Falloff #4'
'Map #2' --> 'Falloff #5'


use_texturemap_class_name = false
'Map #14' --> 'Map #1'
'Map #4' --> 'Map #2'
'Map #14' --> 'Map #3'
'Map #11' --> 'Map #4'
'Map #10' --> 'Map #5'
'Map #7' --> 'Map #6'
'Map #8' --> 'Map #7'
'Map #6' --> 'Map #8'
'Map #1451' --> 'Map #9'
'Map #22' --> 'Map #10'
'Map #1467' --> 'Map #11'
'Map #1466' --> 'Map #12'
'Map #1465' --> 'Map #13'
'Map #35' --> 'Map #14'
'Map #35' --> 'Map #15'
'Map #1461' --> 'Map #16'
'Map #1461' --> 'Map #17'
'Map #3' --> 'Map #18'
'Map #4' --> 'Map #19'
'Map #4' --> 'Map #20'
'Map #3' --> 'Map #21'
'Map #6' --> 'Map #22'
'Map #6' --> 'Map #23'
'Map #39' --> 'Map #24'
'Map #4' --> 'Map #25'
'Map #13' --> 'Map #26'
'Map #9' --> 'Map #27'
'Map #5' --> 'Map #28'
'Map #2' --> 'Map #29'
'Map #1' --> 'Map #30'
'Map #1' --> 'Map #31'
'Map #1' --> 'Map #32'
'Map #1' --> 'Map #33'
'Map #2' --> 'Map #34'
'Map #1' --> 'Map #35'
'Map #2' --> 'Map #36'
'Map #25' --> 'Map #37'
'Map #1' --> 'Map #38'
'Map #1468' --> 'Map #39'
'Map #6' --> 'Map #40'
'Map #14' --> 'Map #41'
'Map #14' --> 'Map #42'
'Map #1464' --> 'Map #43'
'Map #3' --> 'Map #44'
'Map #1463' --> 'Map #45'
'Map #1441' --> 'Map #46'
'Map #1441' --> 'Map #47'
'Map #7' --> 'Map #48'
'Map #2' --> 'Map #49'


CODE
(
    use_texturemap_class_name = false
    
    RegexIsMatch = (dotnetclass "system.text.regularexpressions.regex").match
    pattern = "(.*?\s)#\d+"

    creatable_texturemap_classes = for texture_class in textureMap.classes where texture_class.creatable collect texture_class
        
    counter = 0
    format "Renaming maps:\n"
    
    for texturemap_class in creatable_texturemap_classes do
    (                
        if use_texturemap_class_name do counter = 0

        texturemap_class_string = texturemap_class as string
        texturemap_class_string[1] = toUpper texturemap_class_string[1]        
        texturemap_class_string = substituteString texturemap_class_string "_" ""
        
        if texturemap_class_string == "Bitmaptexture" do texturemap_class_string = "Bitmap"
        
        for map in GetClassInstances texturemap_class do
        (        
            local match = RegexIsMatch map.Name pattern
                        
            if match.success do
            (            
                counter += 1                
                new_map_name = if use_texturemap_class_name then (texturemap_class_string + " #" + counter as string) else (match.Groups.item 1).value + "#" + counter as string
                        
                format "'%'  -->  '%'\n" map.Name new_map_name
                
                if stricmp map.Name new_map_name != 0 do map.Name = new_map_name                
                
            )
        )
        
    )

)


значение переменной use_texturemap_class_name меняем по своему вкусу
скрипт находит и переменовывает только карты чье имя соотвествует шаблону: [пробел][символ решетки][число]
в листенере будет список всех переименованных карт

пару важных моментов:
переименовываются абсолютно все классы карт
undo нету

Чтобы новые карты создавались с адекватными индексами надо переименовать карты, сохранить и заново открыть сцену

Сообщение отредактировал Jahman - 23/06/2020, 12:14
Go to the top of the page
 
+Quote Post
temp-64GTX
сообщение 24/06/2020, 18:06
Сообщение #2817


Хренодёр
Иконка группы

Группа: Пользователи
Сообщений: 999
Регистрация: 02/06/2007
Из: Новосибирск
Пользователь №: 53 785



Цитата(Jahman @ 23/06/2020, 15:59) *
Чтобы новые карты создавались с адекватными индексами надо переименовать карты, сохранить и заново открыть сцену


Вау, это реально работает. Крутотень. Огромное перфекционистское спасибо.
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






188 страниц V  « < 186 187 188
Reply to this topicStart new topic

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 07/07/2020 - 04:58