понедельник, 16 февраля 2015 г.

Перетасовка объектов.


Иногда необходимо перетасовать объекты в сцене произвольным порядком. Один из способов - это воспользоваться скриптом:

--------------------------------------
(
arSel = selection as array

theNum = arSel.count

if theNum != 0 do
(
    for i = 1 to theNum do
    (
            a1 = arSel[i]
            b1 = arSel[random 1 theNum]
            a1_t = a1.transform
            b1_t = b1.transform
            a1.transform = b1_t
            b1.transform = a1_t
        )
    )
)

--------------------------------------

Пошаговые комментарии:
 "arSel = selection as array" -  строчка создает массив с выделенными объектами.

 "theNum = arSel.count" - число элементов массива

В цикле for возьмём i-ый объект и присвоим его переменной a1, затем произвольный объект присвом переменной b1
"a1 = arSel[i]"
 "b1 = arSel[random 1 theNum]"
 Затем запишем их трансформации в переменные a1_t и b1_t, соответственно
"a1_t = a1.transform"
"b1_t = b1.transform
Осталось поменять объекты местами
"a1.transform = b1_t"
"b1.transform = a1_t"

Чтобы выполнить скрипт, необходимо нажать Ctrl+E
Тут можно посмотреть пример: https://www.youtube.com/watch?v=AQNNG5aObbQ 

Комментариев нет:

Отправить комментарий