Unreal Engine 4 http://uengine.ru/forum/ |
|
Unreal C++ общие вопросы. http://uengine.ru/forum/viewtopic.php?f=19&t=12369 |
Страница 2 из 8 |
Автор: | RepkaGaming [ 04 дек 2017, 20:22 ] |
Заголовок сообщения: | |
и еще простенький вопросик, я для своей камеры сделал функцию поворота, суть такая что нажимаешь на кнопку и пока она нажата, считывается X ось мыши из инпута и добавляется к yaw в FRotator камеры, так вот когда я нажимаю на кнопку эту кнопку, я меняю курсор и все дела, только курсор продолжает двигаться :/ а я бы хотел что бы он замирал на месте когда я кручу камеру, как заставить курсор замереть? |
Автор: | RepkaGaming [ 05 дек 2017, 05:53 ] |
Заголовок сообщения: | |
и еще вопросик вдогонку, вообще когда курсор слишком близко к персонажу я ему не приказываю бежать к курсору, а приказываю повернуться; Код: GetCharacter()->SetActorRotation(FRotator(GetCharacter()->GetActorRotation().Pitch, UKismetMathLibrary::FindLookAtRotation(characterpoint, targetpoint).Yaw, GetCharacter()->GetActorRotation().Roll)); только получается что персонаж поворачивается мгновенно, как можно реализовать плавный поворот? Я искал в Character подобные функции, но не нашел. Но когда используешь simplemovetolocation, он поворачивается плавно перед тем как побежать к точке, хотелось бы что бы он поворачивался с той же скоростью и через фрейм тик делать не хочется. |
Автор: | Snake [ 06 дек 2017, 08:20 ] |
Заголовок сообщения: | |
Цитата: и через фрейм тик делать не хочется. тикать все равно прийдется, simplemovetolocation работает на тике. откровенно говоря павн класс недоделанный в этом плане... не хватает ассинхронных задач для павна, которорые сами тикают и выполняюся после запуска... об этом по сути этот мой вопрос viewtopic.php?p=56532#p56532 сделать менеджр асинхронных задач ,чтоб задачи одной функцией запускать, и получать с функции последующий вызов при завершении. ну а простое дилетанское решение - интерполировать вращение павна на тике, тоесть тупо ограничить ему скорость вращения. |
Автор: | RepkaGaming [ 06 дек 2017, 12:39 ] |
Заголовок сообщения: | Re: |
Snake писал(а): Цитата: и через фрейм тик делать не хочется. тикать все равно прийдется, simplemovetolocation работает на тике. откровенно говоря павн класс недоделанный в этом плане... не хватает ассинхронных задач для павна, которорые сами тикают и выполняюся после запуска... об этом по сути этот мой вопрос viewtopic.php?p=56532#p56532 сделать менеджр асинхронных задач ,чтоб задачи одной функцией запускать, и получать с функции последующий вызов при завершении. ну а простое дилетанское решение - интерполировать вращение павна на тике, тоесть тупо ограничить ему скорость вращения. Это звучит как-то что мне нужно, а твою таск систему реально привязать к павну и системе навигации? я не очень понимаю как там все работает, но пытаясь найти функции управления им понял что вариантов там не особо много и вообще я не очень понял как там все связанно, не знаешь где прочитать про павн класс на русском? или лучше вообще забить на него и от актора начать? |
Автор: | Snake [ 06 дек 2017, 13:10 ] |
Заголовок сообщения: | |
в исходном коде лучше всего почитать... из небольшого исследования: проще всего сделать латентные функции полностью аналогичные существующим... но у этого способа много ограничений... создать свой класс от FPendingLatentAction засунуть туда уобжект из которого будут читаться условия... и можно будет эти условия переопределять... это в теории, на практике - надо пробовать... а вот сложные варианты я пока не рассматриваю... такие как PawnActios ,сильно сложно для меня пока... но зато там и отдельные асинхронные потоки, и полный контроль всего... сам павн с навигацией не связан... вроде бы, неуверен, за навигацию отвечает АИ контроллер.(?) эпики вобще забили на разработку управления аи и павном... куча всего полезного и недоделанного в исходниках, но использовать стремно так как непонятно когда его от туда выпилят. |
Автор: | RepkaGaming [ 11 дек 2017, 13:29 ] |
Заголовок сообщения: | |
Вопрос назрел, короче пытался я локализацию сделать, но не встроенную через FText, а свою, и первое что я выяснил это то что у меня строки в кавычках с кирилицей вообще не компилируются, это меня не особо смутило конечно, я все равно хотел локализацию из файлов подгружать, хотя я и удивился, так как консольные приложения у меня собираются на ура, ну так значит запилил я пару файлов, написал пару текстов, На русском и на английском, а в итоге с латиницей все окей, а вот кирица это куча вопросиков, я так понимаю это проблемы с кодировкой? Но я понятия не имею как мне ее решить, у меня русский шрифт импортирован, когда в блюпринтах в том же самом виджете в котором обновляется текст из файла пишешь на кирилице, то все нормально отображается, а из .txt нет. |
Автор: | Snake [ 01 янв 2018, 12:48 ] |
Заголовок сообщения: | |
задача: запустить ивент установки "дефолтных значений"(инициализации) в компоненте, из самого компонента. Тоесть добавили компонент, и без дополнительных взоздействий из актора он сам запустил ивент установки значений. все необходимое кроме подходящего ивента вроде как есть... GetOwner() ссылка на актора.(особо больше ничего и не нужно) кто пробовал и какими способами, у кого какой опыт? самая большая проблема получить ивент когда обьект полностью сконструирован, и его владелец полностью сконструирован. PostInitProperties() OnRegister() OnComponentCreated() FObjectInitializer() -пробовал но так себе работает... с разного рода глюками... только если дилей нулевой поставить(отложить инициализацию на 1 фрейм после сработки ивента) тогда более менее... самый частый глюк с переменными на рефы других обьектов, во время сработки ивента они nullptr. пока само надежно это инициализировать компоненты в констракшн скрипте актора... что добавляет лишние зависимые движения при разработке компонентов, такие как при каждом добавлении компонента писать логику его инициализации в акторе , что дико бесит, хочется добавить компонент установить ему переменные и все. |
Автор: | Snake [ 16 янв 2018, 13:47 ] |
Заголовок сообщения: | |
продолжу я свои глупые вопросы: есть два класса скажем Код: #include "B.h" class A { B*varB=nullptr; }; #include "A.h" class B { A*varA=nullptr; }; каждый из которых содержит переменную указатель на другой класс... можно ли с хедерами решить вопрос чтоб не было : LogCompile : error : Circular dependency detected for filename ...бла... бла... ??? |
Автор: | Snake [ 16 янв 2018, 15:03 ] |
Заголовок сообщения: | |
хм... https://ru.wikipedia.org/wiki/%D0%9F%D1 ... 0%B8%D0%B5 и это помогло :) |
Автор: | Maxonyx [ 17 янв 2018, 03:13 ] |
Заголовок сообщения: | |
добавь class перед переменной что бы компилятор понял что это класс. |
Страница 2 из 8 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |