Автор Тема: CopperCube  (Прочитано 46335 раз)

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #15 : 23 Декабрь 2018, 16:49:05 »
Благодарю. Поправил.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #16 : 29 Декабрь 2018, 23:40:53 »
Обзор типов 3D-объектов


CopperCube включает в себя несколько типов 3D-объектов, которые можно добавить в 3D-сцену. Эти 3D-объекты иногда также называют «узлами сцены», так как CopperCube использует иерархический граф сцены для отображения 3D-графики.





Ниже приведен список с кратким описанием всех доступных типов:


Значок
Наименование
Описание


3D-примитивы   
Создают различные 3d примитивы: куб, сфера, цилиндр, конус и плоскость. Используйте их для размещения в любом месте вашей сцены. Они могут быть установлены, чтобы блокировать свет при расчёте карт освещения в CopperCube, или просто украсить вашу сцену. Если вы хотите создавать более сложные сцены, рекомендуется смоделировать их во внешнем 3D-редакторе и импортировать их в виде полигональной сетки.


Создатель комнаты   
Запускает создатель комнаты, для создания простой 3D-комнаты со стенами. Когда вы нажмёте эту кнопку, откроется диалоговое окно, где вы можете рисовать полы и стены на плане. При нажатии «ОК» создается очень простая 3D-комната.

 
Местность   
Создает узел местности в сцене, для редактирования ландшафта местности с деревьями, травами и многим другим. Смотрите редактирование ландшафта местности.

 
Импорт статической 3D-модели из файла 
Импортирует статическую 3D-сетку из файла, например, из файла .3ds 3d Studio. Есть много поддерживаемых 3D-форматов файлов. Если вы хотите создавать сложные трехмерные сцены, то это рекомендуемый способ импорта ваших файлов в CopperCube.


Импорт анимированной 3D-модели из файла 
Импортирует анимированную трехмерную полигональную 3D-сетку из файла. Подробности об этом вы можете найти на странице Анимация персонажа.

 
Точечный источник света  
Создает точечный источник света, расположенный в трехмерном пространстве. Его можно использовать для создания карты освещения или для динамического освещения вашей 3D-сцены. У точечных источников света есть радиус, в пределах которого они влияют на предметы вокруг них, и цвет. Кроме того, для карты освещения вы можете выбрать, должен ли источник света отбрасывать тени или нет.


Направленный источник света   
Создает источник направленного света. Это полезно для имитации очень удалённых источников света, например, света от солнца. Трехмерное положение направленного источника света не используется для расчёта, только направление его лучей. Свет можно использовать для создания карты освещения или для динамического освещения вашей 3D-сцены.
Примечание: Материалы с картами нормалей работают только с точечными источниками света в CopperCube, направленные источники света игнорируются.

 
Камера
Создает камеру, на основе которой будет отрисовываться сцена после публикации. Камеры работают как в реальном мире: у них есть соотношение сторон и поле зрения. Кроме того, можно задать ближнюю плоскость отсечения NearPlane (по умолчанию 1) и дальнюю плоскость отсечения FarPlane (по умолчанию 3000), которые определяют, между какими значениями будет отображаться геометрия. Если, например, объект находится дальше, чем 3000 единиц от камеры, то он не будет нарисован. Обратите внимание, что увеличение этого значения приведет к снижению точности отрисовки, поскольку это влияет на z-буфер.
Вы можете добавить различные поведения для камеры, в том числе и специальные поведения только для камер, такие как контроллер игры-стрелялки от первого лица. Дополнительные сведения см. в разделе Контроллеры камеры.


Дерево  
Создает процедурно сгенерированное дерево на основе заданных пользователем параметров. Дополнительные сведения см. в разделе Генерация деревьев.

 
Вода   
Создает отражающую в режиме реального времени поверхность воды с настраиваемыми параметрами. Её можно использовать для создания озер, рек и океанов.


Билборд   
Билборд - это просто двухмерный спрайт, размещенный в трехмерном пространстве. Своей плоскостью он всегда направлен лицом к камере. Билборды обычно используются для создания частиц, огня, дыма и тому подобного.


