Render.ru
Поддержать

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

LuVeNa

Активный участник
Рейтинг
7
всем привет
помогите плиз добить скрипт, чтоб был удобоваримый 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
всем спасибо, айту-шники отписали вариант с интерфейсом
и с поправками