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

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #150 : 30 Июнь 2019, 22:15:37 »
Разный интекрактив можно делать, Ланухумыч. От вот таких интерактивных 3D-клипов https://www.with.in/watch/under-neon-lights/ вебсайтов и презентаций, до игр.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #151 : 30 Июнь 2019, 22:36:59 »

Shoot
(Выстрел)   
Это действие обычно используется совместно с поведением «Игровой актёр» (Game Actor with Health), при стрельбе игрового актёра по другому объекту. Можно указать 3D-объект, который будет использован в качестве bullet (пули) для выстрела, или вообще не использовать пуль.
Кроме того, можно указать узел из которого должен быть произведён выстрел. Обычно, можно оставить настройки по-умолчанию: текущую активную камеру или игрового актёра, и всё должно работать правильно. Но при указании конкретного узла, из которого должен производиться выстрел, имеется два режима: выстрел в лицевом направлении этого узла (плюс дополнительное вращение) или выстрел в направлении, которое указывает активная камера, прикреплённая к этому узлу. Это полезно для создания шутеров от третьего лица.
Свойство ShootPositionDisplacement (Смещение позиции выстрела) позволяет вам указать точное положение относительно центра полигональной сетки 3D-модели, откуда должен быть произведён выстрел.
Поддерживаются следующие параметры:
  • Bullet (Пуля): Определяет один из двух режимов пули:
    • - Directly hit, no bullet (Направленный выстрел без пули): Включает режим мгновенного выстрела без использования пуль.
    • - Use a scene node clone as bullet (Использовать клон узла сцены в качестве пули): Включает режим выстрела пулями, которые  обладают скоростью.
       
  • Damage (Урон): Задаёт урон наносимый другим объектам, при попадании в них выстрела.
  • WeaponRange (Дальность выстрела): Задаёт максимальную дальность выстрела.
  • Shoot from which SceneNode (Произвести выстрел из узла сцены): Производит выстрел из позиции указанного здесь узла сцены.
  • Which SceneNode as Bullet (Узел используемый как пуля): Здесь можно указать узел сцены используемый в качестве пули.
  • BulletSpeed (Скорость пули): Задаёт скорость движения пули.
  • ActionOnImpact (Действие при попадании): Запускает действие при попадании выстрела в другой объект.
  • Shoot to camera target (Выстрел в направлении цели камеры): Производит выстрел в направлении цели камеры.
  • Additional Shoot Rotation (Добавочный поворот выстрела): Добавляет поворот выстрелу относительно изначального.
  • ShootPositionDisplacement (Смещение позиции выстрела): Смещает позицию выстрела относительно центра стреляющего объекта.


Play a sound
(Воспроизвести звук)   
Воспроизводит 2D или 3D-звук.
Поддерживаются следующие параметры:
  • SoundFileName (Имя звукового файла): Указывает имя воспроизводимого звукового файла.
  • Volume (Громкость): Задаёт громкость звука.
  • Looped (Повторяющийся): Включает и отключает повторение звука.
  • PlayAs2D (Воспроизводить как 2D-звук): Если включено, то звук будет воспроизводится как 2D, иначе 3D.
  • 3DRadius (Радиус 3D-звука): Задаёт радиус 3D-звука.
  • 3DPosition (Позиция 3D-звука): Задаёт позицию 3D-звука.Она может быть относительна, если включена опция Relative to SceneNode (Относительно узла сцены).
  • Relative to SceneNode (Относительно узла сцены): Включает относительную позицию 3D-звука.
  • Relative which Scene Node (Относительно какого узла сцены): Здесь можно указать узел сцены, относительно которого будет воспроизводиться 3D-звук.


Stop a sound
(Остановить звук)   
Останавливает определенный звук, который был запущен функцией Play a sound (Воспроизвести звук).
Поддерживаются следующие параметры:
  • SoundFileName (Имя звукового файла): Указывает имя останавливаемого звукового файла.


Stop all sounds
(Остановить все звуки)   Останавливает все воспроизводимые в данный момент звуки.


Restart behaviors of a scene node
(Перезапустить поведения узла сцены)   
Перезапускает поведение узла сцены. Например, может использоваться для перезапуска анимации текстуры узла сцены. Работает только с определенным поведением, таким как поведение Animate a texture (Анимиацмя текстуры).
Поддерживаются следующие параметры:
  • Change which Scene Node (Узел сцены): Определяет, у какого узла сцены надо перазапустить поведение. Выберите текущий узел сцены <the current scene node> или любой другой <select>.


Clone a scene node
(Клонировать узел сцены)   
Создает копию существующего узла сцены. Например, чтобы динамически создавать врагов для игрока, вы можете создать невидимый вражеский объект и использовать его в качестве шаблона для создания нескольких его копий в случайных позициях во время игры. Другой пример: вы можете создать копии предварительно созданной невидимой системы частиц для демонстрации взрывов при попадании пули в определенный объект или стену.
Действие так же дает возможность мгновенно выполнить другие действия над созданным клоном. Например, вы можете использовать эту возможность для мгновенного перемещения клона в другую позицию. Для этого используйте <the current scene node> (Текущий узел сцены) в качестве узла в дополнительном действии перемещения.


