반응형

유니티_unity

(유니티) 3D, 오브젝트를 따라다니는 카메라 스크립트

유니티 3D에서 오브젝트를 약간 위에서 바라보는 따라다니는 카메라 스크립트입니다. 프로젝트 만들기1. 3D용으로 프로젝트를 생성합니다. 2. Hierarchy 창에 3d 오브젝트 "Terrain"과 "Cyliner"를 추가합니다. 3. "Terrain"의 Position 값을 "-500, 0, -500"으로 설정합니다. 4. "Cylinder"오브젝크를 이동하는 C# 스크립트를 생성하고 "Cyliner"에 연결합니다 - "CylinderController.cs"(실행해서 상하좌우 화살표 키로 실린더가 잘 이동하는 지 확인합니다.)-- 여기까지는 https://coding-abc.kr/297  글을 참고합니다. 5. 카메라를 움직이는 스크립트를 생성하고, "Main Camera"에 연결합니다 - Follo..

유니티_unity 2024.05.25

(유니티) 키보드로 3D 오브젝트 좌우 앞으로 뒤로 이동하기

유니티에서 키보드를 이용해서 3D 오브젝트를 오른쪽 왼쪽 앞으로 뒤로 이동시키는 간단한 코드입니다. 프로젝트 만들기 1. 3D를 선택해서 프로젝트를 생성합니다. 2. Hierarchy 창에 "Terrain"과 "Cylinder" 3D 오브젝트를 추가합니다. 3. Inspector 창에서 "Terrain"의 Position을 "-500, 0, -500"으로 설정합니다. 4. C# 스크립크를 생성하고, "Cylinder"에 연결합니다 - "CylinderController.cs"using UnityEngine;public class CylinderController : MonoBehaviour{ private Vector3 direction = Vector3.zero; void Update() ..

유니티_unity 2024.05.25

(유니티) 월드 좌표와 스크린 좌표, WorldToScreenPoint 변환

월드 좌표는 3D 공간에서 객체의 위치를 나타내는 좌표입니다. 이는 객체의 위치가 카메라나 화면과 무관하게 공간 내에서 고유한 위치를 가지고 있다는 것을 의미합니다. 반면 스크린 좌표는 화면의 픽셀 단위로 위치를 나타내는 좌표이며, 카메라의 시점에 따라 달라질 수 있습니다. 유니티에서 월드 좌표를 스크린 좌표로 변환하는 과정은 게임 또는 애플리케이션에서 객체의 위치를 화면 상의 위치로 변환하는 데 사용됩니다. 이를 통해 객체의 위치를 화면에 표시하거나 객체와 관련된 상호작용을 구현할 수 있습니다. 유니티에서 월드 좌표를 스크린 좌표로 변환하는 방법은 다음과 같습니다. 변환하려는 객체의 위치를 가져옵니다. 이는 일반적으로 해당 객체의 Transform 컴포넌트를 통해 수행됩니다.카메라의 시점을 기준으로 월..

유니티_unity 2024.05.12

(유니티) 룰렛이 멈추는 위치의 문자열 출력하기

유니티 책 [유니티 교과서]에는 룰렛 돌리기의 예제가 있습니다.그냥 이미지만 돌리는데 예제인데, 이 룰렛 이미지가 멈추는 위치의 문자열을 출력하도록 수정해 봤습니다. 룰렛 돌리기 프로젝트 만들기1. 유니티에서 2D로 프로젝트를 생성합니다. 2. 이미지를 Assets으로 가져옵니다. 3. "roulette" 이미지를 씬에 배치합니다.Position: 0 0 0Rotation: 0 0 0Scale: 1 1 1 4. "neddle" 이미지를 씬에 배치합니다.Position: 0 3 0Rotation: 0 0 0Scale: 1 1 1  5. C# 스크립트를 생성하고, "roulette"에 연결합니다.코드를 작성합니다.using System.Collections;using System.Collections.Gen..

유니티_unity 2024.05.06

(유니티) 오브젝트가 화면 밖으로 나가면 삭제하기

