article search result of 'Tip and Tech/Max script' : 13

  1. 2009년 02월 27일 RolloutFloater Docking Sample
  2. 2009년 02월 12일 기본 오브젝트 생성시 기본 머트리얼과 와이어컬러 고정
  3. 2008년 12월 23일 Remove Rollout From current Window (1)
  4. 2008년 12월 12일 Mxs dotnet Datagridview Sample
  5. 2008년 11월 21일 startup script 를 이용한 project unit setup (2)

global studio2k_RollTestFloater1,studio2k_RollTestFloater2
rollout studio2k_RollTestParent "Parent"
(
label lbl1 "부모 플로터가 움직이면 아들도 움직인다 "
on studio2k_RollTestParent open do (
if studio2k_RollTestFloater2 != undefined then (
try(closeRolloutFloater studio2k_RollTestFloater2) catch()
)
studio2k_RollTestFloater2 = newRolloutFloater "Parent" 300 150 (studio2k_RollTestFloater1.pos.x+315) 75
addRollout studio2k_RollTestChildren studio2k_RollTestFloater2 rolledUp:false
)
on studio2k_RollTestParent moved pos do (
studio2k_RollTestFloater2.pos = (studio2k_RollTestFloater1.pos + [315,0])
)
)
rollout studio2k_RollTestChildren "Children"
(
label lbl2 "아들 플로터가 움직이면 부모는 움직이지 않는다 "
/* 이부분 주석 풀면 아들이 움직이면 부모도 움직임
on studio2k_RollTestChildren moved pos do (
studio2k_RollTestFloater1.pos = (studio2k_RollTestFloater2.pos - [315,0])
)*/
)

if studio2k_RollTestFloater1 != undefined then (
try(closeRolloutFloater studio2k_RollTestFloater1) catch()
)
studio2k_RollTestFloater1 = newRolloutFloater "Children" 300 150 40 75
addRollout studio2k_RollTestParent studio2k_RollTestFloater1 rolledUp:false



플로터 도킹... 서로를 부모로 인식하게도 가능할거 같은데?
바로 해결..ㅡ_ㅡ;;

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
02 27, 2009 12:26 02 27, 2009 12:26
studio2k
Tip and Tech/Max script 02 27, 2009 12:26

트랙백 주소 : http://studio2k.teamnop.com/tt/trackback/278

댓글을 달아 주세요

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

(
global std_set_mat_wire
local std_default_mat_name = "Std_Default_mat"
fn std_set_mat_wire = (
obj = for i in selection collect i
if obj.count == 1 then (
if (superclassof obj[1]) == GeometryClass and (classof obj[1]) != BoneGeometry and (classof obj[1]) != Biped_Object and (classof obj[1]) != PF_Source and (classof obj[1]) != Spray and (classof obj[1]) != Snow and (classof obj[1]) != Blizzard and (classof obj[1]) != PArray and (classof obj[1]) != PCloud and (classof obj[1]) != SuperSpray and (classof obj[1]) != ParticleGroup and (classof obj[1]) != mr_Proxy and (classof obj[1]) != dummy and (classof obj[1]) != Targetobject then (
if obj[1].wirecolor != black and obj[1].material == undefined then (
if (sceneMaterials [std_default_mat_name]) == undefined then (
std_set_sceneMaterials = Standardmaterial ()
std_set_sceneMaterials.name = std_default_mat_name
obj[1].material = std_set_sceneMaterials
obj[1].wirecolor = black
)
if (sceneMaterials [std_default_mat_name]) != undefined then (
obj[1].material = sceneMaterials [std_default_mat_name]
obj[1].wirecolor = black
)
)
)
)
)
callbacks.removeScripts #selectionSetChanged
callbacks.addScript #selectionSetChanged "std_set_mat_wire ()" id:#mz_smw
)