Обратите внимание, что если исходный узел сцены имеет в своих действиях и поведениях ссылки на самого себя, то ссылки в действиях и поведениях клона будут изменены ссылками на клон.
Поддерживаются следующие параметры:
  • Clone which Scene Node (Узел сцены): Определяет, какой узел сцены надо клонировать. Выберите текущий узел сцены <the current scene node> или любой другой <select>.
  • Action to do with clone (Действие, которое необходимо выполнить при клонировании): Задаёт действие или список действий, выполняемых при клонировании.


Delete a scene node
(Удалить узел сцены)   
Удаляет объект из сцены навсегда.
Поддерживаются следующие параметры:
  • Change which Scene Node (Узел сцены): Определяет, какой узел сцены нужно удалить. Выберите текущий узел сцены <the current scene node> или любой другой <select>.
  • Time until Deletion (ms) (Время до удаления в миллисекундах): Соответственно, время от активации действия до удаления указанного узла сцены, заданное в миллисекундах.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #152 : 01 Июль 2019, 18:24:34 »
Samovar, некоторое время не смогу тебе помогать с переводом, нахожусь в отпуске без доступа к компу.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #153 : 01 Июль 2019, 18:28:48 »
Цитировать
Samovar, некоторое время не смогу тебе помогать с переводом, нахожусь в отпуске без доступа к компу.
Понял. Ничего страшного. Приятного отдыха! Потом поправлю, когда сможешь указать на ошибки.

Change 2D Overlay Text
(Изменить текст 2D-наложения)   
Устанавливает текст 2D-наложения. При желании, можно также напечатать значения переменных с помощью вставки имени переменной, окруженной символом "$". Например, чтобы отобразить текст переменной с именем "score" после произвольного текста в 2D-наложении, напишите в поле значения Value этот текст без кавычек: "Ваши очки: $score$". Для отображения здоровья игрового актёра используйте, например, "Здоровье: $#player1.health$", где "player1" - это имя объекта игрового актёра со здоровьем. Смотрите раздел Специальные переменные.
Поддерживаются следующие параметры:
  • Change which Overlay (Узел 2D-наложения сцены): Определяет, для какого узла 2D-наложения в сцене нужно изменить текст. Выберите текущий узел сцены <the current scene node> или любой другой <select>.
  • Text (Текст): Устанавливает текст 2D-наложения.


Set or change a Variable
(Создать или изменить переменную)   
Устанавливает или изменяет значение глобальной переменной. Переменные могут быть использованы для повышения интерактивности вашего приложения. Они могут быть числовыми значениями или строковыми (текстовыми) и влиять на работу вашего приложения. Например, с помощью действия If variable has a value do something (Если переменная имеет значение, то сделать что либо), либо могут выводиться на экран с помощью действия Change 2D Overlay Text (Изменить текст 2D-наложения).
Поддерживаются следующие параметры:
  • VariableName (Имя переменной): Задаёт имя переменной, например, "score" (очки).
  • Operation (Операция): Указывает, что делать с этой переменной. Доступны операции: Set (=) (Присвоить), Add (+) (Добавить), Substract (-) (Вычесть), Divide (/) (Разделить), Divide integer (int(/)) (Целочисленное деление), Multiply (*) (Умножить) и Multiply integer (int(*)) (Целочисленное умножение).
  • ValueType (Тип значения): Может быть установлен как Value (Значение) или Variable (Переменная). Если установлено значение Value (Значение), текст, введенный в поле ниже Value (Значение), должен быть числовым значением, например 1. Это число будет использоваться для изменения вашей переменной. Если установлено значение Variable (Переменная), текст в поле Value (Значение) должен содержать имя другой переменной, которая будет использоваться для изменения вашей переменной.
  • Value (Значение): Числовое значение или переменная, в зависимости от типа, указанного в поле ValueType (Тип значения).
Также доступны специальные переменные для быстрого доступа к данным в текущей сцене. Имена этих переменных выглядят так: #имя.атрибут. Используйте, например, #player1.health для получения или изменения переменной, хранящей здоровье объекта, в поведении игрового актёра узла сцены с именем 'player1'. Смотрите раздел Специальные переменные.


If a variable has a value do something
(Если переменная имеет значение, то сделать что либо)   
Условное действие. Выполняет заданное действие, если переменная имеет определенное значение. Доступны операторы: Is equal to (=) (Равно), Is not equal to (<>) (Не равно), Is biiger than (>) (Больше чем) и Is smaller than (<) (Меньше чем). В поле ValueType (Тип значения) может быть задан тип Value (Значение) или Variable (Переменная). Если установлен тип Value (Значение), то текст, введенный в поле ниже Value (Значение), должен представлять собой значение, например 1. Затем это число будет использоваться для сравнения вашей переменной. Если установлено значение Variable (Переменная), то текст в поле ниже Value (Значение) должен содержать имя другой переменной, которая затем будет использоваться для сравнения вашей переменной. Поле Action (Действие) будет выполнено только тогда, когда сравнение истинно.
Поддерживаются следующие параметры:
  • VariableName (Имя переменной): Задаёт имя переменной для сравнения, например, "score" (очки).
  • If (Если): Определяет условие сравнения. Доступны следующие операторы:  Is equal to (=) (Равно), Is not equal to (<>) (Не равно), Is biiger than (>) (Больше чем) и Is smaller than (<) (Меньше чем).
  • ValueType (Тип значения): Определяет тип значения поля Value (Значение) ниже. Доступные типы:  Value (Значение) или Variable (Переменная)
  • Value (Значение): Числовое значение или вторая переменная для сравнения, в зависимости от типа, указанного в поле ValueType (Тип значения).
  • Action (Действие): Действие, которое будет выполнено, если сравнение истинно.
  • Else (Иначе): Действие, которое будет выполнено, если сравнение ложно.


