Квест создание космоса в autocad
Вложение | Размер |
---|---|
intellektualnyy_kvest_pokoriteli_kosmosa.doc | 91 КБ |
Как получить Sol в AUT
Получение Sol было проблемой для многих игроков, потому что в квесте было много ошибок, и люди теряли прогресс в нем . Большая часть этого должна быть решена сейчас, так что вы, наконец, можете получить Sol Stand, если вы действительно этого хотите.
Первым шагом к получению Sol является получение Star Platinum Stand. Вы можете получить это, используя Стрелку Стенда и получая ее случайным образом. Если у вас есть стенд, который не является звездной платиной, вы можете сохранить его у NPC Хранилища способностей или избавиться от него у Энрико Пуччи, который выполняет сброс способностей.
Теперь вам нужен квест «Создание космоса». , есть два разных способа получить ее.
Вы можете получить книгу «Сказки вселенной», которая выпадает из сундука с сокровищами. У него шанс выпадения 9%, так что это не должно быть так уж плохо. Возьмите его в руки и поговорите с NPC Дио на вершине горы. Затем он предложит вам квест. Эта книга понадобится вам независимо от того, используете ли вы ее для получения этого квеста!
Второй способ сделать это - убить врага Дио NPC, который появляется в лесу с платиновым стендом Star. У вас есть случайный шанс, что после этого появится синий призрак NPC. Он спросит вас, хотите ли вы узнать секреты космоса. Если вы нажмете «Да», вы получите квест.
Квест «Создание космоса» включает в себя следующие задачи, которые вам необходимо выполнить:
Нанесение урона можно нанести манекены или плееры, надо просто что-то прибить. Вы захотите совместить это с получением ваших пяти убийств Time Stop. Остановка времени - это клавиша «J» на клавиатуре. Либо найдите друга, спросите кого-нибудь в чате, либо просто сражайтесь, чтобы получить это. Остановка времени должна происходить, когда вы убиваете игрока. Так что бейте их почти до смерти, задействуйте Time Stop и добивайте их!
Если у вас есть доступ к частному серверу, вы можете найти Атакующего манекена, который всегда метает кулаки. Используйте клавишу блокировки (X) и позвольте им ударить вас, чтобы завершить задание. Они наносят 50 урона за удар, поэтому манекен должен ударить вас 300 раз. Вы также можете просто попросить игрока избить вас.
Если вы не получали книгу «Сказки вселенной» раньше, вам нужно будет получить ее сейчас. Перемалывайте открывающиеся сундуки с сокровищами, пока не получите. Как вариант, вы можете обменяться с кем-нибудь, чтобы получить ее.
Как только вы получите книгу, идите и убейте NPC Дио в лесу. Пока он у вас в инвентаре, когда вы убиваете Дио, вы должны получить Sol Stand!
Sol Moveset
- Teleport Barrage (E) - Ваш Sol Stand телепортируется к выбранной вами цели и поражает ее шквалом ударов.
- Нематериальный удар (R) - Сол заряжает шар энергии в кулаке и бьет вперед. .
- Ядерный синтез (T) - Сол создает большой энергетический шар и запускает его вперед, отбрасывая и повреждая всех врагов в своем
- Sol Star (F) - Солнце создает звезду на своей спине и заряжается энергией. Через короткий промежуток времени Сол будет метаться в форме звезды, нанося урон всем врагам на своем пути.
Это все, что мы знаем о том, как получить Сол Стенд в Roblox A Universal Time прямо сейчас. Более подробная информация об игре представлена в разделе «Всемирное время» на нашем веб-сайте!
В своей статье я постараюсь описать свой опыт создания игры за две недели, начиная от выбора жанра и сеттинга, заканчивая финальными титрами, а так же все грабли, на которые я наступил в процессе разработки, и на которые мне больше наступать не хочется. Тем, кто имеет достаточно большой опыт в разработке игр, статья скорее всего будет неинтересна, но начинающие разработчики, думаю смогут найти что-то интересное для себя.
Название — та часть игры, работа над которой была отложена на самый последний момент. В итоге ничего стоящего придумать, к сожалению, не удалось.
Все началось довольно стандартно, конкурс, тема — «Выбор» (трактуй как хочешь, называется), срок — две недели. Я страдаю легким неприятием 2D-игр, поэтому вопрос 2D/3D не стоял совсем. С жанром и сеттингом было уже сложнее, решено было отталкиваться от двух любимых игр, за которыми была проведена не одна сотня часов — «Космические рейнджеры» и «Механоиды». Так я определился с жанром — игра, построенная на механике Elite, конечно, сильно урезанной. Логичным сеттингом для такого жанра был Sci-fi, место действия — космос, потому что за две недели создать минимально достойные «наземные уровни» весьма проблематично.
Для минимизации требуемого количества контента было решено отказаться от генерируемых планетных систем, и от какой-либо масштабности в целом. Вся игра происходит в пределах одного астероидного пояса, поделенного на несколько секторов, количество точек интереса — минимальное. Но такое решение оставляло время на остальные аспекты игры, если углубиться в проработку мира, на все остальное времени не останется совсем.
В первый же день родился набросок интерфейса и набор фич, которые реализовывались в последующие 14 дней.
С сюжетом же я поступил еще более варварски (зря, как оказалось впоследствии) — за основу была взята первая попавшая в голову идея о таинственных захватчиках, посягнувших на астероидный пояс, в котором находилась база ГГ. Продумывание деталей было оставлено на потом, равно как и придумывание сюжетных заданий.
Очень хотелось выложиться по-максимуму, и реализовать как можно большее количество разнообразных фишек, многие из которых имели лишь одну цель — радовать тем, что они вообще реализованы в игре. Одной из таких фишек были самонаводящиеся ракеты. Кажется, несмотря на их способность взрывать мелких врагов одним попаданием, ими никто из игравших в игру так толком и не пользовался. Вместе с тем, времени на их создание ушло прилично.
В целом, примерный список основных возможностей выглядел примерно так:
- Управляемый игроком космический корабль, с возможностью кастомизации вооружения
- Несколько видов оружия, которые можно подвешивать на разные точки подвески
- Возможность подбирать обломки врагов и сдавать их на базах, получая за это деньги
- Несколько секторов, перемещение между которыми производится гиперпрыжком
- Управляемые и неуправляемые виды оружия
- Несколько видов противников, отличающихся характеристиками
- Десяток-другой сюжетных квестов, минимум две концовки
- Босс, и важный элемент игры — схватка с боссом
После того, как с жанром и набором фич было решено, в 3d редакторе были быстро набросаны две модели — космический корабль главного героя и один из противников.
Примитивность и кубичность кораблей врагов имеет под собой сюжетное обоснование.
И вот теперь, наконец, можно было приступать к программированию.
Первым делом было решено реализовать перемещения космического корабля и камеры.
Перемещение реализовано достаточно просто, никакой инерции и прочих реалистичных вещей. Корабль игрока представляет собой модель с Rigidbody, которому каждый тик задаются угловые и поступательные скорости. Для получения угловой скорости с мыши берется вектор смещения от центра, с каждым тиком к смещению прибавляется текущая дельта перемещения мыши, а сам вектор умножается на коэффициент, меньший 1. Получается достаточно плавное управление, с иллюзией небольшой инерции корабля.
Для поступательного движения все еще проще — корабль двигается в направлении локального «вперед», скорость плавно увеличивается или уменьшается при нажатии клавиш W/S.
С Камерой все получилось тоже довольно просто. В лоб привязать камеру к кораблю — плохая идея, поэтому камера и корабль не связаны, но для камеры есть целевая точка сзади-сверху корабля, в которую она стремится, и целевые углы поворота. Текущая и целевая точки интерполируются, тем самым получается эффект «плавной следящей камеры».
Чтобы придать ощущение скорости, с разгоном корабля поле зрения камеры немного увеличивается, при замедлении соответственно замедляется.
Видно, как корабль неприятно дергается. Это было вылечено включением интерполяции в настройках Rigidbody корабля.
Перемещаться в пустом черном космосе как-то неинтересно. Поэтому следующим шагом было наполнение космоса объектами.
Так как по сеттингу местом действия игры был астероидный пояс, задача решалась очень просто — в пространстве в несколько десятков кубических километров случайным образом разбрасывалась пара сотен астероидов покрупнее. Seed для случайной генерации сохранялся заранее, поэтому можно было не беспокоиться о том, что база или квестовый предмет окажется внутри астероида.
Примерно так это выглядит издали.
Для большей «живости» и динамичности, помимо крупных астероидов были добавлены небольшие, и «звездная пыль». Эти мелочи уже не генерировались по всей локации, а создавались непосредственно вокруг движущегося корабля.
Кораблю главного героя было решено дать возможность нести оружие на шести точках подвески (две или четыре точки это слишком несолидно для тяжеловооруженного истребителя). Места крепления вооружения задавались с помощью GameObject'ов-пустышек, количество точек для подвески было захардкожено (да, каюсь). При этом точки подвески делились на два вида — основное оружие и вспомогательное. Отличие было по сути одно — оружие на основных слотах активировалось на ЛКМ, а на дополнительных — на пробел. С кораблем оружие взаимодействовало довольно ограниченно — через интерфейс, реализующий доступ к основным функциям, что позволяло достаточно легко добавлять новые виды вооружения. Помимо этого, в него было по мере разработки добавлено еще несколько функций, отвечающих за его вид в интерфейсе магазина и ангара.
Один из первых скриншотов корабля с подвешенным оружием
Всего было сделано пять видов оружия: Двуствольная пушка, Лазер, неуправляемые ракеты, тяжелая самонаводящаяся торпеда, самонаводящаяся ракета.
Самонаводящаяся ракета для большей точности рассчитывала точку упреждения, с допущением, что цель будет двигаться в том же направлении с той же скоростью. Как правило, этого было достаточно, чтобы ракета попадала в движущуюся цель с довольно высокой вероятностью.
Ниже видео работы двух видов оружия. Также на видео виден эффект разрушения противника, но так как он довольно прост, останавливаться на нем отдельно не буду.
Затраты времени на интерфейс неожиданно оказались весьма значительными, на разработку интерфейса ушло не меньше трех дней работы. Использовалась система UI, появившаяся в Unity 4.6, на мой взгляд очень удобная и достаточно простая в изучении.
Самой сложной частью работы над интерфейсом был интерфейс базы, необходимо было реализовать довольно большой функционал. Диалоги, покупка/продажа оружия, продажа вещей из трюма, ремонт. В качестве иконок груза/оружия использовались их модели в ортогональной проекции, потому что времени на отрисовку иконок банально не хватало. К каждому предмету было составлено небольшое описание, сообщающее игроку, что это такое перед ним.
Первый вариант интерфейса, кривой, без вкладки заданий
Позже интерфейс был доработан в графическом плане (спасибо человеку, который мне помогал со спрайтами для него, сам бы я так никогда не смог), и стал выглядеть заметно симпатичнее и аккуратнее.
Финальный вариант, суть та же, но приятней глазу.
Полетный интерфейс дался проще. Игрок с ним по сути никак не взаимодействует, да и сам по себе он довльно минималистичен. Для прогресс-баров использовался обычный спрайт, разрезанный средствами Unity на 9 частей и растягиваемый по горизонтали, очень просто и достаточно симпатично. С изогнутыми барами сбоку от прицела все сложнее. Просто растягивать спрайт по одной из осей уже не выйдет, нужно использовать более сложное решение. Был написан простой шейдер с одним параметром — высота отсечения. Она задавалась из скрипта, и в соответствии с ней спрайт рисовался с нужным заполнением.
Shader "Custom/CrosshairShader" <
Properties <
_MainTex ("Base (RGB)", 2D) = "white" <>
_Angle ("Angle (Float)", Float) = 0
_Color ("Tint", Color) = (1.0, 0.6, 0.6, 1.0)
>
uniform sampler2D _MainTex;
uniform float _Angle;
uniform fixed4 _Color;
float4 frag(v2f_img i) : COLOR
<
float4 result = tex2D(_MainTex, i.uv);
float angle = i.uv.y;
if(angle > _Angle)
<
result.a = 0;
>
Скриншот полетного интерфейса:
На скриншоте видно наполовину заполненный показатель здоровья в центре экрана
По моему мнению, одно из слабых мест игры. Тактика у них только одна — лететь за игроком, если он в их поле зрения, и приблизившись на расстояния открытия огня, начать стрельбу. Несмотря на это, в большом количестве даже такие враги представляют серьезную опасность.
Конечно, помимо названного выше поведения у них были и вспомогательные функции. Например, потеряв игрока из виду, они летели в последнюю точку, где они его видели, а не обнаружив там его, начинали случайно блуждать или возвращались к стартовой точке. А еще, они иногда избегали столкновения с астероидами, но только если летели не слишком быстро. Полноценный конечный автомат для ИИ противников так реализован не был, скрипт ИИ запускал проход каждые 0.1 секунды, в котором решал, что противник будет делать в следующие 0.1с. Из-за этого, чтобы добиться более-менее сносного поведения, пришлось заводить множество дополнительных переменных, описывающих состояние ИИ.
Главный босс и вовсе был беззащитен, и полагался лишь на огромное количество своих миньонов.
До этого я ни разу не делал систему квестов, поэтому даже не имел представления с чего начинать. Но времени рассуждать или искать уроки не было — надо было действовать, ведь шла вторая неделя! В итоге родилась весьма уродливая система с захардкоженным списком квестов (для добавления нового квеста надо было прописать его название в переменных Главного Квестового Скрипта, увеличить количество квестов на единицу, и прописать к какой базе квест относится), с фиксированным количеством вариантов ответа в диалогах (три штуки), и с прочими признаками прыжков на граблях.
Диалоги сохранялись в xml, для их редактирования был даже сделан простенький редактор там же, в Unity.
Редактор, пожалуй лучшая часть системы квестов
Сами же квесты были сделаны префабами, которые инстансились при активации квеста и удалялись после получения награды. Это криво, но работало. На систему квестов, написание диалогов и на сами квесты ушло еще три дня. Срок подходил к концу.
Хочется здесь перечислить разные фишки, которые недостойны отдельного раздела, но о которых тем не менее хочется рассказать.
Начну пожалуй с эффекта гиперпрыжка. Как он выглядит, можно посмотреть ниже.
Реализован он очень просто. Сначала мы запускаем звук, начинаем трясти камеру, показываем поверх основной модели немного увеличенную модель того же корабля, но с текстурой «энергетического поля», затем анимируем ее с помощью Animation Curves, а перед самым прыжком запускаем систему частиц-вспышку, и прячем основную модель. Мне кажется, для «низкобюджетного» эффекта вышло неплохо.
Еще хочется рассказать пару слов про систему сохранений. Как ни странно, она присутствует в игре. Xml-файл с именем игрока сохраняется в папке с игрой, само имя игрока сохраняется в PlayerPrefs (в реестре). Теоретически, можно даже пользоваться несколькими сейвами, меняя имя игрока в главном меню. Сохранение автоматическое, после каждого выполненного квеста.
Все, больше ничего делать не надо, остается только разобрать поля этого класса.
Так что, если лень проходить игру, можно поколдовать с сохранениями и ускорить прогресс, или поставить оружие помощнее.
Отдельно хочется поблагодарить добрых людей, которые прямо в процессе разработки вызвались помочь мне с графическим контентом для игры. Учитывая его количество (несколько десятков одних только моделей), я сомневаюсь, что мне удалось бы успеть в срок, про качество и говорить не приходится. В итоге практически вся графика в игре (кроме двух фонов и скайбокса) была создана специально для этой игры.
С момента окончания работ над игрой прошло уже более полугода, и самое время подвести итоги.
Призового места я с этой игрой не занял, видимо не попал в тренд пиксельарт-адвенчур. Зато за время работы над игрой было получено огромное количество бесценного опыта и навыков, а шишки от настигнутых граблей еще долго будут мне напоминать, что некоторые вещи делать не стоит.
- Объять необъятное конечно можно, но если у тебя сжатые сроки, то лучше не стоит, ничего хорошего не выйдет
- Сюжет в игре — не самая последняя вещь, и над ним стоит поработать заранее
- Лучше меньшее количество реализованных фич, чем множество глючных, до которых игрок не обязательно доберется
- Глупые противники хороши для слешера, для игры с меньшим их количеством лучше сделать их поумней
- Баланс тоже важен, и на него тоже стоит отвести время
- Оптимизация — дело важное, и о ней стоит подумать заранее
Напоследок, хочу показать вам геймплейное видео из игры. По нему можно примерно оценить что получилось в итоге.
Надеюсь, статья была вам в чем-то полезной, или вам хотя бы было интересно узнать историю разработки очередной небольшой игры.
В статье ниже нет ничего про программирование. Она была написано с целью дать поверхностное представление о том что такое AutoCAD Architecture, какие объекты в нем реализованы и в чем их особенности.
Введение
AutoCAD Architecture (аббревиатура ACA ) — это специализированное приложение на основе AutoCAD, флагманского продукта компании Autodesk, созданное для нужд архитектурного проектирования. Первая версия ACA была выпущена в 1998 году и с тех пор обновляется примерно раз в год. На данный момент последняя версия ACA называется AutoCAD Architecture 2016.
Почему возникла необходимость создания такого продукта?
Рассмотрим несколько архитектурных чертежей, выполненных с помощью ACA:
Обычно архитектурные чертежи содержат здания или части зданий, которые состоят из таких частей как стены, окна, двери, крыши, лестницы и т.д.
В AutoCAD (базовом продукте компании AutoDesk) примитивами черчения являются линии, полилинии, блоки, круги, арки, выноски, текст и т.д. Дверь в AutoCAD приходилось рисовать линиями и сохранять в отдельный файл (для повторного использования).
Если объект имеет разную геометрию в 2D и 3D представлениях (или вообще зависит от view direction), то все эти варианты приходилось рисовать вручную и размещать в нужном. Поглядев на первый чертеж, можно предположить, насколько трудоемко прорисовывать каждое представление объекта.
Чтобы передвинуть окно на плане нужно подвинуть само окно, восстановить стену на его месте, а на новом – начертить проем. А потом сделать тоже для 3D модели. Если видов больше, то правки придется делать в каждом виде. При таких изменениях легко допустить ошибки или несогласованность между видами.
В ACA реализованы специальные инструменты и библиотеки объектов, облегчающие и ускоряющие архитектурное проектирование. В AutoCAD Architecture «окно» и «стена» — это объекты, имеющие связи и поведение. Окно “знает”, что оно прикреплена к стене, а стена знает о существовании окна. При движении окна стена автоматически изменит свою геометрию, создав дырку в новой позиции двери и убрав дырку на старой позиции. При движении стены дверь будет двигаться вместе со стеной. Если удалить стену, то все окна и двери, которые были в этой стене, тоже удалятся:
Модель чертежа едина. Чтобы сделать двумерный plan view необходимо только переключить вид. Редактируя любой view, редактируется вся модель:
Все сечения и поэтажные планы, связанные с данной моделью, автоматически обновляются при изменении модели, что уменьшает возможность появления ошибок и нестыковок в архитектурных чертежах, а также значительно ускоряет их создание.
Объекты ACA поддерживают связь с конструкторской документацией. Изменения в чертеже автоматически изменяют документацию, что позволяет избежать ошибок в ней:
Типы примитивов в ACA
Кроме стандартных примитивов AutoCAD, ACA имеет следующие базовые примитивы (англ):
1) Стены (Walls)
2) Витражи (Curtain walls). Витражи состоят из одной или нескольких сеток. Каждая сетка в витражу делится на ячейки по горизонтали или по вертикали, но сетки можно объединять методом вложения с целью получения разнообразных комбинаций, от самых простых до весьма сложных.
3) Двери, окна, проемы, дверные и оконные сборки (Doors, Windows, Openings, DWA):
4) Лестницы и перила (Stairs and Railings):
5) Крыши, перекрытия и скаты крыш (Roofs, Slabs and Roof Slabs):
6) Несущие элементы (Structural Members). Несущий элемент — это объект, который может представлять собой на чертеже балку, раскос или колонну. Все создаваемые балки, раскосы и колонны являются подтипами одного и того же объекта — несущего элемента.
7) Вспомогательные примитивы: AD-полигоны, масс-элементы, 2D профили
Что такое примитивы ACA?
Объекты ACA — это custom-объекты AutoCAD, реализованные в группе отдельных библиотек, называемых ACA enablers. Для сохранения и загрузки объектов ACA используется DWG формат, но для отображения и работы с такими объектами необходимо наличие этих библиотек.
По сути объект ACA это C++ класс. Геометрия объекта вычисляется при отрисовке и зависит от его настроек (а не задана заранее).
Например, на скриншоте ниже можно увидеть некоторые параметры дверей в диалоговом окне: ширину, высоту, подъем, выравнивание, стиль и тд. Двери на скриншоте отличаются только шириной и углом открытия, но на основании этих данных разница в геометрии получилась значительная.
Основные особенности объектов ACA
Не углубляясь во взаимосвязи и детали, рассмотрим основные особенности относящиеся к объектам ACA:
1. Объектам ACA назначен стиль, который определяет внешний вид (и частично поведение).
2. Объекты ACA viewport dependent. Они рисуют разное представление себя в разных view. Под представлением имеется в виду геометрия. Например, стена в изометрии обычно отрисуется как 3D модель, а в top-view – как прямоугольник.
3. Геометрия объектов ACA состоит из отдельных компонентов. Каждое представление объекта имеет свой набор компонентов.
Объектам ACA назначен стиль, который определяет внешний вид объекта
Например, ниже показаны две двери. Они ведут себя как двери в том смысле, что могут быть вставлены в стену, добавлены в документацию, при движении стены они тоже подвинутся. Но выглядят они по-разному, так как им назначен разный стиль.
Стили объектов могут быть очень сложными. Например, ниже – это тоже двери (и окна).
Стиль надо создать только раз, а затем можно добавлять любое количество дверей такого стиля. Изменение стиля повлечет изменение всех дверей, у которых установлен данный стиль.
Геометрия объектов ACA зависит от view
На рисунке ниже представлена одна и та же модель. Изменяется только view – направление, под которым камера «смотрит» на объект. В зависимости от настроек и направления камеры объекты ACA отрисовывают разную геометрию. Геометрия объекта в каждом вью отражает логику данного представления и не связана с геометрией на других view.
В AutoCAD приходилось рисовать каждое представление вручную. Более того, если в здании несколько типов дверей, то приходилось прорисовывать каждый из них для всех случаев использования.
Библиотеки архитектурных объектов ACA уже содержат большой выбор готовых стилей. Например, на чертеже ниже изображены некоторые виды дверей со стилями из библиотеки:
Геометрия объектов ACA состоит из компонентов
Геометрия объекта ACA состоит из нескольких отдельных компонентов. Геометрия обычно делится на компоненты в соответствии с логикой физического мира. Так у окна компонентами могут быть рама, стекло, створки и так далее.
Для примера рассмотрим дверь в 3D. В открытом списке видны компоненты, из которых состоит нарисованная дверь. У каждого компонента можно изменить его свойства (цвет, тип линий и тд), а также показать или сделать невидимым.
В разных представлениях объект имеет разные компоненты. Дверь в top view (plan representation) имеет другую геометрию и, соответственно, другой набор компонентов, из которых она состоит.
Объекты документирования
Для создания документации в АСА существуют следующие «примитивы»:
• 2d sections
• Dimensions
• Schedule tables
• Spaces
Объекты документирования также спроектированы для работы с архитектурными объектами и обладают дополнительной логикой. Для примера рассмотрим размерные линии (dimensions):
При работе с ACA-dimensions нет необходимости вручную прорисовывать размеры каждого объекта. Когда мы прикрепляем объект dimension к стене, размеры окон, дверей и проемов проставятся автоматически. При движении проемов линии размерности автоматически перерисуются, чтобы отражать текущее состояние чертежа. Если мы передвинем стену, то линии размерности автоматически сдвинутся за стеной. При удалении объектов удалятся и части размерных линий, которые к этим объектам относились.
Заключение
Выше я попытался дать поверхностное представление об АСА и объектах, которые являются в нем «примитивами». Работа с архитектурным чертежем в АСА заключается в том, что мы чертим здание не низкоуровневыми примитивами AutoCAD (линии, круги, арки и т.д.), а с помощью более высокоуровневых примитивов, таких как стены, окна, двери, крыши. Когда модель создана, на её основе можно автоматически сгенерировать документацию, 2D проекции, поэтажные планы, сечения. Наличие поведения у объектов облегчает задачу дальнейшего модифицирования чертежа и позволяет поддерживать документацию в актуальном состоянии.
Решил рассказать о своем опыте работы с AutoCAD. Может быть, кому-то это поможет – ну или хотя бы интересным покажется.
Предыстория
Началось все достаточно просто: в очередной раз почувствовав острую нехватку денег, я решил, что пора бы уже начать их где-нибудь разыскивать. И вот после пары недель поиска на «Фрилансим» обнаружилась вакансия разработчика для создания программы, взаимодействующей с AutoCAD.
Скажу сразу: до того дня общаться с AutoCAD мне не доводилось. Однако объявление содержало в себе фразу «Опыт работы не требуется», которая наполнила мою душу надеждой. Я связался с разместившим вакансию человеком и получил тестовое задание.
Для пробы предлагалось создать на чертеже пару объектов, а также вывести текст. Несколько дней я искал информацию об API и пытался подружиться с непривычной программой. В конце концов фигуры были нарисованы, текст выведен, а тестовое задание отправлено на проверку. И через несколько дней я неожиданно узнал, что принят! Чудеса, да и только.
1. Подготовка необходимых инструментов
1.1. Собственно AutoCAD
Тут все понятно. Качайте с официального сайта Autodesk, ставьте, 30 дней наслаждайтесь прекрасным инструментом. Потом узнайте цену покупки и повесьтесь. Для разработчиков действует специальная программа ADN , по которой можно получать девелоперские лицензии на продукты Autodesk. Стоимость базовой версии подписки, как указано на сайте, составляет от 700 долларов в год.
1.2. ObjectARX SDK – набор библиотек, необходимых для работы с AutoCAD
Последние три-четыре версии библиотек можно бесплатно скачать тут после регистрации. Более ранние придется поискать – скажем, тут. На всякий случай продублирую список прямо здесь – не такой уж он и длинный:
Версия SDK и ссылка для загрузки | Совместимость с версиями AutoCAD |
---|---|
2011 | 2011, 2012 |
2010 | 2010, 2011, 2012 |
2009 | 2009 |
2008 x86 | 2008, 2009 x86 |
2008 x64 | 2008, 2009 x64 |
2007 | 2007, 2008, 2009 x86 |
2006 | 2006 |
2005 | 2005, 2006 |
2004 | 2004, 2005, 2006 |
2002 | 2002 |
2000i | 2000i, 2002 |
2000 | 2000, 2000i, 2002 |
R14 | R14 |
Лично меня в свое время очень заинтересовал вопрос обратной совместимости ObjectARX. Как-то раз заказчик спросил: «А с какими версиями AutoCAD сможет работать программа?», и мне пришлось изрядно времени потратить на поиски ответа. В целом, ответ звучит так: «Autodesk поддерживает обратную совместимость в течение трех лет ». Какие версии совместимы между собой, можно посмотреть под спойлером выше.
Пока задачи перекомпилировать программу с другими библиотеками у меня не возникало. Думаю, что это хорошо: перспектива создавать отдельную версию продукта для других выпусков AutoCAD не радует совершенно.
1.3. MS Visual Studio 2013 Express
Великолепная IDE! Больше про нее и говорить-то нечего. Ссылок для скачивания масса – например, вот.
Можно, конечно, использовать и более ранние версии. Я начинал работу над проектом в MS Visual Studio 2010, но потом решил перейти на более современный выпуск.
1.4. Поисковик, усидчивость, здравый смысл
- нет привычных всплывающих подсказок о назначении класса, свойства или метода;
- нет подробной справки.
В конце этой статьи приведен список ресурсов, на которых можно позадавать вопросы и, если повезет, получить на них ответы.
2. Создание проекта библиотеки
Вкратце продублирую основные этапы:
2.1. Создать проект «Библиотека классов» («Class Library»)
Эти DLL-файлы находятся в папке с именем inc- . Так, в моем случае я добавляю ссылки на библиотеки из папки C:\ObjectARX 2010\inc-win32.
у меня дома установлена 32-разрядная ОС, у заказчика – 64-разрядная. Пока серьезных проблем с совместимостью не возникало. Но однажды я все же напоролся на то, что у меня функция возвращала Int32 , а у заказчика – Int64 . Линковщик ОЧЕНЬ расстраивался. Нужно иметь эту особенность в виду.
Первое знакомство с API у меня заключалось в лихорадочных попытках скомпилировать хоть какой-нибудь из примеров, щедро разбросанных по Сети. И что сλка характерно, компилироваться они упорно не хотели, ругаясь на неизвестные пространства имен и классы. В попытках собрать свой первый проект я с горя включил в него чуть ли не все DLL-файлы, которые шли с ObjectARX. Плохой способ – так делать не надо.
Ну, это вопрос не ко мне. Я только могу сказать, что в начале примеров обычно идет перечисление используемых пространств имен – скажем, так:
То, что начинается со слова «Autodesk», – это и есть те дроиды пространства имен, которые мы ищем. Теперь осталось разыскать контейнеры, которые их содержат. Исчерпывающего перечня сопоставлений я найти не смог, поэтому все проверялось методом научного тыка. Если есть более правильный способ, было бы интересно его узнать…
А пока – вот список DLL-файлов, которые я использую в проекте, и содержащихся в них пространств имен:
Теперь в любом месте этого файла можно вместо Autodesk.AutoCAD.ApplicationServices.Application писать acadApp .
Есть смысл провернуть такую операцию с наиболее часто употребляемыми классами. Непременно так делайте, код будет компактнее и понятнее. Цинизм данного совета заключается в том, что к тому моменту, когда вы наконец поймете, какие же классы являются у вас наиболее часто употребляемыми, что-то менять будет уже сильно лень.
2.3. Написать код плагина
Все очень просто. Вначале мы указываем необходимые пространства имен. Нам потребуются два.
Таким образом, всего необходимо добавить три ссылки:
UPD. 09.04.2018. Важное дополнение от lasteran: В новых версиях (предположительно начиная с AutoCAD 2013) класс CommandMethod содержится не в AcDBMgd.dll, а в AcCoreMgd.dll, так что придётся добавить ссылку ещё и на эту библиотеку. Учтите это, если работаете с новой версией!
Затем мы объявляем класс Commands . Именно он и будет «отправной точкой» плагина. Наш класс унаследован от интерфейса IExtensionApplication , поэтому в нем могут быть реализованы методы Initialize и Terminate . Первый из них автоматически выполняется при загрузке плагина, второй – при выгрузке.
AutoCAD не предоставляет разработчику возможность выгрузить плагин после того, как он будет загружен. Поэтому реально метод Terminate будет вызываться только в одном случае – при закрытии самого AutoCAD.
Почитать поподробнее про методы Initialize и Terminate можно тут (rus) и там (англ.).
Чтобы «превратить» созданный метод в команду AutoCAD, применяется атрибут CommandMethod . В скобках после него указывается имя создаваемой команды, которое можно будет использовать непосредственно в среде AutoCAD.
После сборки этого проекта у нас получится готовый к употреблению плагин.
2.4. Загрузить созданный плагин
Нужно запустить AutoCAD и выполнить команду «NETLOAD»:
Затем в открывшемся окне указать путь к файлу плагина:
Если при загрузке плагина произошла критическая ошибка, она будет выведена в консоль AutoCAD:
если плагин не смог загрузиться из-за ошибки, то перед тестированием очередного (исправленного) варианта нужно закрыть и заново запустить AutoCAD. В противном случае он может отказаться загружать плагин, даже если ошибок в коде уже не будет.
Теперь, когда плагин загружен, можно выполнить нашу тестовую команду:
… и увидеть результат:
Работает. Теперь можно закрывать AutoCAD.
2.5. Отладить плагин (при необходимости)
Процедура запуска плагина для отладки очень хорошо расписана в этом посте Tepliuk.
Предварительный просмотр:
Муниципальное бюджетное учреждение дополнительного образования
«Станция детского (юношеского) технического творчества»
Губкинского городского округа Белгородской области
Интеллектуальный квест «Покорители космоса»
Номинация Методические разработки тематического мероприятия для обучающихся, посвященного 85-летию со Дня рождения Ю.А.Гагарина
Зубкова Людмила Анатольевна
педагог дополнительного образования
Одной из приоритетных задач государственной политики является воспитание патриота своей Родины. В «Толковом словаре русского языка» С.И. Ожегова и Н.Ю. Шведовой патриотизм определяется как «преданность и любовь к своему отечеству, к своему народу». В «Словаре живого великорусского языка» В. Даля написано: патриот – «любитель отечества, ревнитель о благе его, отчизнолюб, отечественник или отчизник». Патриотизм – это ревностное, деятельное отношение к родине, стремление что-то сделать для её блага, для её процветания. Термин «патриотизм» происходит от греческого «патрис», что в переводе означает «земля отцов; место рода; родина».
Патриотизм – это исторически сложившаяся и развивающаяся категория социальной педагогики, отражающая устойчивое положительное отношение людей к своему Отечеству, проявляющееся в деятельности на его благо, в реализации которого с единых позиций участвуют и государство и общество. Патриотизм выступает в качестве важного внутреннего мобилизующего ресурса развития общества, активной гражданской позиции личности, готовности её к самоотверженному служению своему Отечеству. Патриотизм как социальное явление – цементирующая основа существования и развития нации и государства. В одном из своих выступлений Президент России В.В. Путин сказал: «Патриотизм – это главное. Без этого России пришлось бы забыть и о национальном достоинстве, и даже о национальном суверенитете».
Цель патриотического воспитания учащихся в образовательных организациях - формирование и развитие у обучающихся уважения к своей Родине, гордости за свое отечество, чувства принадлежности к обществу, в котором они живут, умение формулировать, высказывать и отстаивать свою точку зрения, воспитание патриотических качеств личности.
Наиболее благоприятные условия для формирования патриотизма в современной системе образования существуют в учреждениях дополнительного образования детей, так как данный вид образования не ограничен стандартами, ориентирован на личностные интересы, потребности и способности ребёнка, обеспечивает возможность самоопределения и самореализации, способствует созданию ситуации успеха и творческому развитию каждого учащегося.
Наиболее приемлемыми моделями работы в данном направлении являются:
– проектная, связанная с разработкой и реализацией различных проектов общественно-политической, патриотической направленности;
- диссеминационная, которая представляет собой внедрение готовых разработок, сценариев, творческих дел, обеспечивающих результативность воспитательной работы по проблемам развития патриотической грамотности, формированию патриотической позиции учащихся
Тема космонавтики в патриотическом воспитании учащихся играет немаловажную роль. Космос по сей день остается загадочным и таинственным. Достижения наших соотечественников в области изучения космоса велико. Задача педагогов - заинтересовать детей и подростков этими значительными событиями в истории нашей великой страны. Внеклассные мероприятия в честь этих событий являются одним из важнейших шагов на пути воспитания у школьников чувства патриотизма. Очень важно пробудить у них стойкий интерес ко всем значительным для нашего Отечества историческим явлениям.
Актуальность методической разработки заключается в привлечении внимания подрастающего поколения к достижениям наших соотечественников в области космонавтики посредством игровой деятельности, формирование представления о тех замечательных людях нашей страны, которые стояли у истоков отечественной космонавтики, знакомства с великими свершениями нашего народа, популяризации технического творчества и привлечении младших школьников в творческие объединения технической направленности.
Новизна заключается в форме проведения мероприятия – интеллектуальный квест. Данная форма воспитательного мероприятия позволяет адаптировать материал к месту проведения, количеству и возрасту участников.
Цель методической разработки является распространение опыта работы по патриотическому воспитанию младших школьников посредством игровых технологий на примере обращения к великому наследию прошлых поколений.
- активизация познавательного интереса о космосе и первом летчике-космонавте Ю.А.Гагарине;
- развитие чувства уважения, гордости и сопричастности к достижениям наших соотечественников в сфере космонавтики;
- сплочение детского коллектива посредством командной игры.
Новые образовательные стандарты, внедрение ФГОС в образовательную сферу современного общества несут изменения, прежде всего в организацию образовательной деятельности: цель и содержание образования, используемые методы и технологии. Поэтому возникает необходимость в новых креативных образовательных технологиях, которые, одновременно будут отвечать требованиям меняющегося общества, запросам субъектов образовательного процесса. Требуются новые методы и формы, образовательные технологии, обеспечивающие скорость преобразований и отвечающие на запросы современного и будущего общества.
Одной из креативных форм проведения воспитательных мероприятий я считаю квест. В современных условиях квест становится новой практикой социальной коммуникации, новым видом активного отдыха для детей и подростков.
Интеллектуальный квест – это командная игра, в которой активизируются познавательные процессы, выносливость, сообразительность, эрудиция, мышление.
Познавательные способности — это такие психологические особенности человека, от которых зависит успешность приобретения знаний, умений, навыков. Развитие интеллектуальных способностей снимает психологические нагрузки в учении, предупреждает неуспеваемость, сохраняет здоровье. В основе развития познавательных способностей лежат развитие внимания, мышления, памяти.
-по форме проведения (компьютерные игры-квесты, , медиа-квесты, квесты на природе, комбинированные и т.д.);
-по режиму проведения (в реальном режиме; в виртуальном режиме; в комбинированном режиме);
-по сроку реализации (краткосрочные; долгосрочные);
-по форме работы (групповые; индивидуальные);
- по предметному содержанию (моноквест; межпредметный квест);
-по структуре сюжетов (линейные; нелинейные; кольцевые)
-по информационной образовательной среде (традиционная образовательная среда; виртуальная образовательная среда).
Квест, как форма проведения воспитательных мероприятий, позволяет детям быть активными участниками действия, творчески взаимодействовать друг с другом, развивать также важные качества личности: способность быстро принимать решения, действовать в условиях неопределенности, навыки командной работы, креативность мышления и другие;
План проведения квеста
За несколько дней до проведения квеста, участникам озвучивается тема и дается домашнее задание: подготовиться по данной теме с помощью интернет-источников.
Вступительное слово педагога. Педагог сообщает тему мероприятия, знакомит участников с правилами игры, условиями прохождения этапов квеста.
Прохождение по этапам квеста. Выполнение заданий .
Подведение итогов. Вручение участникам дипломов «Юный космонавт»
Правила проведения квеста:
- задания не должны нести в себе опасности для жизни и здоровья для участников игры
- задачи должны соответствовать возрасту участников, чтобы они действительно смогли их решить, но и не слишком простыми;
- этапы квеста должны быть объединены одной тематикой, плавно переходить друг в друга, выстраиваться логической цепочкой;
- в конце участников должен ждать приз, причем он должен быть таким, чтобы никому не было обидно. Если игра командная, то и приз должен быть рассчитан на всю команду. По желанию можно давать маленькие призы на каждом из этапов прохождения.
Условия проведения квеста
1. Данное мероприятие рассчитано на проведение в помещении образовательной организации. В зависимости от возможностей, участники перемещаются по учебным кабинетам согласно составленной карты либо по подсказкам предыдущего задания по итогам его выполнения.
2. Роль ведущего выполняет педагог, но можно выбрать помощников из числа незадействованных учащихся.
3. Все участники имеют равные права и полномочия, но условия конкурса подразумевают командную игру.
4. Во время выполнения заданий квеста можно использовать тематическое музыкальное сопровождение, что будет создавать положительный настрой игры.
5. Количество заданий в каждом конкурсе (испытании) должно соответствовать количеству участников, чтобы каждый игрок был вовлечен в игру.
6. Если участники не справляются с заданием конкурса, можно предложить им подсказку в обмен на одного игрока.
Сценарий воспитательного мероприятия
«Интеллектуальный квест «Покорители космоса»
Цель: формировать у младших школьников высокое патриотическое сознание и активную гражданскую позицию как важнейшие духовно-нравственные ценности, отражающие сопричастность достижениям старших поколений.
Задачи:
- активизация познавательного интереса и познавательной деятельности младших школьников;
2) закрепления и расширение знаний об истории космонавтики, исторических личностях;
3) воспитания чувства патриотизма, любви к своей Отчизне.
Количество участников: 10 человек
Оборудование: компьютер (ноутбук), телефон кнопочный стационарный,
Материалы: карта маршрута , бумага, ручки, конверты с буквами (6 штук), пазл с изображением портрета Ю.Гагарина, карточки с изображением планет солнечной системы, карточки с названием деталей простейшей ракеты, дипломы «Юного космонавта» (10 штук)
Ах, этот день двенадцатый апреля,
Как он пронесся по людским сердцам!
Казалось, мир невольно стал добрее,
Своей победой потрясенный сам.
Какой гремел он музыкой вселенской,
Тот праздник, в пестром пламене знамен,
Когда безвестный сын земли смоленской
Землей-планетой был усыновлен.
Жилец Земли, геройский этот малый
В космической посудине своей,
По круговой, вовеки небывалой,
В пучинах неба вымахнул над ней…
- Ребята, о ком это стихотворение? (Юрий Алексеевич Гагарин)
С давних времен человек вглядывался в небесную высь и гадал, что же там за облаками? Вглядываясь в ночное небо, с интересом смотрел на звезды и пытался понять, как устроено небо. Существует множество притч, из которых можно понять, что людей всегда притягивало небо своей таинственностью. Человек пытался «покорить» небо во все времена. Все вы, наверное, знаете историю первого человека, который поднялся в небо – Икара. С тех пор прошло несколько тысяч лет. На нашей Земле выросло много поколений умных людей, которые построили корабли и, совершив кругосветные путешествия, узнали, что Земля – шар. А астрономы доказали, что Земля летит в космосе, вращаясь вокруг Солнца.
Множество летательных аппаратов изобрел человек: от воздушных шаров до космических кораблей. И огромную лепту в изучении космоса, ракетостроении внесли именно наши соотечественники. Самые громкие, известные открытия и изобретения в области космонавтики принадлежат именно русским ученым. Всему миру известны имена: К.Э. Циалковский, С.П. Королев и. конечно же, имя первого космонавта Ю.А. Гагарина. Долгий и непростой путь тренировок прошел Юрий Гагарин, ведь никто не знал, что ждет человека в космическом полете.
В этом году Юрию Гагарину исполнилось бы 85 лет и наше мероприятие посвящено этой памятной дате. Вам тоже необходимо пройти испытания, доказать, что вы команда и достойны носить звание «Юного космонавта».
Педагог объясняет участникам правила игры. И предлагает начать игру.
1«Шифр». Участники получают конверт с шифром из чисел. Каждой клавише телефона соответствуют 4 буквы. С помощью клавиш нужно отгадать закодированное слово (КОСМОДРОМ)
По итогам выполнения задания участники получают букву « С »
2. «Невидимый маршрут ».
Ведущий: - Ребята, довольно часто возникают условия плохой видимости, но необходимо добраться до пункта назначения. И сейчас вам предстоит пройти маршрут с плохой видимостью.
Команда выстраивается в одну линию и закрывают глаза. По команде ведущего (педагога) участники выполняют его команды с закрытыми глазами. Например: «Три шага вперед, поворот налево, поворот кругом, два шага направо, три шага прямо и тд. Затем по команде ведущего открывают глаза и если шеренга нарушена, то маршрут не пройден.
За выполнение задания команде дается конверт с буквой « О »
С помощью загадки участникам необходимо отгадать название планеты Солнечной системы.
Загадки могут представляться в устой форме, в виде карточек, а также в виде мультимедийной презентации (Приложение 1)
Бегают вкруг огонечка
Шесть сыночков и две дочки,
Промелькнут года и дни,
Но не встретятся они.
Она от Солнца первая планета,
Похожа на Луну по цвету.
В глубокой древности ее все греки знали
И «белою звездою» называли.
Быстрее всех планет вращается,
В честь покровителя торговли называется.
(Меркурий)
На планете синей-синей
Дует ветер очень сильный.
Холодно на ней весьма -
Состоит из воды, газа и льда
Ответ: (нептун)
У далекой крохотной планеты,
Нет статуса "Большой" планеты.
И обидевшись она,
В телескопы не видна
Ответ: (плутон)
В телескоп скорей взгляните
Он гуляет по орбите.
Там начальник он над всеми,
Больше всех других планет.
В нашей солнечной системе
Никого крупнее нет.
Ответ: (юпитер)
Все планеты с полюсами,
Есть экватор у любой.
Но планеты с поясами
Не найдете вы другой.
В этих кольцах он один,
Очень важный господин.
Ответ: (сатурн)
Пышный газовый гигант
Брат Юпитера и франт
Любит он, чтоб рядом были
Кольца изо льда и пыли.
Ответ: (Уран)
Планета голубая,
Любимая, родная,
Она твоя, она моя,
А называется.
Ответ: (земля)
Это красная планета
По соседству с нами.
И зимой и даже летом
Мерзнет надо льдами.
Странно, что ни говори, -
Лед не сверху, а внутри.
Ответ: (марс)
Только Солнце и Луна
В небе ярче, чем она.
Да и горячей планеты
В Солнечной системе нету.
(Венера)
По итогам выполнения задания участники получают букву « К »
Участникам предлагается на время собрать пазл с изображением Ю.Гагарина и назвать имя (Приложение 2)
По итогам выполнения задания участники получают букву « М »
5. Викторина «Биографы»
Вопросы викторины можно задавать устно, либо оформить в виде мультимедийной презентации. Так же можно задавать по одному вопросу каждому игроку, в случае затруднения помогает команда. Либо задавать вопрос всей команде и давать 30 секунд на размышление.
1. Какое название имела ракета-носитель, которая должна была впервые в истории человечества вывести в космос корабль с человеком на борту?
«Восток» +
«Восход»
«Веста»
2. Кто был дублёром Гагарина?
Герман Титов +
Павел Попович
Андриян Николаев
3. В каком воинском звании находился Гагарин во время первого полёта в космос?
Младший лейтенант
Старший лейтенант +
Майор
4. Как назывался космодром, с которого стартовал Ю.А.Гагарин?
Плесецк
Байконур +
Апполон
06 часов 00 минут по московскому времени
5. Что представлял собой завтрак первого космонавта Гагарина перед полётом?
Каша, булочка, кофе
Зерновые хлопья, хлеб, молоко
Завтрак из туб: мясное пюре, черносмородиновый джем, кофе +
6. Сколько времени провёл Гагарин на околоземной орбите?
3 часа 00 минут
1 час 48 минут +
5 часов 53 минуты
7. Когда родился Юрий Алексеевич Гагарин?
Ответ: 9 марта 1934 года
8. Когда состоялся исторический старт корабля «Восток» с первым космонавтом Юрием Алексеевичем Гагариным на борту?
Ответ: 12 апреля 1961 года.
9. Что сказал Гагарин, когда корабль «Восток» стартовал?
Ответ: он сказал — «Поехали!»
10. Как называется «одежда» космонавта:
По итогам выполнения задания участники получают букву « О »
На карточках описаны (изображены) основные детали устройства простейшей ракеты, но среди них есть лишние. Участникам нужно отобрать те карточки, которые соответствуют устройству ракеты. (Приложение 3)
По итогам выполнения задания участники получают букву « С »
Из собранных ,в результате заданий квеста, букв участникам необходимо собрать слово (КОСМОС).
Ведущий: Ребята, вы все большие молодцы. Задания были не простые, но вы с ними справились и показали себя знатоками космонавтики. Поэтому, я хочу вручить вам дипломы «Юных знатоков космоса» (Приложение 4)
Список использованной литературы:
Афанасьева Л.О., Поречная Е.А. Использование квест-технологии при проведении уроков в начальной школе // Школьные технологии. 2012. - №6. - С. 149-159.
Каравка А.А. Урок-квест как педагогическая информационная технология и дидактическая игра, направленная на овладение определёнными компетенциями // Мир науки. - 2015. - №3. - С. 20.
Николаева Н.В. Образовательные квест-проекты как метод и средство развития навыков информационной деятельности у учащихся // Вопросы Интернетобразования. - 2002. - №7
Руководства по игре
В Roblox A Universal Time можно получить множество уникальных и интересных стендов, предметов и форм. В то время как некоторые из них легко получить, у многих других есть квесты, которые вам нужно будет выполнить, или они будут выполняться только в редких случаях. Если вы хотите получить подставку Sol Stand, мы рассмотрим, что вам нужно сделать, чтобы получить ее, в этом руководстве.
Узнайте обо всем, что нужно знать, с помощью AUT через наша страница вики-страницы Всемирного времени!
Читайте также: