프로그래밍 (299) 썸네일형 리스트형 [UE] UnrealEngine Win64 Installed build 특정 커밋을 기준으로 installed build 생성 fetch source git init git remote add origin https://github.com/EpicGames/UnrealEngine.git git fetch --progress --depth 1 origin $GIT_BRANCH git checkout FETCH_HEAD setup Setup.bat --exclude=Mac --exclude=Win32 Automation Tool 타겟으로 포함할 플랫폼 설정 후 빌드 Engine\Build\BatchFiles\RunUAT.Bat BuildGraph \ -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngin.. [UE] FJsonObjectConverter 를 사용한 json string 변환 언리얼에는 UStruct 를 간단히 문자열과 객체간에 변환할 수 있는 유틸리티를 제공하고 있다. 모듈추가 Build.cs 파일에 json 관련 모듈을 추가한다. PrivateDependencyModuleNames.AddRange( new string[] { . . "Json", "JsonUtilities", . . } ); ustruct 선언 USTRUCT(Atomic, BlueprintType, Category="Sample") struct FMyData { GENERATED_BODY() UPROPERTY(BlueprintReadOnly, DisplayName="Name") FName Name; UPROPERTY(BlueprintReadOnly, DisplayName="Message") FString .. [UE] RunUAT(Unreal Automation Tool) 관련 파라미터 스크립트 위치 Engine/Build/BatchFiles/RunUAT.Bat 빌드 종류 BuildGraph BuildPlugin BuildCookRun BuildGraph : 엔진빌드 BuildPlugin : 플러그인 BuildCookRun : 컨텐츠 엔진빌드는 [UE4] 언리얼 엔진 빌드 (tistory.com) 포스트 참조. 플러그인 빌드 플러그인 위치 -plugin="c:\full_path\plugin.uplugin" .uplugin 파일을 포함한 전체 경로를 입력 타겟 플랫폼 -targetplatforms=Win64+Android 빌드한 플러그인 출력 폴더 -package="c:\output" 플러그인이 생성될 폴더를 입력 예) Engine\Build\BatchFiles\RunUAT.bat Bui.. 안드로이드 Command Line Tools 설치 JAVA sudo apt install openjdk-17-jdk JAVA_HOME export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH="$PATH:$JAVA_HOME/bin” Command Line Tools 아래 안드로이드 다운로드 페이지 하단에서 '명령줄 도구만' 항목에서 해당하는 플랫폼의 바이너리를 다운로드한다. https://developer.android.com/studio?hl=ko 위 사이트에서 버전 확인 후 직접 다운로드 curl -O https://dl.google.com/android/repository/commandlinetools-linux-xxxx_latest.zip 압축 해제 unzip commandlinetools.. [flutter] 특정 값에 따라 Widget 변경 Widget을 업데이트 할 경우 setState(() {}) 를 사용하면 되는데, setState()는 전체 Widget을 초기화하고, build 메쏘드를 호출해 전체 Widget을 다시 생성하게 된다. 특정 Widget만 초기화 하려면 별도의 publisher와 Widget을 사용해야 한다. ValueNotifier 값의 변화를 퍼블리싱하는 객체 ValueNotifier _isSignIn = ValueNotifier(false); ValueListenableBuilder ValueNotifier 의 값이 변경되면 builder 에 정의한 메쏘드가 호출된다. 위의 bool 값에 따라 버튼을 활성화, 비활성화 하는 경우 아래와 같이 구성된다. @override Widget build(BuildContext.. [flutter] Plugin UIView 사용하기 Context 뷰 인스턴스를 저장하기 위한 저장소 클래스 class Context { var sampleView: SampleView? } FlutterPlatformView UIView를 포함하고 있는 FlutterPlatformView 구성 class SampleView: NSObject, FlutterPlatformView { private let id: Int64 private var uiView: UIView init(frame: CGRect, viewIdentifier viewId: Int64, arguments arg: Any?, binaryMessenger messenger: FlutterBinaryMessenger?) { self.id = viewId self.uiView = UIView.. [flutter] iOS plugin 에서 local framework 설정 테스트 환경cocoapods : 1.12.0xcode : 14.2플러그인 ios 네이티브 코드 작성시 로컬 프레임워크인 MyFrameworkA.xcframework 와 MyFrameworkB.xcframework 를 사용하는 경우 아래와 같이 설정한다./my_plugin/ios/ 폴더에 프레임워크 각 프레임워크 복사 /my_plugin/ios/my_plugin.podspec 수정podspec dependency 에서 로컬 프레임워크를 지원하지 않으므로, vendored_frameworks 로 관련 프레임워크들을 묶어 주어야 한다.s.source = { :path => '.' }s.source_files = 'Classes/**/*'s.xcconfig = { 'OTHER_LDFLAGS' => '-frame.. [flutter] 플러그인 프로젝트 구현 절차 플러그인 프로젝트 생성 flutter create --org com.example --template=plugin --platforms=android,ios -i swift my_plugin /pubspec.yaml 인터페이스 만들기 /lib 하위에 dart 클래스를 구성 네이티브 인터페이스 네이티브 인터페이스 클래스 native와 연결될 메쏘드들을 정의할 인터페이스 클래스 생성. abstract class MyPluginPlatform extends PlatformInterface { MyPluginPlatform() : super(token: _token); static final Object _token = Object(); static MyPluginPlatform _instance = MyPlu.. 이전 1 2 3 4 5 ··· 38 다음