전체 글(237)
-
[SKKU DT] 78일차 -교통 시뮬레이터(Traffic Simulator) 만들기(4) 완성
타일 맵을 만들고 Segment를 [Ctrl + 좌클릭]으로 만들고 Waypoint를 [Shift + 좌클릭]으로 만든다. Intersection은 교차로에 [Alt + 좌클릭]으로 만든 후 콜라이더를 키워서 교차로를 덮는다. 각 Segment들은 Next Segments로 갈 수 있는 다음 세그먼트를 리스트로 추가한다. 신호등에는 Traffic Light Control 스크립트를 넣고 해당하는 Intersection을 끌어놓고 신호등 규칙에 따라 [Light Group ID]를 설정한다. 대각선 위치의 신호등에 같은 ID를 부여하면 된다. ID는 0은 쓰지 않고 1과 2를 사용해야 한다. 1을 써야 하는 지 2를 써야 하는 지는 밑에 추가로 설명했다. 교차로 전체에 TRAFFIC_LIGHT 타입을 선택..
2024.02.23 -
유니티 태양광패널 디지털 트윈 프로젝트(6) -3D 에셋에 마우스 호버 시 테두리 하이라이트 셰이더 만들기 -> 강조효과로 수정
마우스 호버 시 에셋에 테두리를 만들기 위해서 아래 유튜브를 참고했지만 Flat한 느낌의 에셋에는 잘 적용되지 않았다. https://youtu.be/Bm6Bmcjd1Mw?si=5zrx386lZ-TK8yu7 옆면이 붕 뜨는 느낌. 수정해야 한다. 아래처럼 블룸으로 처리하는 방법도 있을 것 같다. https://youtu.be/BZ1K3JXTlbY?si=BftsczOj_7dDC_XE 프로젝트 시간이 많지는 않기 때문에 일단 아웃라인 셰이더는 포기하고 지역 자체 강조 색을 넣기 위해서 [Graph Inspector]의 [Render Face]를 [Back]에서 [Front]로 바꿨다. 추후 해당 지역에 마우스를 호버 했을 때 색이 강조되고 앞으로 튀어나오는 기능을 구현할 예정이다. (-> 다른 팀원 담당으로..
2024.02.23 -
[SKKU DT] 77일차 -교통 시뮬레이터(Traffic Simulator) 만들기(3)
어제 만들었던 Editor 폴더 안에 스크립트 생성 TrafficHQEditor / TrafficHQEditorGizmo / TrafficHQInspectorEditor / TrafficIntersectionEditor / VehicleSettingEditor TrafficHQEditorGizmo 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using UnityEditor; using System.Linq; public static class TrafficHQEditorGizmo { //화살표를 그린다. 대각선 45도 방향 양쪽 2개 private static void ..
2024.02.22 -
[SKKU DT] 76일차 -교통 시뮬레이터(Traffic Simulator) 만들기(2)
TrafficHeadquarter 자율 주행차가 구간에서 구간을 이동할 때 다음 구간을 검색하기 위한 최소 거리 조절. 웨이포인트 크기 조정 가능 충돌체 레이어 관리 모든 구간을 갖고 있음 모든 교차로 갖고 있음 TrafficSegment 다음에 연결된 구간들 웨이포인트 갖고 있음 특정 위치를 중심으로 세그먼트 안에 있는지 검사 TrafficWaypoint 부모 Segment 스스로 충돌체 제거.(웨이포인트 충돌되면 안된다. 위치만 표시) 리프레쉬 기능 VehicleControl WheelDriveControl 갖고 있음 Headquarter 를 알고 있음 웨이포인트 검색 최소 거리를 갖고 있음 충돌 검출을 위한 Raycast를 갖고 있음.(부채꼴 모양으로 ray를 쏴서 충돌체 검출) 어플리케이션이 실행..
2024.02.21 -
유니티 태양광패널 디지털 트윈 프로젝트(5) -3D 에셋에 마우스 호버 시 정보 출력 기능 만들기
3D 에셋에 마우스를 올려놓았을 때 정보가 출력되거나 테두리 셰이더를 적용하는 기능을 만들어야 한다. 이 기능은 첫 번째 전국 지도 씬에서 3D 지도에 마우스를 올려놓을 때도 쓰이고, 마지막 솔라시도 씬에서 각 A, B, C, D 구역 별에서도 마우스를 올려 놓았을 때 정보 표시에도 사용된다. 먼저, 간단한 테스트를 위해 에셋을 놓고 Box Collider를 감싸서 마우스를 올려놓았을 때 Debug.Log가 출력되는 지 살펴본다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class MouseEnterTest : MonoBehaviour { private void OnMouseEnter() { ..
2024.02.20 -
[SKKU DT] 75일차 -교통 시뮬레이터(Traffic Simulator) 만들기
백터의 내적(dot) Cube 생성 - 기본위치 sphere 생성 - (0, 0, -3) TestScript 생성 using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class TestScript : MonoBehaviour { public TextMeshProUGUI textLabel; public Transform target; // Update is called once per frame void Update() { // 타겟 없이는 동작하지 않습니다. (실무에서도 꼭 주석을 달아준다.) if (target == null) { return; } // cube transform..
2024.02.20