Load or Store a Variable
(Загрузить или сохранить переменную)   
Сохраняет или загружает содержимое переменной на диск или с него. Таким образом, можно создавать простые «savegames» для приложений CopperCube. Это работает для всех целевых платформ и использует реестр (Windows .exe), каталог локальных настроек (Mac OS X), флеш-куки (Flash) или HTML-куки (WebGL). Примечание. Некоторые браузеры, такие как Google Chrome, не поддерживают хранение файлов cookie при запуске HTML-страниц с локального диска. Вам необходимо запустить приложение WebGL с локального веб-сервера, чтобы протестировать эту функцию.
Поддерживаются следующие параметры:
  • VariableName (Имя переменной): Задаёт имя переменной для сохранения или загрузки, например, "score" (очки).
  • Mode (Режим): Определяет режим сохранения (Save Variable) или загрузки (Load Variable) переменной.


Open a website
(Открыть вебстраницу)   
Открывает вебстраницу в браузере. Обратите внимание, что в параметре «URL» необходимо запускать её с http://, иначе это не будет работать.
Поддерживаются следующие параметры:
  • URL: Адрес вебстраницы начинающийся с http://
  • Target: ???


Execute JavaScript
(Запустить JavaScript)   
Выполняет код на JavaScript. С его помощью вы можете получить доступ почти ко всем функциям 3D-сцены. Смотрите Справочник по JavaScript для получения информации о всех поддерживаемых функциях.
Начиная с CopperCube 4.0.4, это действие работает для всех целевых платформ.
Поддерживаются следующие параметры:
  • JavaScript: Текст сценария на JavaScript.


Quit Application
(Выйти из приложения)   
Завершает работу приложения. Очевидно, что работает только при публикации в качестве приложения для Windows или Mac OS X.


Play or stop a video
(Воспроизвести или остановить видео)   
Воспроизводит видео в 2D или 3D. Смотрите раздел Воспроизведение видео.
Поддерживаются следующие параметры:
  • VideoFileName (Имя видеофайла): Путь к видеофайлу.
  • Command (Команда): Одна из команд: Play (Воспроизвести), Pause (Пауза) и Stop (Остановить).
  • Looped (Повторяющийся): Определяет, будет ли воспроизведение видеофайла повторятся или воспроизводится только один раз.
  • Play at which SceneNode (Узел сцены для воспроизведения): Определяет, на каком узле в сцене нужно воспроизвести видеофайл. Выберите текущий узел сцены <the current scene node> или любой другой <select>.
  • MaterialIndex (Индекс материала): Указывает индекс материала объекта, на котором будет воспроизводится видеофайл.
  • ActionOnVideoEnded (Действие при завершении воспроизведения): Определяет действие при завершении воспроизведения видеофайла.
  • AcionOnError (Действие при ошибке воспроизведения): Определяет действие при ошибке воспроизведения видеофайла.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #154 : 01 Июль 2019, 21:44:18 »
Специальные переменные
Имеется несколько специальных переменных для быстрого доступа к данным в текущей сцене при использовании одного из действий, обрабатывающих переменные. Имена этих переменных выглядят так: "#имя.атрибут". Используйте, например, #player1.health для получения или изменения переменной, хранящей здоровье объекта, в подключённом поведении игрового актёра (Game Actor with Health) у узла сцены с именем 'player1'.


Имя переменной
Описание


health   
Переменная здоровья объекта в поведении Game Actor with Health (Игровой актёр со здоровьем). Используйте, например, #player1.health для получения или изменения переменной, хранящей здоровье объекта, в поведении игрового актёра (Game Actor with Health) у узла сцены с именем 'player1'.


movementspeed   
Переменная скорости движения объекта в поведениях: Game Actor with Health (Игровой актёр со здоровьем), Object or Person controlled by keyboard
(Объект или персонаж контролируемый клавиатурой)  или First Person Shooter Style Controlled (Контроллер камеры в стиле шутера от первого лица). Используйте, например, #player1.movementspeed для получения или изменения переменной, хранящей скорость движения объекта при одном из таких подключенном к нему поведений у узла сцены с именем 'player1'.


damage
Переменная урона наносимого объектом, который использует действие Shoot (Выстрел). Используйте, например, #player1.damage для чтения или изменения переменной, хранящей наносимый урон от оружия у объекта с именем 'player1'.


colsmalldistance   
Переменная минимального расстояния (small distance) для столкновения, используемая поведением Collide When Moved (Сталкиваться при перемещении). Имеет очень маленькое значение, например 0,0005. Переменная влияет на то, как эллипсоид перемещается при столкновении с препятствиями. Влияет на плавность движения и трение. Вы можете использовать её для более точной настройки поведения столкновения.
Примечание: Если установлено слишком большое или слишком маленькое значение переменной, то это может привести к застреванию эллипсоида.



Системные переменные: Переменные ниже не являются частью узлов сцены, но всегда привязаны к объекту с именем 'system'. Вы можете получить к ним доступ, используя #system.атрибут, например # system.soundvolume


