본문 바로가기

개발34

NUnit 단위 테스트 속성 [TestFixture] : 테스트용 클래스에 붙임 [SetUp] : 각 테스트 함수 실행 전에 호출됨. 테스트 한개당 한번(ex. 초기화 작업) [Test] 테스트 함수 정의(독립적인 단위 테스트) [TearDown] : 각 테스트 함수 실행 뒤 수행(ex. 리소스 해제, 메모리 정리) [OneTimeSetUp] : 모든 테스트 실행 전에 한번만 실행(ex. 공통 초기화 작업) [OneTimeTearDown] : 모든 테스트 함수 실행이 끝난 후, 한번만 실행(ex. 공통 정리 작업) [Ignore] : 해당 테스트 함수 무시[Ignore("테스트를 임시로 비활성화합니다.")][TestCase] : 테스트함수 매개변수 사용[TestCase(1, 2, 3)][TestCase(-1, -2, -3)]publ.. 2025. 1. 21.
[Nvidia Omniverse] Prim 다루기(생성 및 경로 탐색 등) from pxr import Usd, Sdf, UsdGeom, Gf#xform 정의xform = UsdGeom.Xform.Define(self.stage, Sdf.Path("/World"))#새로운 path 정의test_path = xform.GetPath().AppendPath("Test")#cube 정의cube = UsdGeom.Cube.Define(self.stage, test_path)#prim 가져오기cube_prim = cube.GetPrim()#path 이용 prim 가져오기cube_prim = self.stage.GetPrimAtPath(test_path)#cube xform 속선 정의cube_xform = UsdGeom.Xformable(cube_prim)# 기존의 TranslateOp가.. 2025. 1. 2.
[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 = UsdGeom.Sphere.Define(stage, obj_path) # 구체 오브젝트 생성 obj_xform = UsdGeom.Xformable(stage.GetPrimAtPath(obj_path)) obj_xform.AddTranslateOp().Set((0, 0, 0)) # 모든 오브젝트를 원점에 위치Prim(Object)를 새로 생성할 경우, Transform 의 .. 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.