Есть массив штор (быстро расставлена базовая заготовка).
Теперь надо поменять эту заготовку на высоко и низко детализированные шторы, в зависимости от расстояния до камеры:
Если расстояние от шторы до камеры меньше 2000 см, то - Hi, если больше - Mi шторы.
---------------------------------------------------------
arBaseCur = selection as array
arHi = selection as array
arMi = selection as array
fn theDistAllFrames obj c = (
b = false
for j= animationRange.start to animationRange.end do(
at time j (
p1 = obj.pos
pc = c.pos
dist = length (p1 - pc)
if dist <= 2000 do b = true
)
)
b
)
delAr = #()
nAr = #()
for i in arBaseCur do (
_cam = for i in objects where classOf i == Targetcamera collect i
if theDistAllFrames i _cam[1] then(
RselFromAr = arHi[random 1 arHi.count]
nobj = instance RselFromAr
nobj.transform = i.transform
nObj.wirecolor = RselFromAr.wirecolor
append delAr i
append nAr nobj
)else (
RselFromAr = arMi[random 1 arMi.count]
nobj = instance RselFromAr
nobj.transform = i.transform
nObj.wirecolor = RselFromAr.wirecolor
append delAr i
append nAr nobj
)
)
delete delAr
select nAr
---------------------------------------------------------
Теперь надо поменять эту заготовку на высоко и низко детализированные шторы, в зависимости от расстояния до камеры:
Если расстояние от шторы до камеры меньше 2000 см, то - Hi, если больше - Mi шторы.
---------------------------------------------------------
arBaseCur = selection as array
arHi = selection as array
arMi = selection as array
fn theDistAllFrames obj c = (
b = false
for j= animationRange.start to animationRange.end do(
at time j (
p1 = obj.pos
pc = c.pos
dist = length (p1 - pc)
if dist <= 2000 do b = true
)
)
b
)
delAr = #()
nAr = #()
for i in arBaseCur do (
_cam = for i in objects where classOf i == Targetcamera collect i
if theDistAllFrames i _cam[1] then(
RselFromAr = arHi[random 1 arHi.count]
nobj = instance RselFromAr
nobj.transform = i.transform
nObj.wirecolor = RselFromAr.wirecolor
append delAr i
append nAr nobj
)else (
RselFromAr = arMi[random 1 arMi.count]
nobj = instance RselFromAr
nobj.transform = i.transform
nObj.wirecolor = RselFromAr.wirecolor
append delAr i
append nAr nobj
)
)
delete delAr
select nAr
---------------------------------------------------------
Комментариев нет:
Отправить комментарий