soundvolume   
Используйте системную переменную #system.soundvolume, чтобы изменить общую громкость всех звуков вашего приложения. Может принимать значения от 0 (без звука) до 100 (полная громкость).


Если вам нужно больше действий, то вы можете скачать их с официального сайта или даже создать свои собственные.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #155 : 07 Июль 2019, 21:51:04 »
Справочник по JavaScript в CopperCube

CopperCube имеет очень простой интерфейс для управления всеми аспектами трехмерной сцены с помощью JavaScript. Для краткого ознакомления смотрите Обзор программирования сценариев (написания скриптов) в CopperCube. Далее перечислены все доступные функции.

Большинство из этих функций манипулируют так называемыми "узлами сцены". Узел сцены - это ни что иное, как трехмерный объект, обладающий позицией, вращением, масштабом, материалами и дочерними элементами. Название «узел сцены» существует потому, что CopperCube использует древовидный граф (менеджер сцены) для отображения сцены.

Обработка узла сцены
ccbCloneSceneNode
ccbGetActiveCamera
ccbSetActiveCamera
ccbGetChildSceneNode
ccbGetRootSceneNode
ccbGetSceneNodeChildCount
ccbGetSceneNodeProperty
ccbSetSceneNodeProperty
ccbGetSceneNodeFromName
ccbGetSceneNodeMaterialCount
ccbGetSceneNodeMaterialProperty
ccbSetSceneNodeMaterialProperty
ccbRemoveSceneNode
ccbSetSceneNodeParent
ccbSetSceneNodePositionWithoutCollision

События
ccbRegisterKeyDownEvent
ccbRegisterKeyUpEvent
ccbRegisterMouseDownEvent
ccbRegisterMouseUpEvent
ccbRegisterOnFrameEvent
ccbUnregisterOnFrameEvent

Рисование
ccbDrawColoredRectangle
ccbDrawTextureRectangle
ccbDrawTextureRectangleWithAlpha

Столкновения
ccbGet3DPosFrom2DPos
ccbGet2DPosFrom3DPos
ccbGetCollisionPointOfWorldWithLine
ccbDoesLineCollideWithBoundingBoxOfSceneNode

Разное
ccbEndProgram
ccbLoadTexture
ccbGetMousePosX
ccbGetMousePosY
ccbGetScreenWidth
ccbGetScreenHeight
ccbSetCloseOnEscapePressed
ccbSetCursorVisible
ccbSwitchToScene
ccbPlaySound
ccbStopSound
ccbGetCopperCubeVariable
ccbSetCopperCubeVariable
ccbReadFileContent
ccbWriteFileContent
ccbGetPlatform
ccbInvokeAction
ccbGetCurrentNode
ccbCleanMemory
ccbSwitchToFullscreen
ccbDoHTTPRequest
ccbCancelHTTPRequest
ccbCreateMaterial
ccbSetShaderConstant
ccbSetPhysicsVelocity
ccbUpdatePhysicsGeometry
ccbAICommand
ccbSteamSetAchievement
ccbSteamResetAchievements
ccbSaveScreenshot
ccbSaveTexture
ccbSwitchToCCBFile
print
system

Только в редакторе
confirm
alert
prompt
editorAddSceneNode
editorFocusPosition
editorGetFileNameFromDialog
editorGetSelectedSceneNode
editorGetSelectedTexture
editorUpdateAllWindows
editorRegisterMenuEntry
editorSetSelectedSceneNode

Редактирование полигональной сетки
ccbGetSceneNodeMeshBufferCount
ccbRemoveMeshBuffer
ccbAddMeshBuffer
ccbGetMeshBufferVertexCount
ccbGetMeshBufferIndexCount
ccbAddMeshBufferIndex
ccbGetMeshBufferIndexValue
ccbSetMeshBufferIndexValue
ccbAddMeshBufferVertex
ccbGetMeshBufferVertexPosition
ccbSetMeshBufferVertexPosition
ccbGetMeshBufferVertexTextureCoord
ccbSetMeshBufferVertexTextureCoord
ccbGetMeshBufferVertexNormal
ccbSetMeshBufferVertexNormal
ccbGetMeshBufferVertexColor
ccbSetMeshBufferVertexColor
ccbUpdateSceneNodeBoundingBox

Другое:

vector3d - класс вектор
Standard Library (основные математические функции, строки, массивы, регулярные выражения и т. д.)

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #156 : 09 Июль 2019, 01:33:58 »
Обработка узла сцены

ccbCloneSceneNode(Узел)

Примечание: Эта функция недоступна в редакторе.
Создает новый узел сцены на основе существующего узла сцены.

Параметр 'Узел' должен быть существующим узлом сцены. Вы можете получить существующий узел сцены с помощью ccbGetSceneNodeFromName()

Возвращает: Новый узел сцены.

Пример:

Код
var sourceNode = ccbGetSceneNodeFromName("myNode");
var newscenenode = ccbCloneSceneNode(sourceNode);

В этом примере будет создана копия существующего узла сцены с именем 'myNode'.


ccbGetActiveCamera()

Примечание: Эта функция недоступна в редакторе.
Возвращает текущую активную камеру сцены.


ccbSetActiveCamera(Узел)

Примечание: Эта функция недоступна в редакторе.
Устанавливает текущую активную камеру в сцене. Параметр 'Узел' должен быть узлом сцены типа камера.


ccbGetChildSceneNode(РодительскийУзелСцены, ИндексДочернегоУзла)

