Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внесение элемента случайности




С помощью метода random в MAXScript можно сформировать случайные значения следующих типов данных: integer, float, color, quat, eulerAngles, angleAxis, time, Point2 и Point3. Эти случайные значения можно использовать для изменения любого свойства, имеющего заданный тип данных. Ниже приведен простой пример применения метода random.

 

 


Глава 6

for i = 0 to 5 do

(

s = sphere pos: [i*40, 0, 0]

s.radius = random 10.0 30.0

)

Метод random дает произвольные значения. Его синтаксис следующий: random (наименьшее значение) (наибольшее значение)

Метод random возвращает случайное значение, которое находится в промежутке между минимальным и максимальным значениями, указанными при вызове данного метода. В приведенном выше примере радиус каждой сферы получает случайное значение в пределах от 10, 0 до 30,0. Если в качестве аргументов метода random указываются числовые значения с плавающей точкой, возвращаемое случайное значение также будет числом с плавающей точкой. Если же в качестве аргументов указываются целочисленные значения s.radius = random 10 30,

то возвращаемое случайное значение будет целым числом (в данном примере это ряд случайных значений 25, 27, 35 и т.д.)

Метод random реализован достаточно гибко, и если передать ему значения типа Point 3, то с его помощью можно внести случайный элемент в положение, цвет и прочие свойства объектов. Так, для произвольного расположения сфер из упо­минавшегося выше примера можно написать следующий фрагмент кода:

for i = 0 to 5 do

(

s = sphere()

s.pos = random [0.0, 0.0, 10.0] [25.0, 30.0, 100.0]

)

Метод random может полностью воспринимать в качестве аргумента значение типа Point3. В приведенном выше фрагменте кода положение сфер по оси X из­меняется произвольно в пределах от 0, 0 до 25, 0, по оси Y — в пределах от 0, 0 до 30, 0 и по оси Z — в пределах от 10,0 до 100,0.

Допустим, что в начале сценария имеется следующая строка кода:

s.pos.x = random 0.0 10.0.

При ее выполнении получается случайное значение в пределах от 0,0 до 10,0. Если перезапустить 3dsMax и сразу же выполнить данный сценарий без каких-либо других функций 3dsMax, указанная строка кода даст то же самое "случайное" значение. Но при каждом последующем выполнении данного сценария в том же самом сеансе работы в 3dsMax это значение будет иным.

Внутри метода random используется некоторое начальное случайное значение. Это значение служит в качестве отправной точки для выполнения внутренней про­цедуры формирования случайных чисел. При запуске 3dsMax всегда используется одно и то же начальное случайное значение. Поэтому метод random формирует одну и ту же последовательность "случайных" значений всякий раз, когда он вызывается. Именно по этой причине метод random называется псевдослучайным. Если такой режим формирования случайных значений вас не устраивает, измените начальное случайное значение с помощью метода seed следующим образом:


Работа с объектами в MAXScript

seed <number>

-- где <number> - любое целое число

-- или же число с плавающей точкой

Этот метод может быть связан с функцией NewSeed (Новое начальное случайное значение) таких элементов 3dsMax, как вспомогательный объект SphereGizmo.

Заключение

В этой главе вы научились делать много полезных вещей средствами MAXScript. Сначала вы научились применять модификаторы, а затем создавать источники света и камеры и манипулировать ими, а также создавать материалы и назначать их для объектов сцены. И наконец вы научились управлять средством визуализации по сценарию, организовывать в сценарии обратный вызов и формировать случайные значения с помощью метода random.

Используя инструментальные средства, освоенные в главах этой книги, и научившись пользоваться иерархией классов по справочному руководству MAXScript, мы можете теперь приступить к созданию собственных сценариев.


Приложение

В этом приложении представлен дополнительный материал по MAXScript По мере приобретения опыта программирования на языке MAXScript и написания все более сложных сценариев у вас может возникнуть потребность в инструментальных средствах, представленных в данном приложении. Если же вы только начинаете изучать MAXScript этот дополнительный материал принесет вам пользу лишь после того, как вы накопите некоторый опыт программирования в MAXScript

Приложение




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 462; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.