본문 바로가기

Unity/3d MMORPG5

[Unity] Position ◾ 원래 Transform 찾으려면 GameObject > transfrom 찾았어야 했는데, 너무 많이 쓰다보니 transform 만 쳐도 나옴! ◾ 이동 구현하기 1. 가장 기본적인 방법 (월드 지표 기준이라 Rotation 을 틀었을 경우 따라가지 못함) [SerializeField] float _speed = 10.0f; if (Input.GetKey(KeyCode.W)) transform.position += new Vector3(0.0f, 0.0f, 1.0f) * Time.deltaTime * _speed; if (Input.GetKey(KeyCode.S)) transform.position += new Vector3(0.0f, 0.0f, -1.0f) * Time.deltaTime * _spe.. 2024. 3. 31.
[Unity] Managers 1. GameObject 로 Managers 찾아오기 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { void Start() { GameObject go = GameObject.Find("@Managers"); Managers mg = go.GetComponent(); } void Update() { } } → 게임 오브젝트를 이름으로 찾는거는 별로 좋지 않다. (부하가 굉장히 심함) 2. Managers 만들고 Player 연동하기 using System.Collections; using System.Collections.Generic; usi.. 2024. 3. 30.
[유니티] 3. (Ray 시각화하기) 공부 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class Movement : MonoBehaviour { [SerializeField]Transform target; Ray lastRay; void Start() { } void Update() { if (Input.GetMouseButtonDown(0)) { lastRay = Camera.main.ScreenPointToRay(Input.mousePosition); } Debug.DrawRay(lastRay.origin, lastRay.direction * 100); GetComponent().destinat.. 2024. 3. 27.
[유니티] 2. (Nav Mesh, static, Advanced) 공부 ✳ Nav Mesh 조정 ◾ Navigation (Obsolete) ◾ Nav Mesh Obstacle (내브메시 장애물) ◾ Min Region Area (최소 지역) → 연결되지 않은 작은 내비메시 영역을 제거할 수 있습니다. 표면 영역이 특정 값보다 작은 내비메시 영역은 제거됩니다. ◾ NavMeshModifier (내브메시 장애물) ◾ Static (공전) → On / Off → 끄면 관통하게된다. ◾ Advanced(고급) > Voxel(부피 ,픽셀)Size → 크기를 조절할 수 있다. , 하지만 잘 수정하지 않는다 → Agent Radius 를 조절해서 많이 수정한다. (Manual Voxel Size 를 체크하면 Voxel Size 이 바뀌지 않는다.) 2024. 3. 26.
[유니티] 1. (Target, SerializeField) 공부 ✳ Target 을 찾아 이동 구현 → Nav Mesh Agent 추가 → NavMeshAgent 컴포넌트는 목표를 향해 움직일 때 서로를 피해가는 캐릭터 생성에 유용합니다. → Mover 스크립트 추가하기 → Target 에 만들어둔 Target 집어 넣기 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; // 사용하려면 추가 해야함 public class Mover : MonoBehaviour { [SerializeField] Transform target; void Update() { GetComponent().destination = target.position; } .. 2024. 3. 26.