Возвращает дочерний узел родительского узла сцены. ИндексДочернегоУзла должен быть >= 0 и < ccbGetSceneNodeChildCount.

Пример:

Код
var root = ccbGetRootSceneNode();
var count = ccbGetSceneNodeChildCount(root);

for(var i=0; i<count; ++i)
{
 var child = ccbGetChildSceneNode(root, i);
 print("node:" + ccbGetSceneNodeProperty(child, "Name") + "\n");
}
               
В этом примере выводятся имена всех дочерних узлов корневого узла сцены.
 

ccbGetRootSceneNode()

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

Возвращает: корневой узел сцены.


ccbGetSceneNodeChildCount(Узел)

Возвращает количество дочерних элементов узла сцены.

Пример:

Код
var root = ccbGetRootSceneNode();
var count = ccbGetSceneNodeChildCount(root);

print("Scene nodes in the top level of the scene graph:" + count);
Этот пример вернет '2', если в вашей сцене есть два узла сцены.



...

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #157 : 09 Июль 2019, 13:40:47 »
ccbGetSceneNodeProperty(Узел, ИмяСвойства)

Получает значение свойства узла сцены. ИмяСвойства - это имя, отображаемое в левом столбце окна свойств редактора. Возможные имена свойств зависят от типа узла сцены, но обычно такие имена, как 'Name' (Имя), 'Position' (Позиция), 'PositionAbs' (Абсолютная позиция), 'Rotation' (Поворот), 'Scale' (Масштаб), 'Visible' (Видимость), доступны почти у всех типов узлов. Обратите внимание, что имя свойства чувствительно к регистру.
  • Для анимированных узлов сцены доступны такие свойства, как  'Animation' (Анимация), 'Looping' (Повтор), 'FramesPerSecond' (Кадров в секунду), 'AnimationBlending' (Смешивание анимации), и 'BlendTimeMs' (Время смешивания в миллисекундах).
  • Для узлов типа камера доступны такие свойства, как 'Target' (Позиция цели камеры), 'UpVector' (Вектор направления вверх), 'AspectRatio' (Соотношение сторон)  and 'FieldOfView_Degrees' (Угловое поле зрения в градусах).
  • Для узлов 2D-наложения доступны следующие свойства: 'Pos X (percent)' (Позиция по оси X в процентах), 'Pos Y (percent)' (Позиция по оси Y в процентах), 'Width (percent)' (Ширина в процентах), 'Height (percent)' (Высота в процентах), 'Pos X (pixels)' (Позиция по оси X в пикселях), 'Pos Y (pixels)' (Позиция по оси Y в пикселях), 'Width (pixels)' (Ширина в пикселях), 'Height (pixels)'  (Высота в пикселях), 'Alpha' (Альфа-прозрачность), 'Image' (Изображение), 'Background Color' (Цвет фона), 'Draw Text' (Отображать текст), 'TextColor' (Цвет текста), 'Text' (Текст).
  • Для узлов освещения доступны такие свойства, как  'Radius' (Радиус для точечных источников света), 'Color' (Цвет) и  'Direction' (Направление для направленных источников света).
  • Для корневого узла сцены вы можете использовать 'FogColor' (Цвет тумана), 'Realtime Shadows' (чтобы включить / отключить отображение динамических теней), 'AmbientLight' (Окружающий свет) и 'BackgroundColor' (Цвет фона). Также поддерживаются свойства эффектов постобработки: 'Bloom' (Свечение), 'Bloom_BlurIterations' (Количество итераций для размытия свечения), 'Bloom_Treshold' (Порог свечения), 'Black and White' (Черно-белый), 'Invert' (инверсия), 'Blur' (Размытие), 'Blur_Iterations' (Количество итераций для размытия), 'Colorize' (Колоризация), 'Colorize_Color' (Цвет колоризации), 'Vignette' (Виньетка), 'Vignette_Intensity' (Интенсивность виньетки), 'Vignette_RadiusA' (Радиус-A виньетки), 'Vignette_RadiusB' (Радиус-B виньетки).
  • Вы также можете использовать имя свойства 'Type' (Тип узла), которое обычно возвращает что-то вроде "mesh" (Статичная полигональная сетка), "animatedmesh" (Анимированная полигональная сетка), "billboard" (Билборд), "camera" (Камера) , "light" (Источник света), "mobile2dinput" (2D-экран сенсорного ввода), "2doverlay" (2D-наложение), "particlesystem" (Система частиц), "path" (Путь), "sky" (Скайбокс), "sound" (Звук), или "water" (Вода).
Пример:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");

var position = ccbGetSceneNodeProperty(s, "Position");

print("The cube is at " + position);
Если сцена содержит узел сцены с именем  'cubeMesh1', то этот пример печатает что-то вроде: "Куб находится в (-2.15537, -0.751433, -15.6934)"
Также смотрите ccbSetSceneNodeProperty().


ccbSetSceneNodeProperty(Узел, ИмяСвойства, значение)
ccbSetSceneNodeProperty(Узел, ИмяСвойства, x, y, z)
ccbSetSceneNodeProperty(Узел, ИмяСвойства, r, g, b)

