Skip to content

Instantly share code, notes, and snippets.

@Hoikohroh
Created December 12, 2014 11:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hoikohroh/c98a3ed06f0de470992d to your computer and use it in GitHub Desktop.
Save Hoikohroh/c98a3ed06f0de470992d to your computer and use it in GitHub Desktop.
Maxscript:Cammmap_Edit
/*
Cammap_Edit
ver 20140109
複数のオブジェクトに対し、カメラマップモディファイアを割り当て/設定します
1つのオブジェクトに複数のカメラマップモディファイアを使用している場合、
一番上の階層のみ変更します。
*/
try(destroyDialog Roll_Cammap)catch()
(
Ordered =#()
--Filter 'Use CameraMap Mod'
Fn Order =(
All = Selection as array
for i in All do
(
if i.modifiers[CameraMap] != undefined
then (appendifunique Ordered i)
else (deselect i)
)
)
rollout Roll_Cammap "" width:180
(
--FilterCamera
fn Cam_filt obj = superclassof obj ==Camera
--DialogContents
Group"Camera Object"(
pickbutton pic_Cam "Pick Camera"autoDisplay: true filter:Cam_filt
)
Group"Channel:"(
spinner spn_Channnel range:[1,99,1] type: #integer width:50 align:#right
radiobuttons rdo_Map labels:#("Map Channel:","Vertex Color Channel") align:#left offset:[0,-21]
)
Button btn_Add "Add CamMap"
--Action
on pic_Cam picked object do(
Ordered = #()
Order()
for i in Ordered do (
Temp = i.modifiers[CameraMap]
Temp.cameraNode = pic_Cam.object
)
)
on spn_Channnel entered do(
Ordered = #()
Order()
for i in Ordered do (
Temp = i.modifiers[CameraMap]
Temp.channel = spn_Channnel.value
)
)
on rdo_Map changed state do(
if rdo_Map.state == 1
then (
spn_Channnel.enabled = true
Temp_Channel = spn_Channnel.value
)
else (
spn_Channnel.enabled = false
Temp_Channel = 0
)
Ordered = #()
Order()
for i in Ordered do (
Temp = i.modifiers[CameraMap]
Temp.channel = Temp_Channel
)
)
on btn_Add pressed do(
for i in selection do(
addModifier i (CameraMap())
)
)
)
)
createDialog Roll_Cammap
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment