본문 바로가기

Script/MaxScript

Random_Scatter_Surface

 

 

Random_Scatter_Surface.ms
다운로드

수정후 - 이미 생성된 곳의 폴리곤을 지워서 한번 생성된 자리에서는 다시 생성안되게~

 

 

 

수정전 - 무조건 랜덤생성

 

 

 

 

mBase = copy $  --선택된 바닥을 카피
mBase.wirecolor = color 88 88 255

delete $

select mBase

FaceNum = polyop.getNumFaces mBase  --선택된 오브제의 총 면수 
Farray = for obj in mBase.Faces collect obj.index --선택된 오브제의 면을 수집해서 Farray에 배열로 넣음
PercentCount = FaceNum*0.1 -- 폴리 선택 (현재는 전체폴리의 10%값)

GetNum=#()  --배열 설정.q

for j=1 to PercentCount do  --PercentCount 번동안  Farray의 배열중에 랜덤 반복선택해서 GetNum에 넣음. 
(
	 GetNum[j] = Farray [random 1 FaceNum]
)

GetNum  

-- subobjectLevel = 4
polyop.setFaceSelection mBase GetNum

for t=1 to PercentCount do  --선택된 폴리만큼 오브젝트 복사.이동
(
   m = copy $source
   m.pos=  polyop.getsafefacecenter $ GetNum[t]
   m.dir = polyop.getFaceNormal $ GetNum[t]
   m.wirecolor= orange
)

polyop.deleteFaces mBase GetNum --선택된 폴리를 지움.

'Script > MaxScript' 카테고리의 다른 글

Pos2VertexColor for Foliage Animation wip  (0) 2020.06.19
FBX EXPORTER & Anim for Unity  (0) 2020.05.07
pos2zero  (0) 2019.10.11
TRI,VERTEX Viewport Count  (0) 2019.10.11