Устанавливает значение свойства узла сцены. ИмяСвойства - это имя, отображаемое в левом столбце окна свойств редактора. Возможные имена зависят от типа узла сцены, но почти для всех узлов сцены доступны имена, такие как 'Name' (Имя), 'Position' (Позиция), 'Rotation' (Поворот), 'Scale' (Масштаб) и 'Visible' (Видимость). Обратите внимание, что имя свойства чувствительно к регистру. При настройке вектора вы можете использовать параметры x, y, z или объект vector3d. Для цветов можно использовать одно значение типа int (целое) или три значения RGB, например 255,128,0.
  • Для анимированных узлов сцены доступны такие свойства, как  'Animation' (Анимация), 'Looping' (Повтор), 'FramesPerSecond' (Кадров в секунду), 'AnimationBlending' (Смешивание анимации), и 'BlendTimeMs' (Время смешивания в миллисекундах).
  • Для узлов типа камера доступны такие свойства, как 'Target' (Позиция цели камеры), 'UpVector' (Вектор направления вверх), 'AspectRatio' (Соотношение сторон)  and 'FieldOfView_Degrees' (Угловое поле зрения в градусах).
  • Для узлов 2D-наложения доступны следующие свойства: 'Pos X (percent)' (Позиция по оси X в процентах), 'Pos Y (percent)' (Позиция по оси Y в процентах), 'Width (percent)' (Ширина в процентах), 'Height (percent)' (Высота в процентах), 'Pos X (pixels)' (Позиция по оси X в пикселях), 'Pos Y (pixels)' (Позиция по оси Y в пикселях), 'Width (pixels)' (Ширина в пикселях), 'Height (pixels)'  (Высота в пикселях), 'Alpha' (Альфа-прозрачность), 'Image' (Изображение), 'Background Color' (Цвет фона), 'Draw Text' (Отображать текст), 'TextColor' (Цвет текста), 'Text' (Текст).
  • Для узлов освещения доступны такие свойства, как  'Radius' (Радиус для точечных источников света), 'Color' (Цвет) и  'Direction' (Направление для направленных источников света).
  • Для корневого узла сцены вы можете использовать 'FogColor' (Цвет тумана), 'Realtime Shadows' (чтобы включить / отключить отображение динамических теней), 'AmbientLight' (Окружающий свет) и 'BackgroundColor' (Цвет фона). Также поддерживаются свойства эффектов постобработки: 'Bloom' (Свечение), 'Bloom_BlurIterations' (Количество итераций для размытия свечения), 'Bloom_Treshold' (Порог свечения), 'Black and White' (Черно-белый), 'Invert' (инверсия), 'Blur' (Размытие), 'Blur_Iterations' (Количество итераций для размытия), 'Colorize' (Колоризация), 'Colorize_Color' (Цвет колоризации), 'Vignette' (Виньетка), 'Vignette_Intensity' (Интенсивность виньетки), 'Vignette_RadiusA' (Радиус-A виньетки), 'Vignette_RadiusB' (Радиус-B виньетки).
Примеры:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
ccbSetSceneNodeProperty(s, "Visible", false);
Делает узел с именем 'cubeMesh1' невидимым.

Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
ccbSetSceneNodeProperty(s, "Rotation", 20, 90, 0);
Изменяет поворот узла с именем 'cubeMesh1' на (20, 90, 0) градусов
Также смотрите ccbGetSceneNodeProperty().


ccbGetSceneNodeFromName(Имя)

Ищет узел с именем по всему графу сцены. Обратите внимание, что 'Имя' чувствительно к регистру. Если узел найден, то он возвращается функцией, в противном случае возвращается ноль.

Пример:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");

if (s) print("found node.\n");
 else
 print("not found the node.\n")
Ищет узел сцены с именем 'cubeMesh1' и печатает текст.
 

ccbGetSceneNodeMaterialCount(Узел)

Возвращает количество материалов узла сцены.

Пример:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
var n = ccbGetSceneNodeMaterialCount(s);

print("the scene node has " + n + " materials");
Печатает количество материалов в узле сцены с именем 'cubeMesh1'


...

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #158 : 10 Июль 2019, 14:38:43 »
Shoot (Выстрел)
Цитировать
Кроме того, можно указать узел из которого должен быть произведён выстрел.
Кроме того, можно указать узел, из которого должен быть произведён выстрел.

Цитировать
Damage (Урон): Задаёт урон наносимый другим объектам, при попадании в них выстрела.
Damage (Урон): Задаёт урон, наносимый другим объектам, при попадании в них выстрела.

Цитировать
Which SceneNode as Bullet (Узел используемый как пуля): Здесь можно указать узел сцены используемый в качестве пули.
Which SceneNode as Bullet (Узел используемый как пуля): Здесь можно указать узел сцены, используемый в качестве пули.

Play a sound (Воспроизвести звук)  
Цитировать
PlayAs2D (Воспроизводить как 2D-звук): Если включено, то звук будет воспроизводится как 2D, иначе 3D.
PlayAs2D (Воспроизводить как 2D-звук): Если включено, то звук будет воспроизводиться как 2D, иначе 3D.

Цитировать
3DPosition (Позиция 3D-звука): Задаёт позицию 3D-звука.Она может быть относительна, если включена опция Relative to SceneNode (Относительно узла сцены).
3DPosition (Позиция 3D-звука): Задаёт позицию 3D-звука. Она может быть относительна, если включена опция Relative to SceneNode (Относительно узла сцены).

