![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
Собственно по UE4 :)21.02.2017, 14:39. Показов 2027. Ответов 17
Метки нет Все метки)
(
Пытаюсь сейчас учить С++ и работать в UE4 - так вот, созрел такой вопрос.
Ведь изначально в UE4 есть уже созданная камера, которую можно прикрутить к любому персонажу, но как быть - если ты хочешь сам написать код для камеры? Просто хочется разобраться конкретно во всем: в создании камеры, в создании персонажа и написании кода, который позволит ему ходить, бегать, прыгать, приседать и пр. Так же, привязку как сделать на уровне кода, а не просто перетащив и attach к персонажу. Понимаю, что уже есть готовое все, ну может кто-то об этом задумывался? Например, для того, чтобы персонаж бегал, я думаю, нужно: 1)Создать класс Player, имеющий такие характеристики как скорость и масса( для прыжка?). 2)Как-то привязать к классу модельку, чтобы видеть передвижение персонажа. Это вообще не знаю сделать как) 3)Создать функцию для передвижения и прыжка. Так или что-то еще нужно? А вот как сделать камеру - это мой главный вопрос. Может кто-нибудь знающий подсказать? Просто хочется все по-своему сделать,а не брать готовое - заодно и разберусь) Может конечно и нельзя такое сделать - надеюсь можно Добавлено через 9 минут Я бы посмотрел исходники и почитал как там делается,но не могу найти их. Поэтому подумал,а что если можно свой код создать для чего-нибудь? Понимаю, что слишком многого хочу - может если нельзя - тогда посоветуете что делать, а то как не создам проект, так очень много всего того, что я не понимаю - какие-то .h файлы подключаются везде, а где они сами - не найти и не понять, что у них внутри там - для чего та или иная функция, где хранится всё, благодаря чему персонаж двигается ![]() Добавлено через 2 часа 35 минут Я, как понимаю, существуют некоторые исходники, которые простому пользователю недоступны? И в них есть уже вот эти интересующие меня камера и передвижение персонажа? Где их можно скачать, чтобы посмотреть и разобраться в их коде?
0
|
21.02.2017, 14:39 | |
Ответы с готовыми решениями:
17
UE4 и C++ Как получить компоненты из с++ Как вернуть несколько значений из функции? |
21.02.2017, 15:03 | |||
Добавлено через 3 минуты Проще всего скачать архив с исхониками в два клика: Downloading Unreal as a Zip from GitHub Добавлено через 2 минуты
0
|
![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
21.02.2017, 18:38 [ТС] | |
Скорее всего первое, а потом уже второе) Хочется сделать аналог камере) Как это возможно сделать? И можно поподробнее что такое API? Заранее спасибо, всегда отвечаете на мои вопросы
![]() Добавлено через 7 минут А чем отличается скаченный архив с github от того UE4, который я качал на сайте epicgames? с гитхаба - там полный доступ имеется ко всему?
0
|
21.02.2017, 19:01 | |||
В общем, программисты, которые сделали движок UE4 предоставил другим программистам-скриптерам (пользователям движка) набор классов, методов, объектов и описали все возможности, которые доступны скриптерам в документации. Вот всё что нам предоставили в открытой форме программисты движка и называется API. Если хочется понять, что такое камера и 3D графика, то нужно читать другие книги, где объясняют всё с самого нуля. Что такое матрицы и матричные преобразования. Наилучшее, что я встречал переведённое на русский - вот эта книга.
0
|
![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
21.02.2017, 21:05 [ТС] | |
Спасибо, у меня уже был установленный лаунчер - я через него запускал UE4. А теперь скачал с GitHuba'а.
Я понимаю что рано мне еще собирать движок с нуля)А можно как-нибудь написать свою камеру и внедрить в UE4? Или же придется довольствоваться ихней и учить как она сделана?)
0
|
21.02.2017, 22:34 | ||
0
|
![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
21.02.2017, 23:08 [ТС] | |
Угу, спасибо) Понял, буду тогда пока пользоваться встроенными функциями в движке) Наверное просто стоит разобраться в из коде и всех этих манипуляциях) просто когда читаешь их любой код, то там очень много include'ов всяких .h файлов , то основные коды подключаются к чему-то и сложно понять как на самом деле все реализовано... Наверное я первый, кто такой фигнёй занимается.. все просто принимают это как должное , мол так сделали, значит так надо) А я думаю, как же это все устроено)
Ведь при создании проекта, нужно взять какие-то основы. Для меня это сам мир, камера , персонаж и возможность управлять персонажем. Допустим в коде я напишу что-то, но для того, чтобы вывести на экран нудно знать как работает их API? Например характеристик персонажа - это просто числа ,их не надо выводить, просто делаем их частью класса Персонажа. То есть их увеличение и прочее не требует ничего, ведь они в Персонаже лежат, а вот персонажа надо вывести на экран) Так же и взаимодействие его с окружение - стеной например : Он ведь не должен проходить сквозь нее, то есть нудно придумывать физику, но опять же как ее ввести на экран... Много вопросов, наверное пока пойду разбираться с UE4 документацией и уроками по нему..
0
|
22.02.2017, 00:01 | |||
Добавлено через 4 минуты
0
|
22.02.2017, 00:14 | |
Работа с движком - это как палка о друх концах. С одной стороны вам движок предоставляет богатый набор классов и их открытых методов, а так же различные вспомогательные программы, такие как редактор, настройка материалов, анимаций и многое другое. Но с другой вы ограничены только тем API, которое реализовали программисты движка. При этом они реализовали его максимально гибко, а многие программисты и компании со всего Мира тестируют это API в своих проектах и выявляют ошибки, а разработчики их исправляют и оптимизируют, выпускают новые версии с исправленными ошибками (иногда добавляют новые, которые потом буду выявлены и исправленны). Движок разрабатывается большим количеством людей долгое время, каждый год и каждый месяц, то есть понять всё в детялях, весь его исходный код, наверное, невозможно, так как там, скорее всего, сотни тысяч строк кода. Поэтому разработчики стараются делать встренные иструменты для облегчения работы и делать максимально гибкое и понятное API c максимально подробным описанием.
Добавлено через 2 минуты Вы расплачиваетесь за все удобства движка большим весом приложения, большим требованием к железу, и возможно иногда сложно будет реализовать какие-то очень специфичные вещи, которых ещё нет в движке.
0
|
![]() |
|
22.02.2017, 18:33 | |
И здесь я вам об этом напишу: разберитесь сначала с языком программирования, а потом изучайте движки. Я прекрасно понимаю, каково это, когда руки чешутся начать скорее-скорее делать что-то крутое, но это так не работает.
Вы можете на коленке сваять что-то, едва разобравшись в синтаксисе языка, бездумно надергав из сети примеров кода и слепив их в монолитную функцию main. Но если вы не будете понимать, как работают те куски кода, которые вы берете за основу, то рано или поздно (скорее всего - рано) у вас что-то сломается. И сломается настолько сильно, что вы не сможете в этом разобраться (т.к. не будете в деталях понимать, что и как работает в вашем итоговом коде), а на форуме вам никто не поможет, поскольку разбираться в таком чудовище Франкенштейна никто не захочет. Наберитесь терпения. Первый и самый главный этап - хорошо понять основы языка. Условия, циклы, функции, классы, разделение на файлы, исключения, стандартная библиотека (в первую очередь - контейнеры и алгоритмы STL), наследование, самые основы шаблонов. Когда вы будете довольно уверенно понимать эти и связанные с ними темы и сможете самостоятельно написать, ну например, текстовый морской бой против компьютера (с использованием простых команд типа "D1" для стрельбы по кораблю противника и "1/2/3" для ответа "мимо/ранил/потопил") с простейшим ИИ, с использованием полудесятка прилично спроектированных классов, стандартных контейнеров и файлом main.cpp длиной не более 10-20 строк - тогда можете быть уверены, что готовы продвигаться дальше. Вот только тогда и начнется для вас второй этап - во-первых, более углубленное изучение языка, практик программирования (в т.ч. разных принципов проектирования), во-вторых, использование движков. Конечно, вы можете начать что-то писать в UE прямо сейчас, но это путь в никуда. Когда вы упретесь в непроходимый барьер, вы в лучшем случае поймете, что придется на время отложить попытки идти вперед, вернетесь назад и все-таки начнете разбираться в том, что использовали. В худшем - разочаруетесь в игрострое вообще и программировании в частности, и просто забросите все это дело.
0
|
22.02.2017, 18:56 | |
В случае с UE4 я бы всё-таки рекомендовал бы использовать пока только Blueprint. Так можно с встроенными инструментами UE4 постепенно знакомиться. Blueprint это очень простой визуальный язык и он наиболее популярен среди разработчиков на UE4. По нему очень много туториалов, как на русском, так и на английском - это в отличае от C++ в Unreal. Про C++ в UE4 - это вообще отдельная тема. Это крайне сложно, даже когда у меня был немалый опыт с C++. И это не как с Unity, где можно изучать C# прямо в движке и довольно комфортно. А в UE4 на C++ очень тяжело начать программировать.
0
|
![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
26.02.2017, 11:22 [ТС] | |
Спасибо за ответы. Пока уже осваиваюсь по-немногу) Думаю, что пока буду читать с++ книги. А что посоветуете из практики в создании игр? Прямо только с++ программировать или подключить там графические библиотеки для отображения разного всего? Думаю буду читать с++ , учиться блупринту и писать маленькие игры в visual studio
0
|
26.02.2017, 13:52 | ||
Добавлено через 2 часа 2 минуты Как пример, один человек для тренировки сделал простую игру (змейка в 3D) без движков, используя только C++, OpenGL и WinAPI: Battle Snake. У меня есть в планах портировать её на C#+OpenTK и JavaScript+WebGL
0
|
![]() 4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
|
|
26.02.2017, 16:24 [ТС] | |
Ааа, спасибо, вот вопрос остается еще - то есть просто Visual StudiO И все? Не надо никакие библиотеки подключать графические: OpenGL и другие? В опенГЛ ведь есть вывод на экран изображений, а в с++ я не знаю как окно сделать даже
0
|
26.02.2017, 17:03 | |||
0
|
26.02.2017, 21:16 | ||
Лично я решил использовать C# + OpenGL (библиотека OpenTK) и JavaScript + WebGL. Это всё OpenGL. Мне C# нравится больше, чем C++. Добавлено через 2 часа 36 минут А может лучше даже создать окно на WinAPI и посмотреть, как там на окне можно рисовать, например, с помощью GDI, OpenGL или DirectX. Часто студенты на GLUT создают окна и рисуют на них с помощью OpenGL. Некоторые скачивают Qt. Вариантов масса и все они непростые.
0
|
26.02.2017, 21:16 | |
Помогаю со студенческими работами здесь
18
Не создается проект Аналог Blueprint из UE4 UE4 не создает проект Бесконечная компиляция шейдеров Можно ли сделать 2д квест? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
|
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
|
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
|
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг.
Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя.
Странные серые краски проникают и. . .
|
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|