유니티에서 오브젝트가 화면 밖으로 나갔을 때 제거하는 것은 비교적 간단한 프로세스입니다. 여러 가지 방법이 있지만, 가장 일반적인 방법 중 하나는 카메라의 시야 영역을 기준으로 오브젝트의 위치를 확인하여 처리하는 것입니다. 다음은 이를 수행하기 위한 간단한 스크립트 예제입니다. 이 스크립트는 카메라의 시야 영역을 벗어나면 해당 게임 오브젝트를 제거합니다. using UnityEngine; public class ObjectRemover : MonoBehaviour { private Camera mainCamera; void Start() { mainCamera = Camera.main; // 게임에서 메인 카메라 가져오기 } void Update() { Vector3 viewPos = mainCamera..

유니티_unity 2024.04.09

(유니티) 프리팹 Prefab: 마우스 버튼을 클릭한 자리에 프리팹 출력하기

유니티의 프리팹(prefab)을 다루는 예제입니다. 마우스를 클릭한 자리에 프리팹을 출력하는 코드를 작성해 보겠습니다. 프리팹은 자동차가 앞으로 이동하는 간단한 기능으로 구현합니다. 1. 프로젝트를 생성합니다 - 여기서는 2D로 생성했습니다. 2. 아래의 이미지를 Assets으로 가져옵니다. 이미지를 "car.png"로 저장합니다. 3. 자동차 이미지를 씬(scene)에 배치합니다. 4. C# 스크립트를 생성하고, 이름을 "CarController"로 변경합니다. 자동차를 앞으로 이동하는 코드를 작성하고, "car"와 연결합니다. 5. 실행합니다 - 자동차가 앞으로 이동합니다. using UnityEngine; public class CarController : MonoBehaviour { private..

유니티_unity 2024.04.09

(유니티) 프리팹 Prefab: 하늘에서 개구리가 떨어져요

유니티에서 프리팹(prefab)을 사용하는 방법에 대해 알아보겠습니다. "프리팹"은 재사용 가능한 게임 오브젝트의 템플릿입니다. 쉽게 말해, 여러 번 사용될 수 있는 게임 오브젝트의 복사본으로 생각할 수 있습니다. 프리팹을 사용하면 유사한 오브젝트를 쉽게 만들고 유지 보수할 수 있습니다. 한 번 수정하면 해당 프리팹을 사용하는 모든 인스턴스에 자동으로 반영됩니다. 이것은 게임 개발 프로세스를 효율적으로 만들어주고, 일관성을 유지하며 시간을 절약하는 데 도움이 됩니다. 여기에서는 하늘에서 개구리가 무작위로 떨어지는 모양을 프리팹을 이용해서 만들어 보겠습니다. 1. 준비물 - 아래의 개구리 이미지 2. 프로젝트를 생성합니다 - 2D, 이름은 맘대로 ... 3. 개구리 이미지(frog.png)를 Asset으로..

유니티_unity 2024.04.04

(유니티) 버튼을 클릭하면 TextMeshPro에 1부터 100까지 합을 출력해 보자

유니티에서 버튼을 클릭하면 UI - TextMeshPro에 1부터 100까지의 합을 출력하는 코드입니다. 1. 프로젝트를 생성합니다. 여기서느 2D로 생성했습니다. 2. Hierachy 창의 [+]를 누르고, UI - "Button - TextMeshPro"를 선택합니다. 화면에 "TMP Import" 창이 나타나면 "Import TMP Essentials" 버튼을 클릭하고 임포트합니다. 3. 이름을 "Button1"로 수정합니다. 4. "Button1"을 선택하고, 텍스트와 Width의 크기를 적당히 변경합니다. 5. 위의 2와 같은 방법으로 UI - "Text - TextMeshPro"를 추가합니다. 이름은 "Text1"으로 변경합니다. 6. C# 스크립트를 생성하고, "Button1"과 연결합니다...

유니티_unity 2024.03.30

(유니티) 사운드(Sound. 오디오, 소리) 출력하기

유니티에서 사운드를 출력하는 예제를 만들어 봅니다. 1. 준비물: 오브젝트로 사용한 이미지 1개, 사운드 파일(mp3) 1개 2. 프로젝트 생성 - 여기서는 2D로 생성합니다. 3. 오브젝트 1개와 사운드 파일을 Assets으로 가져옵니다.(Alam01.mp3) 4. 오브젝트를 Scene에 배치합니다. Hierachy창에서 오브젝트를 선택하고 Infector 창에서 [Add Component] 버튼 클릭 Audio → Audio Source Assets에 있는 오디오 파일을 “AudioClip”으로 끌어다 놓습니다. “Play On Awake”을 체크되어 있으면, 해당 오브젝트가 로드 될 때 바로 오디오가 플레이 됩니다. 5. 실행해 봅니다 - 시작하자 마자 바로 사운드가 플레이 됩니다. 6. 마우스로 ..

유니티_unity 2024.03.30

(유니티) Input.GetKey(): 키보드로 오브젝트 상하좌우 움직이기

유니티에서 키보드 상하좌우 화살표 키를 이용해서 오브젝트를 상하좌우로 이동하는 코드입니다. using UnityEngine; public class RocketController : MonoBehaviour { public float speed = 1.0f; // Update is called once per frame void Update() { float x = 0f; float y = 0f; if(Input.GetKey("right")) x = 1f; else if (Input.GetKey("left")) x = -1f; else if (Input.GetKey("up")) y = 1f; else if (Input.GetKey("down")) y = -1f; Vector3 dir = new Vecto..

유니티_unity 2024.03.25
반응형