반응형
반응형
리스트 설정using System.Collections.Generic;using System.Linq;using UnityEngine;public enum MyType{ TypeA, TypeB, TypeC}public class MyClass{ public MyType Type { get; set; } public string Name { get; set; } public MyClass(MyType type, string name) { Type = type; Name = name; }} 특정 타입 추출public class Example : MonoBehaviour{ private void Start() { // ..
코드 작성using System.Collections;using UnityEngine;using UnityEngine.Networking;public class RestApiExample : MonoBehaviour{ // URL to your API endpoint private string apiUrl = "https://jsonplaceholder.typicode.com/posts"; // Start is called before the first frame update void Start() { // Example of a GET request StartCoroutine(GetRequest(apiUrl)); // Example of ..
1. 기본적인 비동기 작업using Cysharp.Threading.Tasks;public async UniTask StartAsyncTask(){ Debug.Log("Task Started"); await UniTask.Delay(1000); // 1 second delay Debug.Log("Task Completed");} 2. 비동기 메소드 호출using Cysharp.Threading.Tasks;public async UniTask CallAsyncMethod(){ await SomeAsyncMethod(); Debug.Log("Method Called");}private async UniTask SomeAsyncMethod(){ await UniTask.Del..
SDK 다운로드 GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity.Provides an efficient allocation free async/await integration for Unity. - Cysharp/UniTaskgithub.com 코드 작성using UnityEngine;using Cysharp.Threading.Tasks;public class UniTaskExample : MonoBehaviour{ void Start() { // 비동기 작업 실행 DoAsyncWork().Forget(); // Forget()을 호출하여 예외..
코드 작성using UnityEngine;// 추상 클래스 정의public abstract class Character : MonoBehaviour{ // 추상 프로퍼티 (파생 클래스에서 반드시 구현해야 함) public abstract int Health { get; set; } // 추상 메서드 (파생 클래스에서 반드시 구현해야 함) public abstract void Move(Vector3 direction); // 일반 메서드 public void Attack() { Debug.Log("Character attacks!"); } // 가상 메서드 (선택적으로 재정의 가능) public virtual void Die() { ..
유니티 설정네트워킹 라이브러리 추가: 네트워킹 기능을 위해 Unity의 UNet을 사용하거나 Mirror와 같은 서드파티 라이브러리를 사용할 수 있습니다. Mirror를 사용합니다.Mirror를 설치하려면, 유니티 에디터의 Package Manager에서 Add package from git URL...을 선택하고 https://github.com/vis2k/Mirror.git를 입력합니다. 코드 작성using UnityEngine;using Mirror;using UnityEngine.UI;public class ChatClient : NetworkBehaviour{ public InputField chatInputField; public Text chatDisplay; public o..
Bird 코드using System.Collections;using System.Collections.Generic;using UnityEngine;public class Bird : MonoBehaviour{ public float upForce = 200f; // 상향 힘 private bool isDead = false; // 새의 생존 여부 private Rigidbody2D rb2d; // Rigidbody2D 컴포넌트 void Start() { rb2d = GetComponent(); } void Update() { if (isDead == false && Input.GetMouseButt..
카메라 스크립트using UnityEngine;public class DisableWhenOutOfView : MonoBehaviour{ private Camera mainCamera; void Start() { mainCamera = Camera.main; } void Update() { Vector3 viewportPosition = mainCamera.WorldToViewportPoint(transform.position); if (viewportPosition.x 1 || viewportPosition.y 1) { gameObject.SetActive(false); } }} ..
코드 작성using UnityEngine;public class FlashlightController : MonoBehaviour{ // 손전등을 나타내는 Light 컴포넌트를 저장할 변수 public Light flashlight; // 손전등의 초기 상태 (켜짐/꺼짐)를 설정할 변수 private bool isOn = false; // 매 프레임마다 호출되는 함수 void Update() { // F 키를 눌렀을 때 손전등의 상태를 토글 if (Input.GetKeyDown(KeyCode.F)) { ToggleFlashlight(); } } // 손전등의 상태를 토글하는 함수 v..
링크 참고 유니티 게임 돈 표시 만 억 조 경 해 표시 방법게임에서 돈표시를 콤마 대신 "만 억 조 경 해"로 표시 할 일이 있어 방법을 찾아 봤다. 예전에 cpp 할 때는 1000 10000 100000000 과 같이 숫자로 나누고 반복 해서 자릿 수를 끼어 넣어 표시 하곤 했는dragontory.tistory.com 3자리 마다 콤마 추가using System;using System.Text;using UnityEngine;public class CommaFormatter : MonoBehaviour{ // 숫자를 포맷하는 메서드 public static string FormatWithCommas(string number) { // 빈 문자열이나 null 값을 처리 ..
코드 작성using UnityEngine;public class SunController : MonoBehaviour{ // 낮과 밤의 Skybox 머티리얼 public Material daySkybox; public Material nightSkybox; // 태양 역할을 하는 Directional Light public Light sun; // 하루의 시간을 초 단위로 설정 (예: 120초) public float dayDuration = 120f; // 현재 시간을 추적하는 변수 private float time; void Start() { // 초기화 time = 0f; UpdateSkyboxAndLi..
코드 작성using UnityEngine;using UnityEngine.XR.Interaction.Toolkit;public class VRGameController : MonoBehaviour{ // 왼손과 오른손에 할당된 XR Controller public XRController leftController; public XRController rightController; // 잡을 수 있는 객체의 프리팹 public GameObject throwableObjectPrefab; // 던질 힘을 조절하는 변수 public float throwForce = 10f; void Update() { // 왼손과 오른손의 트리거 버튼 입력을 확인하..