반응형
반응형
유니티 C# 3D 오브젝트 위 아래 부드럽게 반복 이동 코드 간단 구현코드 작성using UnityEngine;public class SmoothVerticalMovement : MonoBehaviour{ public float amplitude = 1.0f; // 움직임의 범위 public float frequency = 1.0f; // 움직임의 속도 private Vector3 startPosition; void Start() { // 시작 위치 저장 startPosition = transform.position; } void Update() { // 시간에 따라 사인파를 생성하여 위치를 계산 float ne..
유니티 C# 마우스로 UI 정보 가져오는 방법 간단 예시MouseOverInfo.cs 작성using TMPro;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;[System.Serializable]public class Item{ public string itemName; public Sprite itemIcon;}public class MouseOverInfo : MonoBehaviour{ public static MouseOverInfo instance; public GameObject infoPanel; // 정보 패널 (UI 요소) public Image icon; public TMP_Te..
유니티 C# 캐릭터 3인칭 카메라 마우스 이동 화면 회전 간단 구현코드 작성using UnityEngine;public class CameraController : MonoBehaviour{ [SerializeField] private Transform player; // 캐릭터의 Transform [SerializeField] private float distance = 5f; // 카메라와 캐릭터 사이의 거리 [SerializeField] private float xSpeed = 4; // 마우스 X 축 회전 속도 [SerializeField] private float ySpeed = 2; // 마우스 Y 축 회전 속도 [SerializeField] private float..
유니티 C# 프로가드 Proguard 난독화 사용 방법 및 파일 작성 예시ProGuard는 Java 코드의 난독화 및 최적화를 위해 사용되는 도구입니다. 주로 Android 애플리케이션의 빌드 과정에서 사용됩니다. ProGuard는 개발자가 작성한 코드를 난독화하여, 코드의 기밀성을 보호하고, 앱의 크기를 줄이며, 성능을 향상시키는 데 도움을 줍니다. 관련 오류AndroidJavaException: java.lang.ClassNotFoundException:com.google.android.gms.ads.initialization.OnInitializationCompleteListener 파일 위치 : Assets/Plugins/Android/proguard-user.txt 작성-keep class c..
유니티 C# 우편함 시스템 간단 구현 Mailbox System1. 데이터 구조 설계using System;[Serializable]public class Mail{ public string sender; // 발신자 이름 public string title; // 메일 제목 public string content; // 메일 내용 public DateTime receivedDate; // 수신 날짜 public bool isRead; // 메일 읽음 여부 public bool hasAttachment; // 첨부 파일 여부 // 생성자 public Mail(string sender, string..
유니티 C# 증강현실 Foundation AR 간단 구현 코드 예시1. 환경 설정필요한 패키지 설치Unity Hub를 통해 Unity 2019.3 이상 버전을 사용하고 있는지 확인합니다.Unity에서 Window > Package Manager로 이동한 후, AR Foundation 패키지를 설치합니다. 이 외에, 필요한 패키지로 ARCore XR Plugin(Android) 또는 ARKit XR Plugin(iOS)을 설치합니다.2. AR Scene 설정AR Session: AR 기능을 관리하는 게임 오브젝트를 만듭니다.GameObject > XR > AR Session을 선택하여 AR Session 게임 오브젝트를 생성합니다.AR Session Origin: AR 카메라와 현실 세계와의 관계를 관리합..
뒤끝서버 Backend 유니티 C# 게스트 구글 애플 로그인 간단 구현뒤끝 서버 설정 및 초기화using BackEnd;using UnityEngine;public class BackendManager : MonoBehaviour{ void Start() { // 뒤끝 서버 초기화 Backend.Initialize(() => { if (Backend.IsInitialized) { Debug.Log("뒤끝 서버 초기화 성공"); } else { Debug.LogError("뒤끝 서버 초기화 실패"); ..
뒤끝서버 Backend 유니티 C# 랭킹 구현 코드 예시랭킹 저장using BackEnd;using UnityEngine;public class RankingManager : MonoBehaviour{ // 랭킹 키 (뒤끝 콘솔에서 설정한 랭킹 키와 동일해야 함) private string rankingKey = "highscore"; // 유저의 점수를 랭킹에 저장 public void SaveScore(int score) { var bro = Backend.GameInfo.UpdateRTRankTable(rankingKey, score); if (bro.IsSuccess()) { Debug.Log("Score save..
코드 작성using System.Collections.Generic;using UnityEngine;// 제네릭 풀 클래스public class ObjectPool where T : MonoBehaviour{ private List pool = new List(); private T prefab; public ObjectPool(T prefab, int initialSize) { this.prefab = prefab; for (int i = 0; i enemyPool; private ObjectPool bulletPool; void Start() { // 각각의 풀 생성 enemyPool = new ObjectPoo..
코드 작성using UnityEngine;public class Swipe3D : MonoBehaviour{ private Vector2 startTouchPosition; private float zRotationSpeed = 0f; // Z축 회전 속도 private float smoothTime = 1.0f; // Z축 회전을 1초 안에 0으로 줄이는 시간 private float timeElapsed = 0f; // 경과 시간 추적 변수 private bool isSwiping = false; // 스와이프 중인지 여부를 확인하는 변수 void Update() { Vector2 deltaPosition = Vector2.zero; ..
코드 작성using UnityEngine;public class DoubleTapInteraction : MonoBehaviour{ private float lastTapTime = 0f; private float doubleTapTime = 0.5f; // 더블 탭을 인식하는 시간 간격 void Update() { if (Input.touchCount == 1) { Touch touch = Input.GetTouch(0); if (touch.phase == TouchPhase.Ended) { float currentTime = Time.time; ..
코드 작성using UnityEngine;using System.Collections.Generic;public class SnakeController : MonoBehaviour{ public float moveSpeed = 0.1f; public Vector2 direction = Vector2.right; public List bodyParts = new List(); public GameObject bodyPrefab; void Start() { InvokeRepeating("Move", 0.1f, moveSpeed); } void Update() { if (Input.GetKeyDown(KeyCode.UpArrow)) ..