본문 바로가기
728x90
프로그래밍 「 게임 개발 편」Unity에서 카메라를 돌리/추적하는 방법 목표: "트랙이 있는 돌리 카메라"란 무엇입니까? "카트가 있는 돌리 트랙"이란 무엇입니까? 두 성능의 차이점은 무엇입니까? 지금까지 살펴본 카메라 외에 시네머신 내부에 있는 다음 두 개의 추가 카메라는 돌리 카메라와 관련된 앞서 이야기한 신체 기능과 유사합니다. 당신은 기사를 확인할 수 있습니다, 가상 카메라의 신체 설정의 고유 유형. 다음 두 대의 추가 카메라는 다음과 같습니다. 트랙이 있는 돌리 카메라 손수레를 가진 돌리 궤도 트랙이 있는 돌리 카메라는 무엇입니까? 버추얼 카메라 내부의 독특한 신체 설정에 대한 기사에서 트랙 돌리에 대해 논의 할 때를 기억한다면, 캡슐 / 플레이어를 따르는 트랙을 만들었습니다. 이 카메라는 우리를 위해 모든 작업을 수행합니다! LookAt과 Body를 캡슐에 할당하.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」순수 C# 클래스(POCO) 작성, 인스턴스화 및 초기화 순수 C# 클래스(POCO/Plain Old C# Objects)는 MonoBehaviour를 상속하지 않습니다. POCO를 프로그램의 청사진으로 생각하십시오. POCO를 만들 때의 큰 이점은 POCO를 초기화하는 방법으로 생성자 (또는 여러 생성자)를 만들 수 있다는 것입니다. MonoBehaviour에서 상속할 때 그렇게 할 수 있지만 예측할 수 없는 일이 발생할 수 있으며 권장하지 않습니다. 또한 게임에 100개 이상의 무기가 있다고 가정해 보겠습니다. 모든 무기에는 무기를 정의하는 공유 변수가 있습니다. 각 무기가 무엇인지 정의하기 위해 100개의 C# 스크립트를 작성하는 대신 원하는 만큼 무기를 만들고 싶은 만큼 복사할 수 있는 하나의 POCO를 작성하는 것이 훨씬 더 합리적입니다. POCO의 .. 2023. 7. 4.
프로그래밍 「 게임 개발 편」타임라인의 캐릭터 애니메이션 목표: 타임라인을 사용하여 캐릭터에 애니메이션 적용 타임라인을 통해 캐릭터를 애니메이션화하는 방법을 설명하겠습니다. 먼저, 지난 글에서 했던 것처럼, 타임라인이라는 빈 갬오브젝트를 만들고, 디렉터 자식을 만들고, 새로운 플레이어블 디렉터를 만들겠습니다. 다음으로, 이를 보여주기 위해 애니메이션 릭을 가져왔습니다. 릭으로 가장 먼저 하고 싶은 일은 리그가 휴머노이드로 설정되어 있는지 확인하는 것이며, 유니티는 메커니즘을 사용하여 제대로 애니메이션되었는지 확인할 수 있습니다. 계속해서 모든 리그를 휴머노이드로 만드십시오. 애니메이션 유형이 일반으로 설정되면 캐릭터는 대부분의 경우 태아 위치로 접히므로 이상적이지 않습니다. 그런 다음 디렉터 게임 오브젝트 아래에 있는 YBot을 자식으로 드래그합니다. 다음으로.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」스케이트보드 컨트롤러 — 제스처 인식 이번 주에는 몇 가지 시각적 개선 사항을 추가하고 플랫 그라운드 스케이트 트릭을 시작하기 위해 아날로그 스틱 제스처 인식을 만드는 작업을 시작했습니다. 이번 주에 중간 프레젠테이션이 있었기 때문에, 애니메이션 상태 시스템에 더 많은 것을 추가하여 엔진에서 촬영한 멋진 모션 캡처를 선보이기로 했습니다! 사용자가 컨트롤러 트리거 중 하나로 시작할 수 있는 두 가지 다른 잡기와 일반적인 움직임 및 점프를 위해 녹화된 밀기, 유휴, 올리 애니메이션을 추가했습니다. 다음은 그 중 일부를 과시하는 비디오입니다! 인디와 멜론이 애니메이션을 잡는 모습을 과시하다 프레젠테이션이 끝난 후 영화 시스템 작업을 시작했습니다. 예전에 아날로그 스틱 움직임을 시각화하기 위해 UI 요소를 만들었기 때문에 게임에서 작업하고 캐릭터에.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」Unity의 베이킹 방법 Unity에서 정적 오브젝트를 사용하고 빛이 반사되도록 하면 많은 메모리를 사용하고 GI에 부담이 될 수 있습니다. 예를 들어 씬의 모든 오브젝트를 정적으로 설정한 경우 Unity는 모든 오브젝트에서 빛이 반사되도록 매우 열심히 노력하므로 프로그램 비용이 매우 많이 듭니다. 게임의 부하를 줄일 수 있는 방법은 빛이 반사되기를 원하는 오브젝트를 선택적으로 결정하는 것입니다. 예를 들어, 모든 것을 정적 오브젝트로 설정하는 대신 바닥만 빛을 반사시키려는 경우 바닥과 천장만 정적으로 설정하고 라이트 프로브를 사용하여 나머지 장면을 비출 수 있습니다. 이 전술을 사용하는 것은 어떤 면에서 GI를 속여 더 적은 정적 개체를 사용하여 장면에 더 많은 빛을 생성하도록 하는 것입니다. 다음으로 논의할 주제는 간접 승수.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」Unity에서 씬 로드 | Unity 개발자 우리는 최근에 우주 슈팅 게임을 위한 게임 오버 스크린을 만들었습니다. 그러나 플레이어가 다시 시도할 수 있도록 게임을 다시 시작하는 방법이 필요합니다. 이 작업은 Unity의 씬 관리를 사용하여 수행할 수 있습니다. 먼저 플레이어가 'R' 키를 눌러 게임을 다시 시작할 수 있는 텍스트 UI 요소를 만듭니다. 게임 화면의 하단 중앙 부분에 고정합니다. 2. 재시작 텍스트에 대한 핸들을 만들고 Unity 인스펙터 뷰에서 부착하여 볼 수 있도록 합니다. 3. UIManager 스크립트에서 게임 오버 시퀀스와 관련된 모든 것을 처리하는 새 메서드를 만듭니다. 이것은 텍스트에 대한 게임, 해당 텍스트에 대한 깜박임 효과 및 다시 시작 텍스트입니다. void GameOverSequence() { _gameOver.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」2D 플랫포머: 게임에서 스프라이트를 뒤집는 방법 목표: 방향을 바꿀 때 캐릭터 스프라이트를 뒤집습니다. 방향을 바꿀 때 캐릭터가 방향을 바꾸고 좌우를 향하게 하려면 스크립트에서 이 작업을 수행해야 합니다. 첫째, 우리가 해야 할 일은 X의 배율을 -1로 변경하는 것뿐이며 반대 방향으로 뒤집힐 것이라는 점을 이해하는 것이 중요합니다. 이제 코드에서 수행해 보겠습니다. 따라서 기본적으로 플레이어가 왼쪽 키를 누르면 vector3이 0보다 작아지고 오른쪽 키를 누르면 왼쪽이 음수이고 오른쪽이 양수이기 때문에 0보다 커집니다. 조건이 충족되면 스프라이트 x.scale이 변경되고 뒤집힙니다. 지금 당장은 이것이 최소한의 것입니다. 성능을 절약하려면 프로그램이 지금처럼 매 프레임마다 이 인스턴스를 실행하지 않도록 bool을 만들고 싶습니다. 또한 SpriteFl.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」RPG를 만들어서 Godot 4를 배워봅시다 — Part 14: 적의 사격과 피해 입히기 플레이어가 우리 게임에서 피해를 입힐 수 있는 유일한 존재라면 공정하지 않을 것입니다. 그것은 그들을 위협없이 압도적 인 깡패로 만들 것입니다. 그렇기 때문에 이 부분에서는 적에게 반격할 수 있는 능력을 부여하고 플레이어에게 실질적인 피해를 줄 수 있습니다! 이 과정은 플레이어에게 사격 및 피해 입히기 능력을 부여할 때 했던 것과 유사합니다. 이번에는 그 반대가 될 것입니다. 이 부분은 시간이 좀 걸릴 수 있으니 편하게 편하게 적군이 될 만한 존재로 만들자! 이 부분에서 배울 내용: · AnimationPlayer 노드를 사용하는 방법 · RayCast2D 노드를 사용하는 방법입니다. · 변조 값으로 작업하는 방법. · 노드를 복사/붙여넣기하고 개체를 복제하는 방법 적 사격 이전에는 적 스크립트에서 아직.. 2023. 7. 4.
프로그래밍 「 자바스크립트 편」JavaScript를 AI에 사용할 수 있습니까? 일반적으로 웹 언어로 알려진 JavaScript는 프로그래밍 세계의 강자가 되었습니다. 주로 웹 개발에 사용되지만 인공 지능에 활용할 수 있습니까? 짧은 대답은 '예'입니다! 그러나 자세히 살펴 보겠습니다. 인공 지능은 기계 학습, 자연어 처리, 컴퓨터 비전 등을 포함한 광범위한 기술과 알고리즘을 포함합니다. 전통적으로 Python 또는 R과 같은 언어는 광범위한 라이브러리와 프레임워크로 인해 AI 개발에 선호되었습니다. 그러나 JavaScript가 따라 잡고 있습니다. 더 잘 이해하는 데 도움이 될 몇 가지 핵심 지침을 언급하겠습니다. TensorFlow.js 및 Brain.js과 같은 라이브러리를 사용하면 개발자가 JavaScript에서 직접 기계 학습 작업을 수행할 수 있습니다. TensorFlow.. 2023. 7. 4.
프로그래밍 「 게임 개발 편」Unity에서 레벨 디자인 마무리 유니티는 Unity의 마법 같은 레벨 디자인 세계를 함께 활용했습니다. 유니티는 Unity에서 레벨 디자인이 작동하는 방식과 URP(유니버설 렌더링 파이프라인) 및 HDRP(고해상도 렌더링 파이프라인)를 사용한 포스트 프로세싱 기술을 완전히 이해하기 위해 여러 단계와 기술을 거쳤습니다. 환경 톤을 만드는 것은 비디오 게임과 세계를 만드는 데 중요한 측면입니다. URP와 HDRP를 사용하면 이러한 가상 세계에 생명을 불어넣을 수 있습니다. 우리의 모험을 통해 우리는 조명에 대한 중요한 지식과 프로그램 메모리의 부하를 줄이는 방법을 실행했습니다. 이를 통해 베이크된 실시간 라이팅을 사용하고 라이트 및 반사 프로브를 사용하여 라이팅을 더욱 확장함으로써 효율적인 게임 경험을 제공할 수 있었습니다. 또한 안개를 .. 2023. 7. 4.
프로그래밍 「 자바스크립트 편」Javascript 생성기 함수 이해 ES6 (ES2015)에 도입 된 JavaScript 생성기 함수는 함수 실행 프로세스를 제어 할 수있는 고유 한 종류의 함수입니다. 출처 : https://static.wixstatic.com/ 호출될 때 완료될 때까지 실행되는 기존 함수와 달리 생성기 함수는 컨텍스트를 유지하면서 필요한 만큼 "일시 중지" 및 "다시 시작"할 수 있습니다. 생성기 기능이란 무엇입니까? 생성기 함수는 키워드를 사용하여 정의되며 생성기라는 개체를 반환합니다. 이 객체는 반복 가능한 프로토콜과 반복기 프로토콜을 모두 준수합니다. 결과적으로 생성기는 값을 한 번에 모두 계산하고 배열 또는 다른 데이터 구조로 반환하는 대신 요청별로 일련의 값을 생성할 수 있습니다. 이 "지연 평가" 기능은 계산 비용이 많이 들거나 잠재적으로 .. 2023. 7. 3.
프로그래밍 「 자바스크립트 편」HTML에서 가장 일반적으로 사용되는 중요한 태그입니다. "HTML을 시작할 때 사용해야 하는 가장 중요한 태그 요소에 대해 설명하고자 합니다. 내가 제공할 태그는 HTML로 작업할 때 가장 많이 사용해야 하고 절대적으로 알아야 하는 태그입니다." 제목의 힘: HTML의 제목은 텍스트를 구조화하고 중요성을 나타내는 강력한 방법을 제공합니다. 에서 태그는 여러 수준의 제목을 제공합니다. 은 가장 크고 가장 중요한 제목을 나타내고 은 가장 작고 덜 중요한 제목을 나타냅니다. 이러한 태그는 텍스트를 더 이해하기 쉽고 읽기 쉽게 만드는 데 필수적인 도구입니다. 단락의 힘: 텍스트를 단락으로 나누면 독자가 내용을 더 잘 따라갈 수 있습니다. 태그는 단락의 시작과 끝을 지정합니다. 이 태그를 사용하면 텍스트를 체계적으로 표현하고 가독성을 높일 수 있습니다. 이미지 추가:.. 2023. 7. 3.
728x90