환영합니다 🤗
-
IFC mesh pyvista 시각화
IFC mesh 모습을 pyvista로 시각화하는 코드는 다음과 같다.import pyvista as pvimport ifcopenshellimport ifcopenshell.geomself.pyvista = pv.Plotter() # 캔버스 정의 self.pyvista.add_axes(line_width=5, labels_off=False) #좌표계 보이게# IFC geometry 설정settings = ifcopenshell.geom.settings()settings.set(settings.USE_WORLD_COORDS, True)shape = ifcopenshell.geom.create_shape(settings, element)mesh = shape.geometryverts = mesh.verts..
2024.09.25
-
[Unity] AR Foundation Depth 거리 값 가져오기 (ARCore)
ARCore에서 Depth API를 통해 Depth Map을 가져올 수 있는 API가 있다.이를 이용하여, 내가 원하는 특정 스크린 좌표의 Depth값을 m 단위로 변환하여 값을 알아보도록 하자.1. AR Occlustion Manager를 통해 Depth map을 받아온다.2. OcclusionManager.TryAcquireEnvironmentDepthCpuImage를 통해 XRCpuImage를 가져온다.3. XRCpuImage.Plane의 데이터(NativeArray Type)에서 내가 터치한 곳의 픽셀의 데이터 값(4개의 byte)을 얻는다.4. 해당 byte값 4개를 가지고, XRCpuImage.format에 따라 거리 값을 가져온다.(convertPixelDataToDistanceInMeter..
2024.05.07
-
Error building Player : Shader error in '~~~' : Couldn't open include file '~~~'
Error building Player : Shader error in '~~~' : Couldn't open include file '~~~' 와 같은 에러가 생겼을 시 해결법 : Library폴더를 삭제하고 재실행 시킨다. - shader 수정 중에 갑자기 이런 에러가 생기면서, 빌드가 불가능한 상태가 되었다. Shader 코드 자체에는 문제가 없었다. 코드 상 문제가 없다고 확신하는데, 에러가 생길 때는 Library폴더에서 무언가가 꼬였을 가능성이 높다. 이런 케이스는 종종 Library폴더 삭제 후 Reimport 시킬 필요가 있다.
2024.03.11
-
stable diffusion SDXL-Turbo 사용하기
https://github.com/Stability-AI/generative-models GitHub - Stability-AI/generative-models: Generative Models by Stability AI Generative Models by Stability AI. Contribute to Stability-AI/generative-models development by creating an account on GitHub. github.com 일단 위 깃허브 repository를 clone해주고, Readme에 있는 설명대로 따라하면 된다. 1. Follow the installation instructions or update the existing environment with ..
2024.03.06
-
[Unity3D] 유니티에 ply파일 불러오기
오늘은 유니티에서 ply확장자 파일을 불러올 수 있는 방법에 대해 알아보려고 합니다. 바로 Unity Gaussian Splatting이라고 하는데요. 어떤 분께서 친히 오픈소스로 올려주신 것을 발견해서 공유합니다. https://github.com/aras-p/UnityGaussianSplatting GitHub - aras-p/UnityGaussianSplatting: Toy Gaussian Splatting visualization in Unity Toy Gaussian Splatting visualization in Unity. Contribute to aras-p/UnityGaussianSplatting development by creating an account on GitHub. githu..
2023.12.22
-
[AI] Stable-Diffusion ComfyUI에서 SDXL-Turbo 모델 사용하기
Stable-Diffuion의 대표적인 UI로는 AUTOMATIC1111과 ComfyUI가 있다. 현재(12월 8일) 기준 AUTOMATIC1111에서 SDXL-Turbo 모델은 공식적으로 지원하지 않고 있기 때문에, 본 포스트에서는 ComfyUI에서 SDXL-Turbo를 사용하는 방법을 다루겠다. AUTOMATIC1111에서 SDXL-Turbo 모델은 여러 설정값을 통해 사용할 수 있으나, 성능이 그다지 좋지 않은 것 같다. GTX 3060 기준으로 512x512 이미지를 생성하는데 15초 정도가 걸린다. ComfyUI는 1초면 생성이 가능해서 거의 실시간 이미지 생성이 가능하다. 1. ComfyUI 설치하기 (참고 사이트) https://github.com/comfyanonymous/ComfyUI#w..
2023.12.08
-
[Unity] Texture 해상도 Resize 및 읽기쓰기 권한 활성화
Texture2D originalTexture = 원하는이미지.sprite.texture; //해상도 1/4로 줄이기(가로 반절, 세로 반절) int newWidth = originalTexture.width / 2; int newHeight = originalTexture.height / 2; //해상도 변경할 텍스쳐 생성 Texture2D resizedTexture = new Texture2D(newWidth, newHeight); //originalTexture resizedTexture로 convert Graphics.ConvertTexture(originalTexture, resizedTexture); //resizedTexture의 읽기 및 쓰기 권한 활성화 resizedTexture.Appl..
2023.11.14
-
[Unity] 부모 자식 간의 OnEnable/OnDisable 관계
위 이미지 같은 부모자식 관계가 있다고 해보겠다. GameObject가 꺼지면 child1, child2의 OnDisable함수가 발동하고, GameObject가 다시 켜지면 child1, child2의 OnEnable함수가 발동한다. 하지만 GameObject가 꺼져있는 상태에서, child1과 child2는 켜져있다고 가정해보자. 그리고 child1과 child2는 Image 컴포넌트를 가지고 있다. 그럼 다음과 같이 child1.activeSelf와 child1.GetComponenet().enabled을 검사하면 값이 어떻게 나올까? 실행시켜보면 모두 true가 나오는걸 확인할 수 있다. 이로 인해, 부모가 OnEnable/OnDisable할 때, 모든 자식의 OnEnable/OnDisable함수..
2023.08.10
-
[Unity] Unity Android 앱 설정창 띄우기
public void ClickSettingButton() { StartCoroutine(OpenAppSetting()); } private IEnumerator OpenAppSetting() { try { using (var unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject currentActivityObject = unityClass.GetStatic("currentActivity")) { string packageName = currentActivityObject.Call("getPackageName"); using (var uriClass = new AndroidJavaClass(..
2023.08.09
-
Unity에서 Android 토스트(Toast) 메세지 사용하기
유니티에서 안드로이드 네이티브 코드를 사용하여 토스트 메세지를 구현하는 코드이다. using UnityEngine.Android; public void ClickToastButton() { ShowToast("토스트 메세지"); } //토스트 메세지 public void ShowToast(string text) { AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject curActivity = unityPlayer.GetStatic("currentActivity"); curActivity.Call("runOnUiThread", new AndroidJavaRunnable(()..
2023.08.09
-
M2MQTT for Unity 비동기 통신(Async-Await)
https://github.com/Eunji-new/M2MqttUnity GitHub - Eunji-new/M2MqttUnity: M2MQTT for Unity_비동기 소켓통신으로 변경_미연결 시, 자동 재연결 M2MQTT for Unity_비동기 소켓통신으로 변경_미연결 시, 자동 재연결. Contribute to Eunji-new/M2MqttUnity development by creating an account on GitHub. github.com 기존 M2MQTT for Unity 오픈소스의 동기프로그래밍 단점을 보완한 버전입니다. 소켓통신을 비동기(BeginConnect)로 변경하였습니다. 이는 비동기 통신으로 소켓 ip 연결 중에 시스템이 정지하지 않고 정상작동합니다. 연결이 끊겼을 경우, ..
2023.05.08
-
[Unity] WebGL 빌드 에러 : BuildFailedException: Incremental Player build failed!
에러의 전문 BuildFailedException: Incremental Player build failed! 더보기 UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at :0) UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs..
2023.04.27
-
[OpenCV For Unity] AR Glass에 OpenCV 기반 Image Tracking 구현
개발 환경 Unity 2020.3.20f1 버전 OpenCV For Unity NReal Light AR Glass(CameraTexture 활용 가능한 AR Glass) OpenCV For Unity에는 WebCam 텍스쳐를 이용하여 특정 이미지를 인식할 수 있는 예제가 존재한다. 이 원리를 이용하여 AR Glass의 카메라를 이용, AR 환경 내에 Image Tracking을 구현해보려고 한다. 우선 NReal을 사용하여 NReal SDK의 NRRGBCamTexture를 WebCamTexture 대신으로 설정하였다. 다른 AR Glass를 이용하더라도 우선 CamTexture를 가져올 수 있는 라이브러리가 있어야 응용이 가능하다. OpenCV for Unity의 WebCam Texture예제에서는 다..
2023.04.03
-
[Unity3D] Async-Await를 이용한 비동기 프로그래밍
예제코드 링크 : https://github.com/Eunji-new/async_TestCode_unity GitHub - Eunji-new/async_TestCode_unity: Unity에서 async-await를 이용한 비동기 프로그래밍 예제 Unity에서 async-await를 이용한 비동기 프로그래밍 예제. Contribute to Eunji-new/async_TestCode_unity development by creating an account on GitHub. github.com 참조 링크(참조 내용을 바탕으로 코드를 제작하였습니다.) : https://kangworld.tistory.com/25 [C#] async await 예제 코드 #2 (+ 동기 비동기의 개념) async awai..
2023.02.14
-
[Unity3D] GameObject와 애니메이션의 관계 + animation event 실행 안되는 이슈
Animation.Play() 해당 게임오브젝트가 비활성화되어있으면 Animation이 실행되지않는다. Animation Play 중 게임오브젝트가 비활성화되면 Animation이 중지된다. 해당 게임오브젝트가 다시 활성화될때 Animation의 나머지 부분이 한번에 실행된다. animator의 keepAnimatorControllerStateOnDisable옵션을 이용하면 비활성화시에도 계속 재생이 가능하다. https://docs.unity3d.com/ScriptReference/Animator-keepAnimatorControllerStateOnDisable.html animator.keepAnimatorControllerStateOnDisable = false; Animation Event 실행 ..
2022.10.28
-
Unity VFX Graph 안드로이드에서 사용 불가 이슈
NReal 글라스에서 이펙트 효과를 연출하기 위해 VFX Graph를 사용하여 테스트. 하지만 vertical line 이슈가 생겼다.(무한한 직선으로 보이는 효과) 이유는 다음과 같다. Graphics API가 OpenGLES이기 때문이다. Vulkan을 메인 Graphics API로 사용한다면 문제가 되지않는다. 일부 Unity 모바일 환경에서는 Vulkan을 지원하지않는 경우가 있기때문에 억지로 Vulkan을 사용할 수도 없다. NReal도 Vulkan API를 지원하지 않기때문에 결론적으로 VFX Graph를 사용할 수 없다. Unity 공식 문서의 VFX Graph 필수 요구사항에도 OpenGLES는 적합하지 않다고 나와있다. https://docs.unity3d.com/Packages/com...
2022.09.19
-
Unity 버튼 OnClick 함수 안보이는 현상 해결법
평소와 같이 유니티 버튼 OnClick()에 함수 이벤트를 등록하려고 하였다. 함수가 public으로 되어있는데도 불구하고 OnClick() 목록에 해당 함수가 보이지 않았다. 이를 해결한 방법을 해당 포스트에서 공유해보려고 한다. 1. 함수가 private인지 확인한다. - 함수가 private이라면 목록에 보이지 않는다. private이라면 public으로 바꿔준다. 2. 함수의 파라미터 타입이 enum인지 확인한다. - 파라미터가 enum 타입이여도 보이지 않는다. 3. 함수에 리턴값이 존재하는지 확인한다. - 리턴값이 존재해도 목록에 보이지 않는다. 2번 : 함수의 파라미터 타입이 enum인지 확인한다. 에 대한 해결책 2가지 1. AddListener로 버튼에 이벤트를 할당(람다식이나 deleg..
2022.07.04
-
Missing ‘package’ key attribute on element package at [:arcore_client:] AndroidManifest.xml:30:9-54 해결
유니티 AR 프로젝트 android 플랫폼 빌드 중, 다음과 같은 에러가 발생했다. Missing ‘package’ key attribute on element package at [:arcore_client:] AndroidManifest.xml:30:9-54 해결법은 다음과 같다. 1) Player Settings -> Publish Settings -> Build의 다음 두가지 체크 2) Assets/Plugins/Androld 안 두개의 파일을 볼 수 있을 것이다. 3) 두개의 파일을 메모장으로 열면, 가장 상단에 // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN 라는 주석을 지운다. 4) 그..
2022.02.07
-
Node.JS, Javascript, HTML, PUG 간단 정리
JavaScript 독립적인 언어가 아닌 스크립트 언어 특정 프로그램 안에서만 동작 가능 특히 크롬, 파이어폭스, 사파리, 익스플로러 등 에서만 가능 이런 웹 브라우저가 없으면 사용할 수 없는 단점 따라서 client개발을 위한 용도로만 국한 Node.Js 자바스크립트와는 반대로 node.js는 backend를 다룰 수 있는 도구 터미널 프로그램(윈도우 cmd, mac terminal 등)에서 node를 입력하여 브라우저 없이도 실행할 수 있게 됐다. nodeJS를 사용한 REST 서버를 편리하게 구현하게 해주는 프레임워크로는 Koa, Hapi, express(가장 대중적) express : node.js를 위한 빠르고 개방적이며 간결한 웹 애플리케이션 프레임워크 express 기본 폴더 구조 - htt..
2022.01.14
-
유니티 - 안드로이드 스튜디오 연동
1. export project 체크 2. build 폴더 안에 export 3. 안드로이드 스튜디오 연동 : 다음 포스트를 참고했다. Unity 프로젝트 - Android Studio에 연동하기 (tistory.com) Unity 프로젝트 - Android Studio에 연동하기 연동을 하기전에 먼저 유니티에서 빌드후 export 된 안드로이드 프로젝트를 안드로이드 스튜디오에서 먼저 빌드하고 핸드폰에 실행되는지 확인을 해야한다. 2021.12.13 - [Develope/JAVA] - Unity 프로젝트 brtech.tistory.com 3-1. UnityLibrary의 build.gradle 파일의 defaultConfig 속 ndk의 abiFilters ndk{ abiFilters 'armeabi-v..
2021.12.30