Вертикальный билборд   
Ведет себя так же, как обычный билборд, но всегда стоит вертикально. Это полезно, например, для создания растений простым способом: просто назначьте изображение дерева или травы в качестве текстуры, и билборд будет выглядеть как растение.

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

 
Скайбокс 
Скайбокс - это куб с 6 текстурами, нарисованными на фоне сцены. Используется для создания иллюзии неба или окружающей среды. Не имеет смысла иметь более одного скайбокса на сцену.

 
3D-звук   
Используется для создания звука, размещенного где-то в трехмерном пространстве, но также может использоваться для воспроизведения обычного звука, например, для фоновой музыки. Дополнительные сведения см. в разделе 3D-звуки.

 
Путь 
Определяет путь в трехмерном пространстве и может использоваться, чтобы заставить объект следовать по нему. Просто добавьте поведение «Follow Path» (Следовать по пути) к любому 3D-объекту. Пути могут быть замкнутой окружностью или простой линией и иметь параметр «Tightness» (Напряженность), который управляет тем, как интерполируется движение между узлами пути. Используйте кнопку «Create a path node» (Создать узел) пути, чтобы добавить больше узлов к пути.

 
Узел пути   
Узел пути. Когда выбран путь, нажатие этой кнопки добавит узел пути к этому пути.

 
2D-наложение 
2D-наложение можно использовать для отображения логотипов в 2D на 3D-сцене или даже для создания кнопок, которые запускают действия при нажатии на них.

 
2D-экран сенсорного ввода   
Ведет себя как 2D-наложение и может использоваться для имитации ввода на устройствах без клавиатуры, но с сенсорным экраном. Благодаря этому вы можете запускать свои игры на планшетах, телефонах и других устройствах.


Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #17 : 02 Январь 2019, 17:17:22 »
Ну вот, расставил все запятые правильно, мне теперь и докопаться не к чему...  :D

Это так, совсем мелкие придирки:
Цитировать
Есть много поддерживаемых 3D-форматов файлов.
Поддерживается большое количество 3D-форматов файлов.
или
Поддерживается большое количество форматов файлов с 3D-объектами.

Цитировать
Не имеет смысла иметь более одного скайбокса на сцену.
Не имеет смысла добавлять более одного скайбокса на сцену.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #18 : 02 Январь 2019, 21:50:15 »
Поправил.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #19 : 06 Январь 2019, 09:59:30 »
Определение контроллеров камеры

Чтобы определить, как пользователи приложения созданного в  CopperCube должны управлять камерой, необходимо добавить объект камеры в сцену. Просто нажмите кнопку камеры на вкладке панели инструментов редактирования сцены, и откроется диалоговое окно, в котором вы можете выбрать тип камеры для использования:


Диалоговое окно создания новой камеры

Есть несколько типов камер на выбор:
Simple Camera «Простая камера»: очень простая камера, которая не движется. Этот тип камеры также очень полезен, когда вы хотите запрограммировать свой собственный контроллер камеры.
Free Flying Camera «Камера свободного полёта»: камера, известная из игр-стрелялок от первого лица. Вы можете свободно перемещаться с помощью клавиш курсора и осматриваться с помощью мыши.
First Person Shooter camera «Камера от первого лица»:  камера, известная из игр-стрелялок от первого лица. Вы можете перемещаться с помощью клавиш курсора и осматриваться с помощью мыши.
Model Viewer Camera «Камера обзора модели»: камера, движущаяся по орбитам вокруг объекта-цели.
Third Person Camera «Камера от третьего лица»: камера, которая следует за объектом, контролируемым клавиатурой.
Panorama Camera «Панорамная камера»: камера, неспособная перемещаться, но с возможностью обзора на 360 градусов.

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


Регулировка свойств контроллера камеры

После того, как вы добавили новую камеру в сцену, вы можете найти настройки контроллера камеры на вкладке Behavior «Поведение». Как правило, существует поведение First Person Shooter style controlled «Контроллер в стиле игры-стрелялки от первого лица» (для камер Free flying «Камера свободного полёта» и FPS «Камера от первого лица») или Model Viewer Camera «Камера обзора модели», и если вы выбрали collides against geometry when moved «сталкивается с геометрией при перемещении», тогда должно быть добавлено поведение Collides when moved «Сталкиваться при перемещении»:
 

Окно свойств поведения камеры


Выбрав один из вариантов поведения, вы можете настроить его значения, такие как: скорость движения или расстояние до центра камеры контроллера модели. Вы можете добавлять новые варианты поведения с помощью кнопки «+» и удалять существующие с помощью кнопки «-», но будьте осторожны с этим.


Направление взгляда

После добавления новой камеры вы можете заметить, что у нее появится линия соединяющаяся с точкой в ​​пространстве:


Цель камеры

Эта маленькая точка указывает направление камеры. Вы можете установить новую позицию цели камеры, если просто выберете её и переместите:


Изменение положения цели камеры

Цель камеры - это не только точка, куда камера изначально будет направлена, но и центр вращения для камер с контроллерами типа Model viewer «Камера обзора модели».


Столкновение

После того, как вы добавили новую камеру и выбрали Сollides against geometry when moved «Сталкиваться с геометрией при перемещении», вы можете заметить, что вокруг нее появится желтый эллипсоид:


Желтый эллипсоид столкновения вокруг выбранной камеры

Это вызвано поведением, которое было добавлено в свойства камеры. Это поведение называется Collide when moved «Сталкиваться при перемещении», и его можно найти на вкладке Behavior «Поведение» в окне Properties «Свойства»:


Поведение «Сталкиваться при перемещении»

При выборе поведения Collide when moved «Сталкиваться при перемещении» вы можете настраивать его параметры. Параметры Size «Размер» влияют на размер эллипсоида вокруг камеры, и они описывают тело виртуального человека, перемещающего камеру. Если вы хотите отрегулировать положение головы (или глаз) в теле столкновения, измените значения в параметрах Relative Position «Относительное положение». Чтобы включить гравитацию для падения камеры, установите флажок AffectedByGravity «Влияет сила тяжести». Для увеличения или уменьшения гравитации вы можете настроить значение Gravity «Гравитация» в Properties -> Attributes  «Свойствах -> Атрибутах» корневого объекта сцены. Например, введите «-100» для  очень большой обратной силы тяжести (выталкивание) или «0» для отсутствия силы тяжести.

Если вам необходимо точно установить, с какими элементами вашей сцены камера должна сталкиваться, установите или снимите флажок Collision «Столкновение» во вкладке Attributes «Атрибуты» соответствующего объекта сцены.


Застревание

Иногда можно застрять в геометрии при движении. Для того чтобы камера не застряла, всегда устанавливайте её таким образом, чтобы желтый эллипсоид не сталкивался со стеной в самом начале сцены.
Если камера застревает во время движения, проблема может заключаться в 3D-сетке: нужно быть немного осторожным при моделировании статической геометрии, с которой сталкивается камера. Геометрия должна быть замкнутой, и нигде не должно быть торчащих односторонних многоугольников, это обычно те места, где камера застревает.
Кроме того, если точки вершин, которые должны быть вместе, не совсем совпадают, это может вызвать проблемы. Если используемое программное обеспечение для трехмерного моделирования поддерживает функцию Merge Vertex  «Слить вершины», чтобы соседние вершины были точно в одном и том же месте, то рекомендуется сделать это. Чаще всего это помогает решить проблему застревания.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #20 : 06 Январь 2019, 18:20:42 »
Урок: Создание 3D-прогулки

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

Начало: Создайте свою 3D-сцену
Для начала нам нужна 3D-сцена, по которой мы сможем прогуляться. Импортируйте 3D-модель, добавьте скайбокс, источники света и все, что захотите, пока вас не устроит 3D-сцена. Вы также можете использовать команды Create plane «Создать плоскость» и Create cube  «Создать кубу» или модели из ресурсов (Prefabs), чтобы создать очень простую сцену в целях тестирования этого урока. Сцена, которую я использую в этом уроке, выглядит следующим образом: простая комната с несколькими окнами и лестницей в ней:



Сцена для этого урока


Примечание: Вы также можете быстро создать объект трехмерного мира, используя генератор комнат встроенный в CopperCube. Для этого используйте меню Edit -> Insert -> Create a room mesh from a 2D map «Правка -> Вставить -> Создать комнату из 2D-карты», и нарисуйте простой план комнаты.


Добавление камеры
После того, как вы настроили свою сцену, вам нужна камера, чтобы пользователь мог ходить по трехмерной сцене. Нажмите на вкладку Create «Создать» и щелкните значок камеры, чтобы создать новую камеру (в качестве альтернативы используйте меню: Edit -> Insert -> Create a Camera «Правка» -> «Вставить» -> «Создать камеру»).
Должно появиться диалоговое окно создания камеры:



Диалоговое окно создания камеры


Выберите  камеру типа First Person Shooter Camera «Камера от первого лица». Также убедитесь, что отмечены оба параметра Collides against geometry when moved «Сталкиваться с геометрией при перемещении» и When starting the scene, this is the first active camera «При запуске сцены это первая активная камера». Нажатие «ОК» создает новую камеру и выбирает ее:
 

Недавно созданная камера от первого лица


Обратите внимание на желтый контур эллипсоида вокруг камеры. Это тело столкновения, примерно размером с человека, который будет ходить по сцене. Возможно, вам нужно отрегулировать размер этого эллипсоида, чтобы он соответствовал вашей сцене. Вы должны сделать его достаточно большим, чтобы пользователь мог подниматься по лестнице, но достаточно маленьким, чтобы проходить через двери.
Вы можете использовать инструмент масштабирования (клавиша «R»), чтобы изменить размер эллипсоида.



Регулировка размера эллипсоида столкновения


Кроме того, убедитесь, что желтый эллипсоид немного «летает» в воздухе и не касается какой-либо стены или пола, иначе пользователь застрянет в этом положении при запуске приложения и не будет способен двигаться.


