Можете помочь? При компиляции кода в Unreal Engune 4.27 выходит ошибка:
Строками 9 и 18 являются:
USystemFunctionLibrary::AsyncLevelLoadFinished;
USystemFunctionLibrary::AsyncLevelLoadSystem;
Код:…
2 145
0
7
9 месяцев назад
0
Немного переработал код, теперь всё работает.
#pragma once

#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "SystemPlayerController.generated.h"

UCLASS()
class IFIRIMAL_API ASystemPlayerController : public APlayerController
{
	GENERATED_BODY()
public:
			UFUNCTION(BlueprintCallable, Category = SystemPlayer)
			void AsyncLevelLoadSystem();
			void AsyncLevelLoadFinished();
public:
			UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = SystemPlayer)
			TArray<FString> LevelsNameArray;
public:
			UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = SystemPlayer)
			FString Path;
			int Index;
};
#include "SystemPlayerController.h"
#include "UObject/UObjectGlobals.h"
#include "Kismet/GameplayStatics.h"

void ASystemPlayerController::AsyncLevelLoadSystem()
{
	if (LevelsNameArray[Index].IsEmpty())
	{
		ASystemPlayerController::AsyncLevelLoadFinished();
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("All Levels Load End"));
	}
	else
	{
		LoadPackageAsync(Path + LevelsNameArray[Index],
			FLoadPackageAsyncDelegate::CreateLambda([=](const FName& PackageName, UPackage* LoadedPackage, EAsyncLoadingResult::Type Result)
				{
					if (Result == EAsyncLoadingResult::Succeeded)
					{
						GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Level Load End"));
						ASystemPlayerController::AsyncLevelLoadSystem();
					}
				}
			),
			PKG_ContainsMap);
		Index++;
	}
}

void ASystemPlayerController::AsyncLevelLoadFinished()
{
	UGameplayStatics::OpenLevel(this, "MainLevel");
	GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Open MainLevel"));
}
0
7
9 месяцев назад
0
Нашел в чем причина ошибки, просто перед USystemFunctionLibrary необходимо было поставить &.
Однако при выполнении кода функций AsyncLevelLoadSystem и AsyncLevelLoadFinished не вызываются. Кто-то может подсказать в чем причина?
#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "SFunctionLibrary.generated.h"

UCLASS()
class IFIRIMAL_API USFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:
	UFUNCTION(BlueprintCallable)
	static void AsyncLevelLoadSystem(TArray<FString> LevelName, const FString& LevelPath, int ArrIndex);
	void AsyncLevelLoadFinished();
};
#include "SFunctionLibrary.h"
#include "UObject/UObjectGlobals.h"
#include "Kismet/GameplayStatics.h"

void USFunctionLibrary::AsyncLevelLoadSystem(TArray<FString> LevelName, const FString& LevelPath, int ArrIndex)
{
	if (LevelName[ArrIndex].IsEmpty())
	{
		&USFunctionLibrary::AsyncLevelLoadFinished;
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("All Levels Load End"));
	}
	else
	{
		LoadPackageAsync(LevelPath + LevelName[ArrIndex],
			FLoadPackageAsyncDelegate::CreateLambda([=](const FName& PackageName, UPackage* LoadedPackage, EAsyncLoadingResult::Type Result)
				{
					if (Result == EAsyncLoadingResult::Succeeded)
					{
						GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Level Load End"));
						&USFunctionLibrary::AsyncLevelLoadFinished;
					}
				}
			),
			PKG_ContainsMap);
		ArrIndex++;
	}
}

void USFunctionLibrary::AsyncLevelLoadFinished()
{
	UGameplayStatics::OpenLevel(this, "MainLevel");
	GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Open MainLevel"));
}
Как сделать отображение на предмете курсора по центру экрана во время наведения камеры на него. И самое главное-как заставить исчезнуть этот курсор при отведении камеры. Помогите пожалуйста. Мозг кипит))
1 143
0
31
10 месяцев назад
0
Не пользуюсь UE, т.ч. мои слова будут максимально общими.
Вот нагуглил две ссылки:
Собственно создаешь RayCast (наверняка такое есть в UE или оно там просто как-то по-другому называется)
Проверяешь коллизию с объектом.
Если луч задел предмет, то устанавливаем положение курсора в центр экрана (задать X, Y как половину ширины и высоты экрана), и отображаем курсор.
Если луч не задевает предмет, то скрываем курсор.
Статья в основном посвящена прекрасному фреймворку со всей основой rts
Из коробки он умеет уже фукнционал:
  • Управления камерой
  • Выбор одного или нескольких юнитов передвижение их
  • Постройка здания
  • Атака других юнитов
  • Миникарта
  • Туман войны
  • Мультиплеер
и многое другое. Обо всем есть на странице…
7 956
0
8
10 месяцев назад
0
А как называется хоть фреймворк то? 🤔
там кнопочка с ссылочкой есть, можно нажать получить и сразу на gh перейдешь
но он уже давно не развивается, это грустно конечно(
0
1
10 месяцев назад
0
А как называется хоть фреймворк то? 🤔
0
8
1 год назад
0
Да мне нужен готовый ртс))
если готовый можешь взять этот, там есть пример с корабликами в который можно поиграть и посмотреть

Да мне нужен готовый ртс))
ну вообще на unity будет проще запилить за счет того что там есть плагин для движения юнитов хорошо проработанный на анриале нет такого (может уже есть но когда я искал не было)
0
27
1 год назад
0
Да мне нужен готовый ртс))
0
8
1 год назад
0
И видео

Сыровато. Факты
да не особо можно что то добавить. Вообще спустя долгое время использования фреймворка понял что это хорошие наработки кода, но полностью его интегрировать нет смысла. + по нему нужны либо уроки чтоб обьяснить что да как либо упорство чтоб понять самому) крч не сложный фрейворк но надо поразбираться
О Проекте
Чуток заморозил проект zombie night. С ним все вышло очень сложно, он сильно изменился, и пока я его не готов показать + чуток я устал от него. Поэтому было решено взять перерыв) Поэтому я запилил что то напоминающее ZIV, но на движке unreal engine. Во много опирался на него, когда накидывал. Но по сути…
18 343
0
8
1 год назад
0
Видео недоступно
да я видосы позакрывал, скоро будет более полный видос с механиками уже обновленными. + многое переработал, пока не готов что то показать
0
27
1 год назад
0
Видео недоступно