마야에 익숙해 있던 친구의 부탁으로 만들었던 스크립트 입니다.
기본적으로 오브젝트 생성시 Standardmaterial 머트리얼을 적용합니다.(뷰포트 그레이용) 그리고 와이어컬러를 블랙으로 놓습니다.(와이어 컬러가 블랙이아니며 머트리얼이 없는 경우에만 동작 합니다.)
selectionSetChanged callback 를 이용해서 오브젝트를 선택할때마다 스크립트는 활동(?)합니다.
기본적으로 지오메트리의 오브젝트들만 델수 있게 되어 있습니다..^^

사용자 삽입 이미지

사용자 삽입 이미지
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
02 12, 2009 10:11 02 12, 2009 10:11
studio2k
Tip and Tech/Max script 02 12, 2009 10:11

트랙백 주소 : http://studio2k.teamnop.com/tt/trackback/277

댓글을 달아 주세요

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

global test_floater

rollout test_roll_1 "test rollout 1" (
label lbl_test "test rollout 1"
)
rollout test_roll_2 "test rollout 2" (
label lbl_test "test rollout 2"
)
rollout test_subroll_1 "test subrollout 1" (
label lbl_test "test subrollout 1"
)
rollout test_subroll_2 "test subrollout 2" (
label lbl_test "test subrollout 2"
)

rollout test_control "test control" (
checkbutton ckb_roll_1 "rollout 1"
checkbutton ckb_roll_2 "rollout 2"
checkbutton ckb_subroll_1 "subrollout 1"
checkbutton ckb_subroll_2 "subrollout 2"
subrollout sub_roll "subrollout here" width:256 height:64 align:#center

on ckb_roll_1 changed state do (
if (state) then ( addrollout test_roll_1 test_floater )
else ( removerollout test_roll_1 test_floater )
)
on ckb_roll_2 changed state do (
if (state) then ( addrollout test_roll_2 test_floater )
else ( removerollout test_roll_2 test_floater )
)
on ckb_subroll_1 changed state do (
if (state) then ( addsubrollout sub_roll test_subroll_1 )
else (removesubrollout sub_roll test_subroll_1 )
)
on ckb_subroll_2 changed state do (
if (state) then ( addsubrollout sub_roll test_subroll_2 )
else ( removesubrollout sub_roll test_subroll_2 )
)
)

test_floater = newRolloutFloater "Hello" 512 512
addrollout test_control test_floater


출처:http://forums.cgsociety.org/showthread.php?t=699242

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
12 23, 2008 16:05 12 23, 2008 16:05
studio2k
Tip and Tech/Max script 12 23, 2008 16:05

트랙백 주소 : http://studio2k.teamnop.com/tt/trackback/275

댓글을 달아 주세요

  1. productionkim 2009年 01月 04日 00時 59分  수정/삭제  댓글쓰기

    아놔 테터툴즈 스킨들 너무 안이쁘다....미치겠다. 아 맘에 드는게 없노!!! 그래도 윤호야 새해복 많이 받어 !!!

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다


(
--dotnet.loadassembly "System.Data"
rollout ro_test "test"
(
dotnetcontrol dg "System.Windows.Forms.DataGridView"

on ro_test open do
(
local colWidth = 160
local fromCol = dotNetObject "System.Windows.Forms.DataGridViewTextBoxColumn"
fromCol.headerText = "Original Textures"
fromCol.readOnly = true
fromCol.frozen = true
fromCol.width = colWidth

local toCol = dotNetObject "System.Windows.Forms.DataGridViewTextBoxColumn"
toCol.headerText = "New Textures"
toCol.width = colWidth

dg.columns.add fromCol
dg.columns.add toCol

dg.Location = dotNetObject "System.Drawing.Point" 10 10
dg.Width = 400
dg.Height = 400
dg.Visible = true

for i = 1 to 5 do
(
local row = #(dotNetObject "System.String" ("row str"))
dg.rows.add row
)
)
)

createdialog ro_test 500 500
)

                          -출처 Cgtalk.com
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
12 12, 2008 11:32 12 12, 2008 11:32
studio2k
Tip and Tech/Max script 12 12, 2008 11:32

트랙백 주소 : http://studio2k.teamnop.com/tt/trackback/272

댓글을 달아 주세요

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

프로젝트를 진행하면서 많은 사람들이 가장 쉽게 가장 큰 실수를 범하는 경우가 굉장히 많다..
그중 하나는 unit setup 을 잘못한채 작업을 다 진행하고 최종에서야 잘못됨을 알고 수정하는 경우를 많이 봤다..
본인도 그런실수를 할때가 종종 있는데..

이를 최소화 할수 있는 방법을 소개해볼까 한다.

Max root \Scripts\Startup 에 스크립트를 등록하면 맥스가 띠워질때 실행을 하게 된다.


fn std_viewport_setting = (
viewport.getLayout()
viewport.setLayout #layout_4hb
units.DisplayType = #Generic
gridPrefs.spacing = 16
)
callbacks.addscript #systemPostReset "std_viewport_setting()" id:#std_new_seting
callbacks.addscript #systemPostNew "std_viewport_setting()" id:#std_new_seting
std_viewport_setting()


callback을 이용해서 맥스가 reset 될때나 new 될때도 본스크립트는 동작하게 된다.

viewport.getLayout()
viewport.setLayout #layout_4hb

부분은 뷰포트의 레이아웃을 설정하는 부분이다..(삭제하여도 상관은 없다)

#layout_1 -- 1 viewport
#layout_2v -- 2 viewports, vertical split, both same size
#layout_2h -- 2 viewports, horizontal split, both same size
#layout_2ht -- 2 viewports, horizontal split, top smaller
#layout_2hb -- 2 viewports, horizontal split, top larger
#layout_3vl -- 3 viewports, 2 on left, 1 on right
#layout_3vr -- 3 viewports, 1 on left, 2 on right
#layout_3ht -- 3 viewports, 2 on top, 1 on bottom
#layout_3hb -- 3 viewports, 1 on top, 2 on bottom
#layout_4 -- 4 viewports, all same size
#layout_4vl -- 4 viewports, 3 on left, 1 on right
#layout_4vr -- 4 viewports, 1 on left, 3 on right
#layout_4ht -- 4 viewports, 3 on top, 1 on bottom
#layout_4hb -- 4 viewports, 1 on top, 3 on bottom

viewport.setLayout #layout_4hb
붉은 컬러 부분에 바꾸어서 넣으면 된다.(레이아웃은 지극히 본인취향)

units.DisplayType = #Generic
gridPrefs.spacing = 16

부분은 실질적인 unit setup 이다.
units.DisplayType = #Generic
마찬가지로 붉은 부분에는 아래의 옵션들로 교체가 가능하다.

#Generic
#Metric
#US
#custom

#Metric #US #custom 의 경우 units.DisplayType = #Generic 의 뒤부분에 아래의 코드를 삽입해주어야한다.

units.MetricType = #Millimeters

[참고]
#Millimeters
#Centimeters
#Meters
#Kilometers

위의 코드 또한 마찮가지로 참고 부분의 옵션으로 대체 가능하다.
#US #custom 의 경우에는 맥스 스크립트 레퍼런스의  3ds Max System Globals 항목 의 U 파트를 참고하면 될것이다.


gridPrefs.spacing = 16

부분은 뷰포트 그리드의 스페이스를 정의하는 부분인데 본인의 편의상 16unit 를 사용한다.프로젝트의 unit 에서 편의상 맞추어 주면 될것이다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
11 21, 2008 18:35 11 21, 2008 18:35
studio2k
Tip and Tech/Max script 11 21, 2008 18:35

트랙백 주소 : http://studio2k.teamnop.com/tt/trackback/271

댓글을 달아 주세요

  1. 54 2008年 12月 18日 11時 10分  수정/삭제  댓글쓰기

    units.DisplayType는 맥스에서 Display Unit Scale 을 정해주는 매소드고, 실제 렌더링에 영향을 주려면 System Unit Scale이 바뀌어야 하니까 units.SystemType 메소드를 사용해야 하더랑. :)

    • studio2k 2008年 12月 19日 09時 51分  수정/삭제

      오 그래? 따로 렌더링은 안걸어봐서 몰랐는데..땡쓰~

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다

Powerd by Textcube, designed by criuce