Теперь перейдите в окно свойств камеры Properties, откройте вкладку Behavior «Поведение», и выберите поведение First Person Shooter style controlled «Контроллер в стиле игры-стрелялки от первого лица»:



Окно свойств поведения камеры


Вы можете установить различные параметры, такие как скорость движения или скорость вращения. Если вы хотите, чтобы камера могла летать, а не ходить, вы можете выбрать опцию CanFly «Может летать», но вам также необходимо снять флажок AffectedByGravity «Влияет сила тяжести».
Вторым поведением в камере является поведение Collide when moved «Столкновение при перемещении»:



Поведение «Сталкиваться при перемещении»


Такое поведение препятствует движению камеры через стены. Если вы хотите, чтобы пользователь мог перемещаться сквозь стены, то просто нажмите кнопку «-» и сотрите это поведение.
Атрибут Size «Размер» - это размер эллипсоида, вы также его можете вручную настроить здесь, если хотите. Если вы хотите отрегулировать положение головы или глаз в теле столкновения, измените значение в параметрах Relative Position  «Относительное положение». Чтобы увеличить или уменьшить силу тяжести, отрегулируйте значение Gravity «Гравитация», которое вы найдёте, выбрав корневой узел сцены в Scene Graph Explorer «Менеджер сцены». Например, введите 100 для очень сильного притяжения или 0 для отсутствия эффекта гравитации.

Вот и все, теперь вы можете побродить по своей 3D-сцене, просто протестировав свое приложение (меню: Tools -> Test as Windows .exe or Flash .swf «Инструменты -> Тестировать как Windows .exe или Flash .swf»). Если в сцене более одной камеры, убедитесь, что для камеры с эллипсоидом включен параметр Active «Активна» во вкладке атрибутов Attributes окна свойств Properties.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #21 : 06 Январь 2019, 21:50:33 »
Полноценной проверки ещё не делал, но сейчас такой вопрос:
Точно у Free Flying Camera и у First Person Shooter camera должно быть одинаковое описание?

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #22 : 06 Январь 2019, 21:59:52 »
Цитировать
Чтобы определить, как пользователи приложения созданного в  CopperCube должны управлять камерой, необходимо добавить объект камеры в сцену.
Чтобы определить, как пользователи приложения, созданного в CopperCube, должны управлять камерой, необходимо добавить объект камеры в сцену.

Цитировать
Просто нажмите кнопку камеры на вкладке панели инструментов редактирования сцены, и откроется диалоговое окно, в котором вы можете выбрать тип камеры для использования:
Просто нажмите кнопку камеры на вкладке панели инструментов редактирования сцены, и откроется диалоговое окно, в котором вы сможете выбрать тип камеры для использования:

Цитировать
Есть несколько типов камер на выбор:
Существует несколько типов камер на выбор:

Цитировать
После добавления новой камеры вы можете заметить, что у нее появится линия соединяющаяся с точкой в ​​пространстве:
После добавления новой камеры, вы можете заметить, что у нее появится линия соединения с точкой в ​​пространстве:

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #23 : 06 Январь 2019, 23:18:07 »
Цитировать
Примечание: Вы также можете быстро создать объект трехмерного мира, используя генератор комнат встроенный в CopperCube.
Примечание: Вы также можете быстро создать объект трехмерного мира, используя генератор комнат, встроенный в CopperCube.

Цитировать
Если в сцене более одной камеры, убедитесь, что для камеры с эллипсоидом включен параметр Active «Активна» во вкладке атрибутов Attributes окна свойств Properties.
Если в сцене присутствует более одной камеры, убедитесь, что для камеры с эллипсоидом включен параметр Active «Активна» во вкладке атрибутов Attributes окна свойств Properties.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #24 : 07 Январь 2019, 08:20:42 »
Поправил. Благодарю.
Точно у Free Flying Camera и у First Person Shooter camera должно быть одинаковое описание?
В оригинале так и было...
Я изменил так:

Free Flying Camera «Камера свободного полёта»: камера совбодного полёта, известная из игр-стрелялок от первого лица. Вы можете свободно перемещаться в пространстве сцены с помощью клавиш и осматриваться с помощью мыши.

First Person Shooter camera «Камера от первого лица»:  камера перемещения по поверхности, известная из игр-стрелялок от первого лица. Вы можете перемещаться по поверхностям с помощью клавиш и осматриваться с помощью мыши.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #25 : 17 Январь 2019, 18:04:11 »
Урок: Выполнение действий при нажатии на объекты

В этом уроке показано, как назначить действия, такие как: скрытие объектов, воспроизведение звуков или открытие веб-сайтов, когда пользователь нажимает на объекты в сцене CopperСube.

