2019년 9월 5일 목요일

국비 교육 : 게임 프로그래밍 098일

98일 차 교육 내용 메모를 옮겨 본다.
게임 엔진 유니티에 대한 강의가 진행됐다.


화면을 클릭한 위치로 오브젝트 날리기
- ray와 출동한 오브젝트를 보고 행동을 취함
- 화면 기준의 Ray 쏘기

    Ray ray = Camera.main.ScreenPointtoRay(Input.mousePosition);
    Vector3 worldDir = ray.direction;
    GameObject.GetComponent<--------->().shoot(worldDir.normalize * 200);

RaycastHit 충돌된 정보
- Raycast : ray에 닿은 것 중 가장 가까운 오브젝트
- Raycastall : ray에 닿은 모든 오브젝트

    var ray = Camera.main.ScreenPointtoRay(Input.mousePosition);

    Raycasthit hit;
    
    if(Physics.Raycast(ray, out hit))
    {
        print(hit.collider.GameObject.name);       // 이름 출력
        print(hit.point);                          // 좌표 출력
    }     


데이터 저장

playerPrefab
- 쉽게 제어된다.
- 저장 타입, 저장량의 한계가 있다.
- PlayerPrefab.Getint("키", 값);  ,  PlayerPrefab.Setint("키", 값);

utf-8
- "\r \n" 과 "\n" 으로 라인을 자를 수 있다.
- 가장 앞쪽 구분 값을 key로 두고, 값을 index 수치로 넣는 방식이 있다.
 Index │ -------- Field --------
     │    Data 
- m_csv = new Dictionary<string, Dictionary<string, object>();
             index      field, data



이처럼 world에서 ray를 이용하는 방법과 데이터 저장과 관련된 내용이 교육되었다.
데이터 저장 중 csv 데이터를 읽는 예제를 제작한 것으로 생각된다.


댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...