Render.ru

замена объектов в ForestPack

LuVeNa

Активный участник
Рейтинг
7
#1
всем привет
помогите плиз добить скрипт, чтоб был удобоваримый UI
заменяются объекты во всех форэстах на другой, чтоб вручную не перебирать весь список

кое что написал

Код:
rollout ForestReplace "Forest Obj Replace"
(	-- UI --
pickbutton objToReplace "Pick Replace Object" width:120 autoDisplay:true \
	message:"Pick an object to be replaced"
pickbutton objNew "Pick New Object" width:120 autoDisplay:true \
	message:"Pick a new object"

button go_btn "GO!" pos:[60,60] enabled:false
	
	-- Events --
	on objToReplace picked obj do
	(
		if obj != undefined do
		(
			objToReplace.text = obj.name
			if objNew.text != "Pick New Object" then
				go_btn.enabled = true
		)
	)
	on objNew picked obj do
	(
		if obj != undefined do
		(
			objNew.text = obj.name
			if objToReplace.text != "Pick Replace Object" then
				go_btn.enabled = true
		)
	)	
	

	
) -- end
createDialog ForestReplace "Forest Obj Replace" width:150


осталось прицепить функцию, вот что на форуме сказали для моих нужд (http://www.itoosoft.com/forum/index.php?topic=1445.0)
запутался с этими значками доллара... чтоб выбранные объекты вписывались в эти строчки src и dst


Код:
-- object that we want to replace
src = $box
-- object that will replace it
dst = $cone
-- processing
instanceReplace src dst
src.name = dst.name
for i in Geometry where classOf i == Forest_Pro do
	(
	for n = 1 to i.cobjlist.count do
		(
		if (i.geomlist[n] == 2) and (i.cobjlist[n] != undefined) then
			(
			i.matlist[n] = i.cobjlist[n].material
			i.namelist[n] = i.cobjlist[n].name
			)
		)
	)
 

LuVeNa

Активный участник
Рейтинг
7
#2
всем спасибо, айту-шники отписали вариант с интерфейсом
и с поправками
 
Сверху