Начало: Создайте свою 3D-сцену
Для начала нам нужна 3D-сцена, в которой есть несколько 3D-объектов, с которыми мы сможем взаимодействовать.С помощью панели инструментов Create «Создать» (или используйте меню: Edit -> Insert «Правка -> Вставить») создайте 4 случайных объекта: сферы, кубы или цилиндры, и  камеру Simple Camera «Простая камера». Пусть цель камеры будет направлена на объекты, чтобы сцена выглядела примерно так:


Сцена для этого урока

Это нужно для того, чтобы после публикации и запуска 3D-сцены вы могли видеть объекты и нажимать на них с помощью указателя мыши.

Добавление событий и действий
Как только вы настроите свою сцену, перейдём к важной части: мы хотим сделать так, что бы один из объектов, скажем, цилиндр, исчезал, ​​когда мы нажмем на другой объект - сферу. Для этого выберите сферу и перейдите на вкладку Behavior «Поведение» в окне свойств Properties. Там нажмите на кнопку «+», чтобы добавить новое поведение:


Добавление поведения сфере

Выбрав поведение When clicked do something «По нажатию на этот объект», вы сможете добавить поведение, которое запускает действие, когда пользователь нажимает на сферу. Есть и другие варианты поведения на выбор, например, поведение On proximity do something «При приближении к объекту», которое запускает действие, когда что-то приближается к этому объекту, но в этом уроке мы используем поведение  When clicked do something «По нажатию на этот объект».

После того, как вы добавили это поведение, появятся его параметры. Игнорируйте их сейчас и просто кликните на Action «Действие», чтобы определить, что должно произойти, когда вы будете кликать мышью на объекте сцены. Когда вы нажимаете кнопку «...», откроется диалоговое окно, где вы можете редактировать список действий. Нажмите на кнопку «+», и появится список действий:


Диалоговое окно редактирования (выбора и добавления) действий

Выберите действие Hide or unhide a scene node «Скрыть или отобразить узел (объект) сцены», которое позволит сделать видимым или невидимым другой объект. Есть 3 режима на выбор: Make Invisible «Сделать невидимым», который скроет объект, Make Visible «Сделать видимым», который покажет его или Toggle Visibility «Переключить видимость», который сделает его видимым, если он невидим и невидимым, если он виден. Toggle Visibility «Переключить видимость» для нас подходит и должен быть выбран по умолчанию, так что оставьте всё как есть. Теперь нам нужно только выбрать, какой узел сцены скрыть: Нажмите кнопку Select  «Выбрать» в списке Change which Scene Node «Указать какой (узел) объект сцены»:


Выбор узла (объекта) сцены для скрытия или отображения

Должно появиться диалоговое окно для выбора узла сцены, где вы можете выбрать куб или цилиндр.


Выбор узла (объекта) сцены для скрытия или отображения

На этом все. Если вы сейчас опубликуете свою сцену (Tools -> Test as ... Application «Инструменты -> Тестировать как ... Приложение») и нажмёте на сферу, то другой объект должен исчезнуть. Если вы нажмете на сферу снова, то другой объект появится вновь.

Существует множество других действий, таких как изменение положения узла (объекта) сцены, воспроизведение звука или открытие веб-сайта. Просто попробуйте их.







Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #26 : 17 Январь 2019, 21:59:41 »
Цитировать
Для начала нам нужна 3D-сцена, в которой есть несколько 3D-объектов, с которыми мы сможем взаимодействовать.С помощью панели инструментов Create «Создать» (или используйте меню: Edit -> Insert «Правка -> Вставить») создайте 4 случайных объекта: сферы, кубы или цилиндры, и  камеру Simple Camera «Простая камера».
Для начала нам нужна 3D-сцена, в которой есть несколько 3D-объектов, с которыми мы сможем взаимодействовать. С помощью панели инструментов Create «Создать» (или используйте меню: Edit -> Insert «Правка -> Вставить») создайте 4 случайных объекта: сферы, кубы или цилиндры, и  камеру Simple Camera «Простая камера».

Цитировать
Как только вы настроите свою сцену, перейдём к важной части: мы хотим сделать так, что бы один из объектов, скажем, цилиндр, исчезал, ​​когда мы нажмем на другой объект - сферу.
Как только вы настроите свою сцену, перейдём к важной части: мы хотим сделать так, чтобы один из объектов, скажем, цилиндр, исчезал, ​​когда мы нажмем на другой объект - сферу.