Restart behaviors of a scene node (Перезапустить поведения узла сцены)  
Цитировать
Работает только с определенным поведением, таким как поведение Animate a texture (Анимиацмя текстуры).
Работает только с определенным поведением, таким как поведение Animate a texture (Анимация текстуры).

Set or change a Variable (Создать или изменить переменную)
Цитировать
Они могут быть числовыми значениями или строковыми (текстовыми) и влиять на работу вашего приложения.
Это могут быть числовые или строковые (текстовые) значения, и они могут влиять на работу вашего приложения.
Цитировать
Value (Значение): Числовое значение или переменная, в зависимости от типа, указанного в поле ValueType (Тип значения).
Value (Значение): Числовое значение или имя переменной, в зависимости от типа, указанного в поле ValueType (Тип значения).

If a variable has a value do something (Если переменная имеет значение, то сделать что либо)   
Цитировать
Затем это число будет использоваться для сравнения вашей переменной.
Затем это число будет использоваться для сравнения с вашей переменной.

Цитировать
Если установлено значение Variable (Переменная), то текст в поле ниже Value (Значение) должен содержать имя другой переменной, которая затем будет использоваться для сравнения вашей переменной.
Если установлено значение Variable (Переменная), то текст в поле ниже Value (Значение) должен содержать имя другой переменной, которая затем будет использоваться для сравнения с вашей переменной.

Цитировать
Поле Action (Действие) будет выполнено только тогда, когда сравнение истинно.
Действие, заданное в поле Action (Действие), будет выполнено только тогда, когда результат сравнения - истина.

Open a website (Открыть вебстраницу) 
Цитировать
Обратите внимание, что в параметре «URL» необходимо запускать её с http://, иначе это не будет работать.
С https:// тоже работает.
У меня в режиме Windows не сработало, только в режиме WebGL.

 
Цитировать
URL: Адрес вебстраницы начинающийся с http://
URL: Адрес вебстраницы, начинающийся с http://

Play or stop a video (Воспроизвести или остановить видео)  
Цитировать
Looped (Повторяющийся): Определяет, будет ли воспроизведение видеофайла повторятся или воспроизводится только один раз.
Looped (Повторяющийся): Определяет, будет ли воспроизведение видеофайла повторяться, или он будет воспроизведён только один раз.

Цитировать
MaterialIndex (Индекс материала): Указывает индекс материала объекта, на котором будет воспроизводится видеофайл.
MaterialIndex (Индекс материала): Указывает индекс материала объекта, на котором будет воспроизводиться видеофайл.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Специальные переменные
« Ответ #159 : 10 Июль 2019, 19:46:52 »
Специальные переменные

damage
Цитировать
Переменная урона наносимого объектом, который использует действие Shoot (Выстрел).
Переменная урона, наносимого объектом, который использует действие Shoot (Выстрел).

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Справочник по JavaScript в CopperCube
« Ответ #160 : 10 Июль 2019, 20:19:32 »
Справочник по JavaScript в CopperCube
Цитировать
Название «узел сцены» существует потому, что CopperCube использует древовидный граф (менеджер сцены) для отображения сцены.
Термин «узел сцены» так назван потому, что внутренне для представления сцены CopperCube использует древовидный граф (менеджер сцены).

ccbCloneSceneNode(Узел)
Цитировать
Вы можете получить существующий узел сцены с помощью ccbGetSceneNodeFromName()
Вы можете получить существующий узел сцены с помощью функции ccbGetSceneNodeFromName()

ccbSetActiveCamera(Узел)
Цитировать
Устанавливает текущую активную камеру в сцене.
Устанавливает, какой узел станет текущей активной камерой в сцене.

ccbGetRootSceneNode()
Цитировать
Взгляните на пример в описании ccbGetSceneNodeChildCount.
Взгляните на пример в описании функции ccbGetSceneNodeChildCount.

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #161 : 12 Июль 2019, 17:28:40 »
Поправил. Спасибо, Striver.
Вот это не знаю, что такое, т.к. не шарю в сайтострое:

Open a website
(Открыть вебстраницу)   

Target:  ? ? ?

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #162 : 12 Июль 2019, 20:23:12 »
ccbGetSceneNodeMaterialProperty(Узел, ИндексМатериала, ИмяСвойства)

Возвращает свойство материала узла сцены.
Параметры:
  • Узел: Узел сцены
  • ИндексМатериала: Индекс материала. Должно быть значение большее или равное 0, и меньшее, чем ccbGetSceneNodeMaterialCount().
  • ИмяСвойства: Имя свойства в материале. Может быть 'Type' (Тип материала), 'Texture1' (Текстура 1), 'Texture2' (Текстура 2), 'Lighting' (Динамическое освещение), 'Backfaceculling' (Не рисовать обратные стороны граней). Дополнительно смотрите ccbSetSceneNodeMaterialProperty.
Пример:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
var t = ccbGetSceneNodeMaterialProperty(s, 0, "Texture1");

print("texture of the cube is: " + t);
Печатает имя текстуры нулевого материала в существующем узле сцены с именем 'cubeMesh1'. Печатает нечто вроде "Текстурой куба является: textures/editor_defaults/default_texture.png"


ccbRemoveSceneNode(Узел)

Удаляет узел из сцены. Не работает для корневого узла сцены.

Пример:
Код
ccbRemoveSceneNode( ccbGetSceneNodeFromName("cubeMesh1") );
Удаляет узел сцены с именем 'cubeMesh1', если он существует.


