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

Создание материала FastSSS2, не присваиваются текстуры.

Тема в разделе "MAXScript", создана пользователем Fat@lix3D_MX, 25 авг 2011.

Модераторы: Savin Denis
  1. Fat@lix3D_MX

    Fat@lix3D_MX Активный участник

    С нами с:
    19.07.2008
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    7
    Доброго времени суток, у меня такая проблема.
    1)Создаю через скрипт материал FastSSS2, настраиваю и указываю текстуры все хорошо.
    2)В этом же скрипте создаю второй материал и все так же настраиваю, НО! текстура не присваевается. Если вручную начинаю указывать файл, то имя файла ввиде пути к текстуре. И еще один интересный момент если указать в кач. текстуры файл который юзал в первом материале, он ложиться нормально.

    Подскажите пожалуйста что не так? Ниже мой код.

    Код:
    rollout test "Fatalix3d" width:143 height:171
    (
    	GroupBox grp3 "Fatalix3d Toolbar" pos:[4,5] width:131 height:159
    	
    	button theButton "Aldar RPLS" pos:[12,21] width:108 height:28
    	button theButton3 "Bay RPLS" pos:[12,53] width:108 height:28
    	button theButton2 "Remove MrLight's" pos:[12,85] width:108 height:28
    	button theButton4 "Bay RPLS" pos:[12,118] width:108 height:28
    	
    	on theButton4 pressed do(
    	)
    
    	on theButton3 pressed do(
    	----BAY
    	select #($'bay:body', $bay, $'bay:jaw', $'bay:tonque', $'bay:Hips', $'bay:Spine', $'bay:Spine1', $'bay:Spine2', $'bay:Spine3', $'bay:Neck', $'bay:Head', $'bay:Head1', $'bay:Head2', $'bay:shapka', $'bay:Jaw', $'bay:Jaw1', $'bay:RightBrow', $'bay:RightBrow1', $'bay:LeftBrow', $'bay:LeftBrow1', $'bay:RightEye', $'bay:LeftEye', $contrl1, $Rectangle001, $Rectangle009, $Rectangle002, $Rectangle004, $Circle001, $bay_ctrl_line2, $bay_ctrl_line5, $Rectangle005, $Circle002, $Circle005, $Rectangle010, $Circle006, $bay_ctrl_line7, $bay_ctrl_line8, $Rectangle011, $Rectangle013, $Circle007, $bay_ctrl_line3, $bay_ctrl_line4, $Rectangle014, $bay_ctrl_line6, $bay_ctrl_line1, $contrl2, $Rectangle015, $Text001, $Text002, $Text003, $Text004, $Text005, $Text006, $Text007, $Text008, $Text009, $Text010, $Rectangle016, $Circle008, $Rectangle017, $Circle009, $Rectangle018, $Circle010, $Rectangle019, $Circle011, $Rectangle020, $Circle012, $Rectangle021, $Circle013, $Rectangle022, $Circle014, $Rectangle023, $Circle015, $Rectangle024, $Circle016, $Rectangle025, $Circle017, $Rectangle026, $Circle018, $Text011, $'bay:LeftShoulder', $'bay:LeftArm', $'bay:LeftForeArm', $'bay:LeftHand', $'bay:LeftHandThumb1', $'bay:LeftHandThumb2', $'bay:LeftHandThumb3', $'bay:LeftHandThumb4', $'bay:LeftHandPinky1', $'bay:LeftHandPinky2', $'bay:LeftHandPinky3', $'bay:LeftHandPinky4', $'bay:LeftHandRing1', $'bay:LeftHandRing2', $'bay:LeftHandRing3', $'bay:LeftHandRing4', $'bay:LeftHandMiddle1', $'bay:LeftHandMiddle2', $'bay:LeftHandMiddle3', $'bay:LeftHandMiddle4', $'bay:LeftHandIndex1', $'bay:LeftHandIndex2', $'bay:LeftHandIndex3', $'bay:LeftHandIndex4', $'bay:RightShoulder', $'bay:RightArm', $'bay:RightForeArm', $'bay:RightHand', $'bay:RightHandThumb1', $'bay:RightHandThumb2', $'bay:RightHandThumb3', $'bay:RightHandThumb4', $'bay:RightHandIndex1', $'bay:RightHandIndex2', $'bay:RightHandIndex3', $'bay:RightHandIndex4', $'bay:RightHandMiddle1', $'bay:RightHandMiddle2', $'bay:RightHandMiddle3', $'bay:RightHandMiddle4', $'bay:RightHandRing1', $'bay:RightHandRing2', $'bay:RightHandRing3', $'bay:RightHandRing4', $'bay:RightHandPinky1', $'bay:RightHandPinky2', $'bay:RightHandPinky3', $'bay:RightHandPinky4', $'bay:RightUpLeg', $'bay:RightLeg', $'bay:RightFoot', $'bay:RightToeBase', $'bay:RightToes', $'bay:LeftUpLeg', $'bay:LeftLeg', $'bay:LeftFoot', $'bay:LeftToeBase', $'bay:LeftToes', $'bay:halat', $'bay:rubaha', $'bay:poyas')
    	actionMan.executeAction 0 "40142"  -- Groups: Group Open
    	select $'bay:body'
    	modPanel.setCurrentObject $'bay:body'.baseObject
    	subobjectLevel = 5
    	$.EditablePoly.SetSelection #Face #{1..4802}
    	macros.run "Editable Polygon Object" "EPoly_Hide"
    	$.EditablePoly.SetSelection #Face #{4803..5194}
    	$.EditablePoly.setMaterialIndex 2 1
    	macros.run "Editable Polygon Object" "EPoly_UnHide"
    	subobjectLevel = 0
    	actionMan.executeAction 0 "40143"  -- Groups: Group Close
    	
    		-------------------------------------------------------------------------------------
    	actionMan.executeAction 0 "50048"  -- Tools: Material Editor Toggle
    	max mtledit
    	
    	macros.run "Medit Tools" "clear_medit_slots"
    	
    	mm = multimaterial numsubs:2 -- create multimaterial 
    	meditMaterials[2] = mm	--assign 1-st slot this material (MM is a var [material:index])
    	
    	mm[1]= VRayFastSSS2 ()
    	mm[1].preset = 2
    	
    	mm[1].ior = 1.3
    	mm[1].sub_surface_color = color 112.2 58.65 33.15
    	mm[1].scatter_color = color 93.6666 34.8457 17.4088
    	mm[1].scatter_radius = 0.6
    	mm[1].specular_amount = 0.7
    	mm[1].specular_glossiness = 0.5
    	mm[1].diffuse_color = color 112.2 58.65 33.15
    	mm[1].diffuse_amount = 0
    	mm[1].phase_function = 0.8
    	mm[1].overall_color = color 255 255 255
    	mm[1].specular_color = color 255 255 255
    	
    	--assign texture
    	mm[1].texmap_diffuse_color = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body2.jpg"
    	mm[1].texmap_diffuse_amount = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body2.jpg"
    
    
    	mm[2].Diffuse = color 218 218 218
    	
    	---Assign material to mesh (Aldar)
    	$'bay:body'.material = meditMaterials[2]
    		)
    		
    	on theButton2 pressed do(
    	select #($Sky002, $Sky001, $'mr Area Spot Area')
    	actionMan.executeAction 0 "40020"  -- Edit: Delete Objects
    		)
    		
    	on theButton pressed do(
    		select #($aldar_body, $Aldar, $aldar_sapog_R, $aldar_shtani, $aldar_tubeteyka, $aldar_pojas, $aldar_rubaha, $aldar_kurtka, $aldar_sapog_L, $aldar_tongue, $aldar_hair, $aldar_jaw)
    			actionMan.executeAction 0 "40142"
    				select $aldar_body
    				max modify mode
    					modPanel.setCurrentObject $aldar_body.baseObject
    						subobjectLevel = 5
    							modPanel.setCurrentObject $aldar_body.baseObject
    	$.EditablePoly.SetSelection #Face #{1..5378}
    	$.EditablePoly.Hide #Face
    	
    	--Search Aldar's tooth
    	$.EditablePoly.SetSelection #Face #{5379..5782} -- select all zubi
    		$.EditablePoly.setMaterialIndex 2 1	--assign material ID to 2
    			$.EditablePoly.unhideAll #Face
    	
    	subobjectLevel = 0
    	max create mode
    	actionMan.executeAction 0 "40143"  -- Groups: Group Close
    	
    	-------------------------------------------------------------------------------------
    	actionMan.executeAction 0 "50048"  -- Tools: Material Editor Toggle
    	max mtledit
    	
    	macros.run "Medit Tools" "clear_medit_slots"
    	
    	mm = multimaterial numsubs:2 -- create multimaterial 
    	meditMaterials[1] = mm	--assign 1-st slot this material (MM is a var [material:index])
    	
    	mm[1]= VRayFastSSS2 ()
    	mm[1].preset = 1
    	
    	mm[1].ior = 1.3
    	mm[1].sub_surface_color = color 112.2 58.65 33.15
    	mm[1].scatter_color = color 93.6666 34.8457 17.4088
    	mm[1].scatter_radius = 0.6
    	mm[1].specular_amount = 0.7
    	mm[1].specular_glossiness = 0.5
    	mm[1].diffuse_color = color 112.2 58.65 33.15
    	mm[1].diffuse_amount = 0
    	mm[1].phase_function = 0.8
    	mm[1].overall_color = color 255 255 255
    	mm[1].specular_color = color 255 255 255
    	
    	--assign texture
    	mm[1].texmap_diffuse_color = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body.jpg"
    	mm[1].texmap_diffuse_amount = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body.jpg"
    	
    	mm[2].Diffuse = color 218 218 218
    	
    	---Assign material to mesh (Aldar)
    	$aldar_body.material = meditMaterials[1]
    	
    		)
    )
    createDialog test 143 171 --create's form	
     
  2. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Код нужно упростить. Если два раза один и тот же материал создается может проще в одну функцию свести?
    И такие моменты - зачем два раза один и тот же путь писать ? Может свести путь в одну переменную ? Меньше исправлять и не надо сравнивать полчаса один ли этот путь или нет.
    ---------------
    mm[1].texmap_diffuse_color = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body.jpg"
    mm[1].texmap_diffuse_amount = Bitmaptexture fileName:"\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body.jpg"
    ---------------------

    aldar_body_map = "\\Farmserver\E\50SKAZOK_ALDARA\2-UGOSZENIE_BAYA\TEXTURES\aldar_body.jpg"
    mm[1].texmap_diffuse_color = Bitmaptexture fileName:aldar_body_map
    mm[1].texmap_diffuse_amount = Bitmaptexture fileName:aldar_body_map

    Ошибки проще искать в читаемом коде
     
  3. Fat@lix3D_MX

    Fat@lix3D_MX Активный участник

    С нами с:
    19.07.2008
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    7
    Большое спасибо, оптимизировал код, а что бы текстура цеплялась надо путь указать вот так "\\\farmserver....", то есть 3 слеша)).

    Есть еще вопрос как достучаться со скрипта до vray object properties? Я настраиваю там матте и выключаю генерацию ГИ и т.д.
     
  4. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    setUserProp <node> "VRay_Matte_Enable True" false -- в таком стиле

    Переменные на картинке
     

    Вложения:

    • 2412442.jpg
      2412442.jpg
      Размер файла:
      99,5 КБ
      Просмотров:
      91
Модераторы: Savin Denis

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