Цитировать
Есть 3 режима на выбор: Make Invisible «Сделать невидимым», который скроет объект, Make Visible «Сделать видимым», который покажет его или Toggle Visibility «Переключить видимость», который сделает его видимым, если он невидим и невидимым, если он виден.
Есть 3 режима на выбор: Make Invisible «Сделать невидимым», который скроет объект, Make Visible «Сделать видимым», который покажет его или Toggle Visibility «Переключить видимость», который сделает его видимым, если он невидим, и невидимым, если он виден.
или даже
Есть 3 режима на выбор: Make Invisible «Сделать невидимым», при котором объект будет скрыт, Make Visible «Сделать видимым», при котором объект появится, или Toggle Visibility «Переключить видимость», при котором он станет видимым, если был невидим, и невидимым, если он был виден.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #27 : 17 Январь 2019, 22:48:05 »
Striver, благодарю. Поправил.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #28 : 28 Апрель 2019, 18:00:39 »

Урок: Создание игры-стрелялки или шутера от первого лица

Из этого урока вы узнаете, как создать игру-стрелялку от первого лица с помощью CopperCube,  совершенно без программирования. Окончательное приложение может выглядеть так:



Итоговое приложение


Начало: Создайте свою 3D-сцену
Для начала нам нужна 3D-сцена или мир, в котором будет происходить игра. Импортируйте 3D-модель, добавьте скайбокс, источники света и все, что захотите, пока вас не устроит 3D-сцена. Вы также можете использовать генератор комнат, встроенный в CopperCube, для создания простого мира, выбрав меню Edit -> Insert -> Create a room mesh from 2D map «Правка -> Вставить -> Создать комнату из  2D-карты и нарисовать комнату. В этом примере я использовал 3D-модель большой круглой комнаты, а также поместил несколько источников света, чтобы она выглядела более привлекательно:



Сцена для этого урока


Создание камеры игрока
Как и в уроке Создание 3D-прогулки, нам нужна 3D-камера, которой управляет игрок, и которая может перемещаться в трехмерном мире, не проходя сквозь стены. Он также должен уметь подниматься по лестнице и падать под действием силы тяжести.
Нажмите на вкладку Scene editing «Редактирование сцены» и щелкните символ камеры, чтобы создать новую камеру (в качестве альтернативы используйте меню: Edit -> Insert -> Create a Camera «Правка -> Вставить -> Создать камеру»). Вот, как это должно выглядеть:



Диалоговое окно создания новой камеры


Выберите First Person Shooter Camera «Камера от первого лица». Также убедитесь, что отмечены оба параметра: Collides against geometry when moved «Сталкиваться с геометрией при перемещении» и When starting the scene, this is the first active camera «При запуске сцены - это первая активная камера». Нажатие «ОК» создает новую камеру и выбирает ее:



Недавно созданная камера от первого лица


Обратите внимание на желтый контур эллипсоида вокруг камеры. Это тело столкновения, в основном размером с человека, который ходит по сцене. Возможно, вам нужно отрегулировать размер этого эллипсоида, чтобы он соответствовал вашей сцене. Вы должны сделать его достаточно большим, чтобы пользователь мог подниматься по лестнице, но достаточно маленьким, чтобы проходить через двери.
Вы можете использовать инструмент масштабирования (клавиша «R»), чтобы изменить размер эллипсоида.

Кроме того, убедитесь, что желтый эллипсоид немного «парит» в воздухе и вначале не касается какой-либо стены или пола, иначе пользователь застрянет в этой стене в начальном приложении и не будет способен двигаться.
Вы можете проверить, в порядке ли ваша камера, протестировав ваше приложение, например, нажав Инструменты -> Тестировать как приложение Windows, и немного попробовать перемещаться в вашей 3D-сцене.

Теперь перейдите в окно свойств камеры, откройте вкладку 'Behaviors' «Поведения» и выберите поведение 'First Person Shooter style controlled' «Управление в стиле шутера от первого лица»:
 


Поведение созданной камеры


Вы можете установить различные параметры, такие как скорость движения или скорость вращения. Если вы хотите, чтобы камера могла летать, а не ходить, вы можете выбрать опцию 'CanFly' «Может летать», но для этого урока мы не используем эту функцию.
Вторым поведением в камере является поведение 'Collide when moved' «Столкновение при перемещении», которое влияет на то, как камера сталкивается с окружающими препятствиями. Вы можете настроить размер эллипсоида и положение камеры в эллипсоиде. Если вы хотите изменить гравитацию, отрегулируйте значение 'Gravity' «Гравитация», которое вы можете найти при выборе корневого узла сцены в SceneGraph Explorer.

Так что теперь у нас есть камера, которая может двигаться в трехмерном мире. Но для игры нам нужно немного больше.


