본문 바로가기

programming | development/unity15

Unity AnimationCurve 활용 public AnimationCurve myCurve; public GameObject animationObject; public float duration; void zoomIn() { StartCoroutine(MyAnimation(animationObject, .2f, .5f, duration)); } void ZoomOut() { StartCoroutine(MyAnimation(animationObject, .5f, .2f, duration)); } public IEnumerator MyAnimation(GameObject animationObject, float A, float B, float duration) { float elapsedTime = 0; while (elapsedTime < d.. 2023. 4. 18.
삼각함수로 원 그리기 유니티에서 라이다 디버깅 뷰어용으로 쓸 원그리기삼각함수를 활용하면 된다반지름이 r 일때 길이가 1 인 벡터와 평행하고 길이는 r 배 만큼 증가했으므로 (x , y)는 스칼라 곱셈에 의해 $r\cdot (cos \theta , sin \theta) $가 됨삼각함수 내용 정리 :  https://8trian8.tistory.com/93 [이득우 게임수학] 삼각함수4.1 삼각함수$\theta$ : 한 각이 직각인 삼각형에서 밑변과 빗변의 사이각삼각비 : 직각삼각형을 구성하는 세 변에서 두 변을 뽑아 각각의 비럐관계를 나타낸것사인 Sine $sin\theta$ =$a \over c$코사인 Cos8trian8.tistory.com 유니티 코드public static class TrigonometricFunctio.. 2022. 7. 15.
Unity + Realsense F200 뎁스이미지 표시하기1. Intel® RealSense™ Depth Camera Manager 설치가장 최근 업데이트된 RealsenseSDK 2.0 는 F200를 지원 안함** DCM 설치 후 SDK를 설치https://www.intel.com/content/www/us/en/download/18309/intel-realsense-depth-camera-manager.html2. Realsense 2016 R2 설치R3은 모듈식, R2는 sdk 전체 설치 이므로 R2를 권장2016 R2는 더이상 공홈에서 제공하지 않으므로 아래 다이렉트 링크에서 다운로드Realsense 2016 R2 direct link (좌클릭으로 열기가 안되므로 복사해서 주소창에 넣어야 다운이 가능함)http://registratio.. 2022. 6. 14.
HDRP Raytracing 세팅 1. dx12 그래픽 세팅 Edit > Project Seetings > Player > Other Settings Direct3D12 추가하고 상위로 올리기 2. static batching 체크 해제 Edit > Project Seetings > Player > Other Settings ** 1,2 또는 Windows > Rendering> HDRP Wizard HDRP + DXR 에서 fix 누르기 3. Render Pipeline Asset 설정 새로운 파이프라인 에셋을 생성하여 설정해준다. Edit > Project Seetings > Quality 새로생성한 렌더 파이프라인 에셋 에서 Render부분의 Realtime Raytracing(Preview) 항목을 체크 Quality > HDRP.. 2022. 3. 14.
Unity + OpenCV OpticalFlowPyrLK + Visual Effect Graph 1. WebcamOpticalFlowPyrLK  함수를 쓰기위해서 현재 프레임과 이전프레임이 필요using System;using OpenCvSharp;using UnityEngine;public class WebCam : MonoBehaviour{ public Material mat; WebCamTexture webCamTexture; private OpenCVUnity Convert = new OpenCVUnity(); IplImage prev; IplImage curr; IplImage dst; private Texture2D dstTexture; // 계산 결과를 담을 텍스쳐 public CvPoint2D32f[] cornersPrev; pu.. 2022. 3. 10.
Component Inspector 항목들 General - Random Seed : 이 인스턴스에 사용된 현재 랜덤 시드를 표시하는 정수 필드 - Reseed On Play : Boolean 값으로 설정. Play Event 보낼때 마다 새로운 랜덤 시드를 계산함 Renderer 시각 효과 인스턴스가 조명을 렌더링하고 수신하는 방법을 제어 Proves - Light Probes : 환경광 (Ambient Light) 계산을 위한 Light Probe 제어 - Anchor Override : (Blend Probes) 프로브 샘플링 위치 계산을 위한 transform 정의 - Proxy Volume Override : (Use Proxy Volume) 프로브 샘플링 계산을 위한 Light Probe Proxy volume 정의 Additional.. 2022. 2. 26.
Visual Effect Graph Attributes Attributes 파티클의 색상, 위치, Spawn 시스템이 생성한 파티클 수 등의 시스템의 요소에 연결된 데이터 조각 읽고 쓰기가 가능하며 필요할때만 속성을 저장한다. 쓰기(Write) : Block 사용 ** Update 컨텍스트에서 속성을 쓸때(write) 그 이후의 컨텍스트 (Update 나 Output )에서 속성을 읽을(read)경우에만 시뮬레이션 데이터에 속성이 저장된다. Output 컨텍스트에서 attribute를 쓸 때는 속성을 저장하지 않고 렌더링하는 데만 사용한다. 읽기(Read) : Operator 나 Block 사용 Get Attribute 오퍼레이터 사용하여 데이터를 가져올 수 있다. Set Attribute 블록에서 이전 속성 값에 따라 다른 Composition 모드(Add.. 2022. 2. 25.
Strip Particle System 1. Context Initialize Particle Strip Strip Capacity 스트립 용량 Particle Per Strip Capacity 스트립당 파티클 수 2. Block Increment Strip Index On Start Spawn 컨텍스트의 start 이벤트 트리거될때마다 Strip Index 가 올라간다. stripIndex 는 stop 이벤트가 트리거 되거나 stripIndex 가 Max Strip Count에 도달하면 0을 반환한다. (첫번째 스트립 그룹 인덱스로 돌아감) https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@10.5/manual/Block-IncrementStripInde xOnStart.html#.. 2022. 2. 23.
Unity + OpenCVSharp2 - WebcamTexture 1. OpenCVSharp CvCapture  사용화면이 뒤집혀서 나오는데 원인은 모르겠음 public Material mat; private Texture2D dstTexture; private OpenCVUnity Convert = new OpenCVUnity(); IplImage dst; IplImage capture; private CvCapture cvCapture; CvSize size = new CvSize(640, 480); private void Start() { cvCapture = CvCapture.FromCamera(0); cvCapture.SetCaptureProperty(CaptureProperty.Fram.. 2022. 1. 30.
Unity + OpenCVSharp2 -IplImage를 Texture2D로 변환 1. byte[] 쓰기 byte[] GetRawTextureData() , LoadRawTextureData(byte[] data) public Texture2D srctexture; public Texture2D dstImage; public Material mat; private IplImage src; private CvSize size; private OpenCVMethod Convert; void ConvertImage() { byte[] bytes = srctexture.GetRawTextureData(); size = new CvSize(srctexture.width, srctexture.height); src = IplImage.FromPixelData(size, BitDepth.U8, 4.. 2022. 1. 29.
Unity에서 Firebase쓰기 유니티 셋업https://firebase.google.com/docs/unity/setup Unity 프로젝트에 Firebase 추가  |  Firebase Documentation의견 보내기 Unity 프로젝트에 Firebase 추가 plat_ios plat_android plat_unity Firebase Unity SDK를 활용하여 Unity 게임을 업그레이드 해보세요. Firebase를 Unity 프로젝트에 연결하는 것이 얼마나 간편한지 보여드firebase.google.com 로그 끄기  External Dependancy Manager > Version Handeler > SettingsVerbose Log 체크 해제        구글플레이 연동https://firebase.google.com.. 2022. 1. 6.
Unity + Realsense 1. 연결 USB 3.0 이상 으로 연결해야한다. 2.0 에 연결할 경우 장치관리자에 보면 기타장치에 뜨고 노란색 에러표시로 드라이브가 설치 안됐다고 뜨는데 이유는 모르겠지만 한번 3.0 이상으로 연결하고 나면 2.0으로 연결해도 realsense viewer 에서 인식이 되긴 한다. https://support.intelrealsense.com/hc/en-us/community/posts/360049330053-Intel-RealSense-LiDAR-Camera-L515-Driver-Problem 근데 유니티에서 쓸때는 3.0만 되는것같다. ExternalException: rs2_pipeline_start_with_config 2. 패키지다운 https://github.com/IntelRealSens.. 2021. 11. 17.
Bezier Curve 이용해서 VR 텔레포트 ray 만들기 1. BezierCurve 1.1 Linear Vector3 CalculateLinearBezier(Vector3 p0, Vector3 p1, float t) { return (1 - t) * p0 + t * p1; } 1.2 Quadratic Vector3 CalculateQuadraticBezier(Vector3 p0, Vector3 p1, Vector3 p2, float t) { return (1 - t) * (1 - t) * p0 + 2 * t * p1 * (1 - t) + t * t * p2; } private void DrawLinearCurve() { for (int i = 1; i < point + 1; i++) { float t = i / (float) point; positions[i .. 2021. 11. 1.
Unity Graphics Programing Series https://github.com/IndieVisualLab/UnityGraphicsProgram mingSeries/blob/master/README.md 2021. 8. 14.
유니티 포톤네트워크_Photon view https://www.youtube.com/watch?v=7tjez6oZDlA 2021. 7. 5.