[Unity] 이론적 기초 학습

4491 단어 Unity

Unity 기반


지금까지 유니티를 부분적으로 사용했지만 매번 사용법을 알아봐야 하는데...이렇게 하는 목적은 기초를 잘 닦고 어떻게 해야 할지 생각해 보는 것이다.
(참고)세계야, 이게 진짜 유닛 강좌야.

유니티


게임 엔진 개요

  • 3D/2D 드로잉=> 비주얼
  • 소리 재현 = 청각
  • 사용자 인터페이스 => 터치(인터랙티브)
  • 멀티플랫폼 => 다양한 사용자 허용
  • 데이터 관리/생성 툴=> 간편함
  • 프로그래밍 가능 => 다양성
  • 인간과 교류해야 게임이 성립된다.
    유닛이 이걸 쉽게 만들 수 있다니 대단하다

    유닛에서 게임을 만들 거예요.

  • Unity의 객체 구조 및 제작 방법(Editor)
  • 드로잉 시스템(3D/2D)
  • 프로그래밍 기술(디자인/언어)
  • focus Unity의 객체 구조 및 제작 방법
    게임 센 것 같아.
  • 뭐가 있어
  • 다른 사람이 그걸 받아들이는 거
  • 사실 듣는 것도 있지만 잠시 무시
  • 사람이 뭘 하면 (화면을 만지면)
  • 말하지 않겠다는 것도 말하지 않겠다는 것도 아니고 잠시 무시할 뿐
  • 물체 변화
  • 이러한 절차는 어떤 규칙에 따라 반복적으로 진행된다

    ◆무슨 일이 있었는지


    기본적으로 유니티는'물건으로 존재하는 물건을 게임Object로 바꿔서 고려하는 것'이다.예를 들어 게임의 캐릭터와 보물상자.
    상대방이 어떤 행동을 하게 하는 게 컴포넌트냐는 생각들이다.예를 들면, 어떻게 보고, 어떻게 움직이고, 건드리면 무슨 일이 일어날지.

    (Prefab 같은 뜻은 전혀 몰라서 그랬구나!)
    예를 들어 보물상자를 감안하면 보물상자 자체가 Prefab에 준비되어 있는데 Component를 바꾸면 동작을 바꿀 수 있을까
    게임Object 자체도 친자관계를 맺을 수 있다. 즉, 주요 (부모의) 대상에 부속 대상을 추가할 수 있다는 것이다.

    ◆사람들이 그걸 본다


    게임Object를 함께 배치한 공간은 게임Object에 첨부된 카메라로 캡처(축소/가리)해 원하는 부분을 보여주고, 화면을 통해 보면 2D, VR 등이면 3D로 바뀐다.
    카메라는 여러 개를 만들 수 있는데 게임Object에 표시됩니다...그럴 수도 있어.

    ◆ 사람들이 뭘 하는지

  • 터치 화면
  • 터치 화면은 2D 대상을 터치하기 때문에 터치한 위치를 3D 공간의 어딘가로 전환해야 한다
  • 이른바 역투시 변환
  • 유니티에서 레이는 빛을 뛰어넘어 연장선에 물체가 있는지 판단한다. 레이와 충돌하기 위해서는 콜리다드 컴퍼니가 필요하다
  • 갑작스럽지만 앞으로 전문용어가 많아질 테니 3D의 기초 전제지식을 확인해 보세요.3D 드로잉은 대체로 다음과 같습니다.
    3次元の座標上の点を結んだ線で表現した面をたくさん集めて、
    その面に絵を貼り付ける付ける事で、
    立体的な形と絵柄を表現している。
    
    여기
    3次元の座標上の点=頂点(バーテックス)
    頂点の集まりの最小単位=ポリゴン(だいたい三角形)
    ポリゴンの集まり=メッシュ
    メッシュを物体として意味のある形にしたもの=モデル
    メッシュに貼り付ける絵=テクスチャ
    メッシュのどこにテクスチャのどこを対応させるか=UV マップ
    どういう光がどっちにさしているのか=ライティング
    メッシュとかテクスチャとかライティングを元にどう描画するかを決めるもの=シェーダー
    テクスチャとシェーダーに関する設定をひとまとめにしたもの=マテリアル
    
    똑똑히 설명해서 깜짝 놀랐어요.

    ◆사물의 변화

  • 도대체 무슨 도안과 형상이야
  • 어떤 빛이 들어오고 어떻게 반사되는지
  • 회전, 위치, 크기(rotate/translate/scale)
  • 사고의 요소는 상응하는 것이다.
    어떤 그림인가요?
    絵柄を変える
        テクスチャを変える
            そもそも差し換える
            UV マッピングを変える
        シェーダーで描画の仕方を変える(フラグメントシェーダー)
            柄は一緒なんだけど色を変えるとか
    形を変える
        アニメーションでモデルの形を変える
            いわゆるボーンアニメーション
        シェーダーでモデルの形を変える(バーテックスシェーダー)
            モデルを形作るポリゴンの形自体を変える
    
    빛이 어떻게 들어와서 반사되는지.
    どういう光が、どう射して
        種類(向く方向と範囲)
            ディレクショナルライト
            ポイントライト
            スポットライト
            エリアライト
        光源の位置
        光の強さ
        光の色
    どう反射しているのか
        シェーダーの計算式を変える
        シェーダーに与える値を変える
            ノーマルマップを変える
            バンプマップを変える
    
    위치, 크기, 회전
    Transform コンポーネントの値を変更する
        物理エンジンに任せる
            重さや弾性係数、摩擦係数などのパラメータを指定しておくとよしなに動かしてくれる
        アニメーションエンジンに任せる
            ルートモーションという仕組みで、3D オブジェクトのアニメーションに Transform 情報を更新させる事ができる
        自前で Transform の情報をプログラムから変更する
            特殊な動きをさせたい時や動的に生成したオブジェクトなど
    
    이거よしなに動かしてくれる가 게임 엔진의 강점이라고 생각해요.

    규칙을 따르다.


    두 번이나 했으니까 중요한 일이야GameObject がどう振る舞うのかを定義するのは Component즉, 게임 공간을 바꾸려면 Component에 써야 한다. 지금까지는 알 것 같지만 잘 모르겠다. 역시 Unity도 이렇게 차원 구조로 만들어졌다.
    대상을 대상으로 하는 것은 말할 것도 없지만 최근에 저는''와'css'등 계층 구조에서Component를 구분하는 문법을 배웠습니다. 이것은 계층 구조가 매우 중요하게 변했다는 것을 실감했습니다.
    Component 기술
  • Unity는 가변 프레임의 실시간 처리(뭐라고 해야 하지? 63;)
  • 이른바 실시간 처리
  • 필요할 때 언제든지 계산하여 화면에 반영
  • 대부분의 프레임 레이트는 30 또는 60(30FPS, 60FPS)
  • 사용
  • 이른바 가변 프레임
  • 업데이트 기간이 항상 일정한 것은 아니다
  • frame Rate=30의 경우같은 느낌으로30번업데이트되지 않는다.
  • 그렇다면 이런 느낌은 어떻게 결정될까
  • 얼마나 바뀌었는지, 바뀌기 전에 갱신하지 않음
  • 변화하는 양을 매번(매번이 아니라고 생각한다) 변화시키면 프레임 레이트의 간격도 반드시 변화한다
  • 초당 30회~60회 업데이트되는 아주 작은 단위로'변화'하는 거죠.유니티는 내부적으로'이제 업데이트를 시작합니다. 무언가를 바꾸려면 바꿔주세요'라는 타이밍을 마련했고, 전달하는 단계에서 스스로 바뀔 양을 결정하는데 이때'지난 업데이트부터 얼마나 시간이 걸렸는지'라는 메시지 타임을 사용했다.델타 타임입니다.예를 들어 1초에 1m를 움직이면 0.1초에 10cm를 움직인다.이 경우 0.1초는 Time입니다.델타 타임에서 얻을 수 있다는 얘기지.
  • Update=프레임 업데이트 처리 실행 중 호출됨
  • LateUpdate = Update 실행 후 호출됨
  • FixedUpdate=일정시간마다부르기
  • 처리를 이런 시기에 교묘하게 나누어 목적 처리를 실행하다.
    한 마디로 하면 이론 부분은 여기서 한 단락을 짓는다. 딱 봐도 간단하다. 아무래도 좀 좋지 않다!!

    좋은 웹페이지 즐겨찾기