Создание врагов
В качестве врагов мы будем использовать несколько анимированных персонажей. Предлагается 'Soldier' «Солдат» из набора (Prefabs), который поставляется с CopperCube. В окне набора моделей просто дважды щелкните  на модели "Animated soldier" «Анимированный солдат», и CopperCube создаст экземпляр этого персонажа в вашем трехмерном мире. Расположите солдата там, где вам больше нравится.





Первый созданный враг


Если вы также используете динамические источники света в своей сцене, то можете лучше визуализировать солдата в сцене, выбрав его и открыв вкладку 'Materials' «Материалы», а затем выбрав 'Dynamic' «Динамический» в качестве освещения.
Этот персонаж просто анимированная 3D модель. Оно ничего не делает в игре, поэтому мы должны указать ему, что делать. Выберите солдата, откройте его вкладку поведения и добавьте к нему поведение  "Game Actor with Health (AI, Player, etc)" «Игрок со здоровьем (ИИ, Игрок и т. д.)»:


Добавление поведения игровому актёру


Кроме того, необходимо, чтобы враг не мог проходить сквозь стены, как и камера игрока. Поэтому мы добавляем к нему поведение "Collide when moved" «Столкновение при перемещении» и корректируем его значения так, чтобы желтый эллипсоид помещался вокруг солдата:


Поведение столкновения при перемещении добавлено к солдату


Если вы сейчас протестируете свое приложение, например, нажав "Tools -> Test as Windows Application" «Инструменты -> Тестировать как приложение Windows», вы увидите, что солдат будет случайным образом перемещаться в трехмерном мире. Он полностью нас игнорирует, но, по крайней мере, делает что-то полезное. Вы можете легко изменить его поведение в поведении "Game Actor with Health" «Игрок со здоровьем», см. его документацию на странице  Обзора поведений.

Вы увидите, что там есть много параметров, которые можно настроить. В этом примере мы настраиваем только одну вещь: прокрутите вниз до записи "ActionOnDie" «Дейстиве при наступлении смерти», выберите ее, нажмите кнопку «...» и в диалоговом окне "Edit Action" «Редактировать действие» добавьте действие "Change rotation of a scene node" «Изменить вращение узла сцены», со свойством "Change which scene node" «Изменить узел сцены», установленным на узел солдата, вектор, установите на «90.0, 0.0, 0.0», установите флажок "Rotate animated" «Поворот анимирован», а для параметра "Time to rotate" «Время поворота» установите значение 500 миллисекунд (полсекунды), как показано ниже:



Действие которое начинается при смерти актера.


Это действие будет выполнено, когда актер умрет. Там может быть полезно добавить дополнительные действия, например, воспроизведение звука или что-то подобное, если хотите. Но действие, которое мы только что добавили, поворачивает персонажа так, что он выглядит так, как будто он падает на землю. Мы делаем это здесь, потому что 3D-модель солдата не имеет встроенной анимации «смерти». Вы увидите это в действии позже


Добавление оружия
Одной из главных особенностей игр от первого лица является то, что в них можно стрелять. Поэтому для этого нам нужно добавить оружие для игрока. Снова выберите камеру, которую мы создали ранее, перейдите на вкладку "Behaviors" «Поведения» и добавьте к ней поведение  "When a key is pressed do something" «Когда нажата какая-либо кнопка», ее можно найти в разделе  "Behaviors triggered by events" «Поведения, вызванные событиями». Это сделает стрельбу возможной. Вы можете выбрать любую клавишу, которую хотите, но для этого примера я выбрал  'Left Mouse button' «Левую кнопку мыши» в качестве клавиши выстрела. В поведении есть одна запись с именем  "Action" «Действие», выберите ее и нажмите кнопку «...», и в диалоговом окне редактирования действия добавьте действие "Shoot" «Выстрел», которое можно найти в разделе "Game and sound" «Игра и звук»:



Действие Shoot "Выстрел" добавлено для камеры игрока.


Для действия при стрельбе мы устанавливаем в качестве "Damage" «Урона» значение около 55 (здоровье врага по умолчанию равно 100, поэтому вам придется попасть в него дважды), а затем нажимаем «ОК». По сути, это все.
Протестируйте свое приложение, если теперь вы нацелились на вражеского солдата и нажали левую кнопку мыши, он должен умереть после того, как вы дважды попали в него. По сути, вы только что создали очень простую игру-стрелялку или шутер от первого лица