ccbSetSceneNodeParent(Узел, НовыйРодительскийУзел)

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


ccbSetSceneNodeMaterialProperty(Узел, ИндексМатериала, ИмяСвойства, Значение)

Устанавливает свойство материала узла сцены.
Параметры:
  • Узел: Узел сцены.
  • ИндексМатериала: Индекс материала. Должно быть значение большее или равное 0, и меньшее, чем ccbGetSceneNodeMaterialCount().
  • ИмяСвойства: Имя свойства в материале. Может быть: 'Type' (Тип), 'Texture1' (Текстура 1), 'Texture2' (Текстура 2), 'Lighting' (Динамическое освещение), 'Backfaceculling' (Не рисовать обратные стороны граней). Смотрите более подробное описание ниже.
  • Значение: Новое значение свойства материала
Доступные параметры материала:

Имя параметра   
Доступные значения

Type   
"solid", "lightmap", "lightmap_add", "lightmap_m2", "lightmap_m4", "reflection_2layer", "trans_add", "trans_alphach", "trans_reflection_2layer"

Texture1   
Текстура для текстурного слоя 1

Texture2   
Текстура для текстурного слоя 2

Lighting   
Значение true (истина) или false (ложь), чтобы включить или отключить динамическое освещение

Backfaceculling   
Значение true (истина) или false (ложь), чтобы включить или отключить рисование обратных сторон граней


Кроме того, если вы пишете плагин для редактора, доступны некоторые дополнительные свойства: "Type" (Тип), "Ambient" (Цвет окружающего освещения), "Diffuse" (Диффузный цвет), "Emissive" (Цвет излучения), "Specular" (Цвет блика), "Shininess" (Блеск блика), "Param1" (Параметр 1), "Param2" (Параметр 2), "Texture1" (Текстура 1), "Texture2" (Текстура 2), "Texture3" (Текстура 3), "Texture4" (Текстура 4), "Wireframe" (Каркас), "GouraudShading" (Затенение по Гуро), "Lighting" (Динамическое освещение), "ZBuffer" (Z-буфер), "ZWriteEnable" (Запись в Z-буфер), "BackfaceCulling" (Не рисовать обратные стороны граней), FrontfaceCulling" (Не рисовать передние стороны граней), "BilinearFilter" (Билинейная фильтрация), "TrilinearFilter" (Трилинейная фильтрация), "AnisotropicFilter" (Анизотропная фильтрация), "FogEnable" (Включить туман), "NormalizeNormals" (Нормализация нормалей). Более подробную информацию смотрите в разделе Свойства атрибутов и материалов Irrlicht.

Пример 1:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
ccbSetSceneNodeMaterialProperty(s, 0, "Lighting", true);
Включает динамическое освещение для узла с именем 'cubeMesh1'.

Пример 2:
Код
var node = ccbGetSceneNodeFromName("cubeMesh1");
var tex = ccbLoadTexture("example.jpg");
ccbSetSceneNodeMaterialProperty(node, 0, "Texture1", tex);
Загружает текстуру и устанавливает ее в качестве материала для объекта с именем 'cubeMesh1'.


ccbSetSceneNodePositionWithoutCollision(Узел, x, y, z)

Устанавливает новую позицию узла сцены, даже если к нему прикреплено поведение 'Collide When Moved' (Сталкиваться при перемещении). Так что можно перемещать такой узел сквозь стены. Обратите внимание, что вы должны убедиться, что новая позиция узла сцены не находится внутри стены, в противном случае этот узел застрянет.

Пример:
Код
var s = ccbGetSceneNodeFromName("cubeMesh1");
ccbSetSceneNodePositionWithoutCollision(s, -22.097015, 9.848448, -40.738777);
Заставляет узел сцены изменять свою позицию независимо от поведения при столкновении.

Оффлайн Striver

  • Житель
  • недоинженер, полупрограммист
    • http://striver00.ru
Re: CopperCube
« Ответ #163 : 12 Июль 2019, 22:31:04 »
Поправил. Спасибо, Striver.
Вот это не знаю, что такое, т.к. не шарю в сайтострое:

Open a website
(Открыть вебстраницу)   

Target:  ? ? ?
У тега <a ...> (который в HTML, собственно, и формирует ссылки) один из параметров называется target. Этим параметром можно задать, в каком окне или фрейме откроется страница по ссылке. Цитата с сайта-учебника по HTML http://htmlbook.ru:
Цитировать
Описание
По умолчанию, при переходе по ссылке документ открывается в текущем окне или фрейме. При необходимости, это условие может быть изменено атрибутом target тега <a>. В XHTML применение этого атрибута запрещено.

Синтаксис
<a target="имя окна">...</a>
Обязательный атрибут
Нет.

Значения
В качестве значения используется имя окна или фрейма, заданное атрибутом name. Если установлено несуществующее имя, то будет открыто новое окно. В качестве зарезервированных имен используются следующие.

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

Оффлайн Samovar

  • Житель
Re: CopperCube
« Ответ #164 : 12 Июль 2019, 22:33:15 »
Спасибо! Поправлю.

 


Яметрика

* По форуму

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

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

1 (1).png
Скачано: 67
Автор: LEXA ANЭGROWND
blender.png
Скачано: 77
Автор: ipv2007
4.png
Скачано: 99
Автор: hiroyukiss
2.png
Скачано: 121
Автор: hiroyukiss

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