본문 바로가기

개발32

[NVIDIA Omniverse] viewport 생성 후 카메라 할당 스크립트viewport = omni.kit.viewport.utility.create_viewport_window("test_viewPort") # 뷰포트에 카메라 설정camera_path = "/World/Camera" #원하는 카메라 경로 입력viewport.viewport_api.camera_path = camera_path실행결과 2024. 12. 19.
[NVIDIA Omniverse] 오브젝트 생성 스크립트 소스코드# 스테이지 가져오기stage = omni.usd.get_context().get_stage()#오브젝트 생성 obj_path = f'/World/Object' # stage 기준 path입력obj = stage.GetPrimAtPath(obj_path) if not obj.IsValid(): obj = UsdGeohttp://m.Sphere.Define(stage, obj_path) # 구체 오브젝트 생성 obj_xform = UsdGeom.Xformable(stage.GetPrimAtPath(obj_path)) obj_xform.AddTranslateOp().Set((0, 0, 0)) # 모든 오브젝트를 원점에 위치Prim(Object)를 새로 생성할 경우, Trans.. 2024. 12. 19.
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. 9. 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. 5. 7.
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. 3. 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. 3. 6.
[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. 8.
[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.