Доработка игры
Конечно, игра далека от завершения. Много работы ещё нужно сделать, и в этом уроке это выходит за рамки объяснения каждой мелочи, но вот несколько советов, как доработать игру:
  • Добавление звуков: Везде, где вы можете добавить действие, вы также можете добавить более одного действия. Как в триггере "ActionOnDie" «Действие при наступлении смерти» противника. Например, вы можете добавить действие для воспроизведения звука, чтобы заставить врага кричать, прежде чем он умрет.
  • Добавление анимированной 3D-модели оружия игроку: Просто импортируйте анимированную или даже не анимированную 3D-модель и перетащите ее в проводнике графа сцены (Scene Graph Explorer) на камеру игрока. Затем вам, вероятно, нужно немного отрегулировать её положение и вращение, чтобы всё хорошо вписывалось в экран. В игре модель оружия будет прикреплена к камере, будет следовать за ней и будет видна игроку, как это сделано в играх от первого лица.


  • Создание атакующих игрока врагов: Чтобы враги атаковали игрока, добавьте к камере поведение "Game Actor" «Игровой актер» и установите для него режим "This is the Player" «Это игрок». Вам также нужно будет определить, что именно должен делать враг при атаке, что вы можете сделать в триггере "ActionOnAttack «Действие при атаке» поведения игрового актера. Обычно там устанавливается "shoot" «выстрел». Также обратите внимание на теги, установленные во всех поведенческих действиях "Game Actor" «Игровой актер», они изложены в описании поведения Game Actor.
  • Более тонкая настройка искусственного интеллекта (AI): Взгляните на описание поведения "Game Actor" «Игровой актер». Там вы найдете гораздо больше настроек искусственного интеллекта (AI) для игры.
  • Добавление большего количества врагов: Если вы закончили создание одного врага, вы можете клонировать его, нажав Ctrl + C. Кроме того, копирование и вставка поведения из одного узла в другой возможна с использованием сочетаний клавиш CTRL + B и CTRL + J или контекстного меню "Modify Selection -> Copy behaviors of this Node" «Изменить выбранное -> Копировать поведения этого узла».
  • Добавление перекрестия прицела: Чтобы упростить прицеливание, используйте узел 2D-наложения с изображением перекрестия, расположенный в центре экрана.


  • Придание врагам большей живости: У игровых актеров есть другие триггеры действий, такие как  "ActionOnActivate" «Действие при активации», которые запускаются, когда игровой персонаж впервые попадает в радиус активации. Например, где-то в сцене установлен объект звук, при попадание в радиус которого, солдат произносит что-то с удивлением.
Вот и все, теперь вы сможете создавать игры-стрелялки или шутеры от первого лица в CopperCube самостоятельно.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #29 : 28 Апрель 2019, 21:05:18 »
Цитировать
Это тело столкновения, в основном размером с человека, который ходит по сцене.
Это тело столкновения, фактически имеющее размер идущего по сцене человека.

Цитировать
Вы можете проверить, в порядке ли ваша камера, протестировав ваше приложение, например, нажав Инструменты -> Тестировать как приложение Windows, и немного попробовать перемещаться в вашей 3D-сцене.
Вы можете проверить, в порядке ли ваша камера, протестировав ваше приложение, для этого, например, нажмите Инструменты -> Тестировать как приложение Windows, и попробуйте немного подвигаться по вашей 3D-сцене.

Цитировать
Вы можете легко изменить его поведение в поведении "Game Actor with Health" «Игрок со здоровьем», см. его документацию на странице  Обзора поведений.
Вы легко можете изменить то, как он себя ведёт, настроив поведение "Game Actor with Health" «Игрок со здоровьем», см. документацию об этом на странице Обзора поведений.

Цитировать
Но действие, которое мы только что добавили, поворачивает персонажа так, что он выглядит так, как будто он падает на землю.
Но действие, которое мы только что добавили, поворачивает персонажа таким образом, что он выглядит падающим на землю.

Цитировать
Одной из главных особенностей игр от первого лица является то, что в них можно стрелять.
Всё-таки не все игры от первого лица являются шутерами, поэтому:
Одной из главных особенностей шутеров от первого лица является то, что в них можно стрелять.

Цитировать
Поэтому для этого нам нужно добавить оружие для игрока.
Для этого нам нужно добавить игроку оружие.

Цитировать
Много работы ещё нужно сделать, и в этом уроке это выходит за рамки объяснения каждой мелочи, но вот несколько советов, как доработать игру:
Много работы ещё нужно сделать, а объяснение каждой мелочи выходит за рамки этого урока, но вот несколько советов, как доработать игру:

Цитировать
Затем вам, вероятно, нужно немного отрегулировать её положение и вращение, чтобы всё хорошо вписывалось в экран.
Затем вам, вероятно, понадобится немного отрегулировать её положение и вращение, чтобы всё хорошо вписывалось в экран.

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

Цитировать
Например, где-то в сцене установлен объект звук, при попадание в радиус которого, солдат произносит что-то с удивлением.
Например, где-то в сцене установлен объект звук, при попадании в радиус которого, солдат с удивлением что-то произносит.

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 100
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12