Давайте пограємо зі змією/Скриптуємо Блендер: відмінності між версіями

Вилучено вміст Додано вміст
Bunyk (обговорення | внесок)
Bunyk (обговорення | внесок)
Немає опису редагування
Рядок 46:
</source>
 
А в ньому всього то шість граней. ВиІ то я полінувався вводити все вручну, і згенерував цей кубик скриптом з блендера. Тепер порахуйте скільки граней у цієї лисої пані:
 
[[File:Blender3D UVTexTut2.png]]
Рядок 303:
Він майже аналогічний скрипту що малював трикутник, з тією відмінністю, що трикутників тут набагато більше. Принцип роботи дуже простий. Подивимось на нашу карту висот в режимі дротяної моделі. Функцію я регулярно змінював, бо цікаво ж.
 
[[Файл:Дротяна модель сідла.png|frame|center|Дротяна модель сідла]]
 
Може здатись що топологія дуже складна, та насправді, якщо глянути зверху, ми побачим звичайну однорідну сітку:
 
[[КартаФайл:Heightmap висот(top view).png|frame|center|Сідло, вигляд зверху.]]
 
Тому, нам спочатку треба обчислити координати вершин на однорідному розбитті, та заповнити ними модель:
Рядок 339:
Давайте поглянемо одразу на можливий інтерфейс для нашого скрипта:
 
[[Файл:Eggcasefunction.png|frame|center|Інтерфейс нашого скрипта (внизу) та результат його роботи (вгорі)]]
 
Його малює така функція:
Рядок 371:
</source>
 
[[Файл:Blender cartesian.png|frame|right|Ось так]] Створює кнопку - переключатель. Перший параметр - напис на кнопці. Другий - її унікальний номер. За цим номером обробник події дізнається від якої кнопки прийшов сигнал. Тому бажано щоб кожен елемент інтерфейсу мав унікальний номер, якщо він звісно не дублює функцію якогось іншого. Два інші числа - координати кнопки в пікселях. Що цікаво, тут на відміну від інших фреймворків інтерфейсу координати математичні. Тобто нуль внизу, та ігрик направлений вверх.
 
[[Координати]]
 
Далі ширина та висота кнопки, Останнє число - початковий стан кнопки. 1 - натиснута, 0 - відпущена. В кінці ще можна додавати рядок з спливаючою підказкою, та якщо підпис достатньо інформативний в цьому немає необхідності.
Рядок 550 ⟶ 548:
 
== Посилання ==
#http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Python_Scripting
#[http://www.blender.org/documentation/249PythonDoc/index.html Документація по Blender API]
 
== Посилання ==
#http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Python_Scripting