블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2850)
Unity3D (893)
Script (94)
Extensions (16)
Effect (3)
NGUI (81)
UGUI (9)
Physics (2)
Shader (42)
Math (1)
Design Pattern (2)
Xml (1)
Tips (204)
Link (26)
World (1)
AssetBundle (25)
Mecanim (2)
Plugins (87)
Trouble Shooting (71)
Encrypt (7)
LightMap (4)
Shadow (4)
Editor (12)
Crash Report (3)
Utility (9)
UnityVS (2)
Facebook SDK (2)
iTween (3)
Font (18)
Ad (14)
Photon (2)
IAP (1)
Google (11)
URP (4)
Android (54)
iOS (46)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (189)
협업 (64)
3DS Max (3)
Game (12)
Utility (142)
Etc (99)
Link (34)
Portfolio (19)
Subject (90)
iOS,OSX (52)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

[링크] https://github.com/playgameservices/play-games-plugin-for-unity

 

GitHub - playgameservices/play-games-plugin-for-unity: Google Play Games plugin for Unity

Google Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-unity development by creating an account on GitHub.

github.com

 

반응형
Posted by blueasa
, |

[파일]

LunarConsoleAssist.cs
0.00MB

 

 

using UnityEngine;

#if UNITY_ANDROID || UNITY_IOS
using LunarConsolePlugin;
#endif

/// <summary>
/// 모바일 기기에서 멀티터치를 통해 LunarConsole을 활성화하는 도우미 클래스
/// </summary>
public class LunarConsoleAssist : MonoBehaviour
{
    [Header("Touch Settings")]
    [SerializeField, Range(2, 5)]
    private int requiredFingers = 3;

    [SerializeField, Range(0.1f, 2.0f)]
    private float requiredHoldTime = 0.3f;

    [Header("Debug")]
    [SerializeField]
    private bool enableDebugLog = false;

    private float currentHoldTimer;
    private bool isConsoleShown;

    // 성능 최적화를 위한 캐싱
    private Touch[] cachedTouches;

    private void Awake()
    {
        // 필요한 경우에만 초기화
#if !(UNITY_ANDROID || UNITY_IOS) || UNITY_EDITOR
        if (enableDebugLog)
            Debug.LogWarning("[LunarConsoleAssist] This component only works on Android/iOS devices.");
#endif
    }

    private void Update()
    {
#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
        HandleTouchInput();
#endif
    }

#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
    private void HandleTouchInput()
    {
        int touchCount = Input.touchCount;
        
        // 필요한 손가락 수가 맞는지 확인
        if (requiredFingers <= touchCount)
        {
            if (AreRequiredTouchesValid(touchCount))
            {
                currentHoldTimer += Time.unscaledDeltaTime;
                
                if (requiredHoldTime <= currentHoldTimer && !isConsoleShown)
                {
                    ShowLunarConsole();
                }
            }
            else
            {
                ResetTimer();
            }
        }
        else
        {
            ResetTimer();
        }
    }
    
    private bool AreRequiredTouchesValid(int touchCount)
    {
        // 성능 최적화: 필요한 터치만 확인
        int validTouchCount = 0;
        
        for (int i = 0; i < touchCount && validTouchCount < requiredFingers; i++)
        {
            TouchPhase phase = Input.touches[i].phase;
            
            if (IsTouchPhaseValid(phase))
            {
                validTouchCount++;
            }
        }
        
        return requiredFingers <= validTouchCount;
    }
    
    private bool IsTouchPhaseValid(TouchPhase phase)
    {
        return phase == TouchPhase.Began || 
               phase == TouchPhase.Stationary || 
               phase == TouchPhase.Moved;
    }
    
    private void ShowLunarConsole()
    {
        try
        {
            LunarConsole.Show();
            isConsoleShown = true;
            
            if (enableDebugLog)
                Debug.Log("[LunarConsoleAssist] Console activated!");
                
            ResetTimer();
        }
        catch (System.Exception e)
        {
            if (enableDebugLog)
                Debug.LogError($"[LunarConsoleAssist] Failed to show console: {e.Message}");
        }
    }
    
    private void ResetTimer()
    {
        currentHoldTimer = 0f;
        isConsoleShown = false;
    }
#endif

#if UNITY_EDITOR
    private void OnValidate()
    {
        // 에디터에서 값 검증
        requiredFingers = Mathf.Clamp(requiredFingers, 2, 5);
        requiredHoldTime = Mathf.Clamp(requiredHoldTime, 0.1f, 2.0f);
    }
#endif
}

 

[출처] 지인

반응형
Posted by blueasa
, |

[링크] https://github.com/Nickk888SAMP/InputSystemManager

 

GitHub - Nickk888SAMP/InputSystemManager: A Input System Manager for Unity allowing to get data from the Input System directly f

A Input System Manager for Unity allowing to get data from the Input System directly from a Singleton! - Nickk888SAMP/InputSystemManager

github.com

 

반응형
Posted by blueasa
, |

[링크] https://devfrog.tistory.com/11

 

Anti Cheat Toolkit

Unity Asset Store에서 구매 가능한 유료 치트 방지 플러그인이다. 크게 ObscuredTypes, ObscuredPrefs, ObscuredFile, ObscuredFilePrefs 4가지로 나눠져있다. 하나 씩 예제 코드와 함께 살펴보자. ObscuredTypes Cheat Engine,

devfrog.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://moondongjun.tistory.com/102

 

SPUM 최적화 처리 (드로우콜, 배칭)

최근 SPUM 에셋을 구매하여 사용 중인, 유저입니다. SPUM을 사용하다 보니 약간의 애로 사항이 생겼고, 관련되어서 해결법을 공유하고자 작성합니다. 주관적인 해결 방법일 수 있습니다. 기본적 제

moondongjun.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://zenn.dev/nikaera/articles/unity-ios-android-secret-manager

 

Unity で iOS/Android アプリの設定値をセキュアに扱う方法

はじめに iOS/Android でユーザーの情報をセキュアに扱う必要があったので、調査したところ Android には EncryptedSharedPreferences が存在することを知りました。iOS には Keychain Services が存在します。

zenn.dev

 

 

[링크] https://github.com/nikaera/Unity-iOS-Android-SecretManager-Sample

 

GitHub - nikaera/Unity-iOS-Android-SecretManager-Sample: EncryptedSharedPreferences および Keychain Services を Unity から

EncryptedSharedPreferences および Keychain Services を Unity から利用する Unity サンプルプロジェクト - nikaera/Unity-iOS-Android-SecretManager-Sample

github.com

 

반응형
Posted by blueasa
, |

[링크] https://apidog.com/kr/blog/unity-mcp-server-kr/

 

유니티 MCP 서버: 클로드와 함께 AI를 사용하여 유니티 프로젝트 제어하기

상상해 보세요, 몇 가지 자연어 프롬프트만으로 전체 게임을 만들 수 있는 세상을. 게임 개발과 AI 기반 창의성의 경계가 점점 모호해지는 Unity MCP의 세계에 오신 것을 환영합니다. 바이브 코딩이

apidog.com

 

[github] https://github.com/justinpbarnett/unity-mcp

 

GitHub - justinpbarnett/unity-mcp: A Unity MCP server that allows MCP clients like Claude Desktop or Cursor to perform Unity Edi

A Unity MCP server that allows MCP clients like Claude Desktop or Cursor to perform Unity Editor actions. - justinpbarnett/unity-mcp

github.com

 

반응형
Posted by blueasa
, |

 

[링크] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (1/2) #설정편

 

[Unity3D] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (1/2) #설정편

안녕하세요. 이번 포스팅의 주제는 Google Play Games 플러그인 연동하기 입니다! 유니티 프로젝트에 Android - 구글 플레이 게임 서비스 (Google Play Games Services) iOS - 애플 게임 샌터 (Apple Game Center) 를 연

minhyeokism.tistory.com

 

[링크] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (2/2) #코드편

 

[Unity3D] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (2/2) #코드편

[Unity3D] 구글 플레이 게임 서비스 & 애플 게임 센터 연동 (1/2) #설정편 링크 : http://minhyeokism.tistory.com/70 * 본격적으로 진행하기 전에 한 가지 말씀드리자면 UnityEngine.Social.localUser 는 Androiod와 iOS 두

minhyeokism.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://assetstore.unity.com/packages/tools/camera/per-layer-camera-culling-35100

 

Per-Layer Camera Culling | 카메라 | Unity Asset Store

Get the Per-Layer Camera Culling package from Umbra Evolution and speed up your game development process. Find this & other 카메라 options on the Unity Asset Store.

assetstore.unity.com

 

[참고] https://docs.unity3d.com/ScriptReference/Camera-layerCullSpherical.html

 

Unity - Scripting API: Camera.layerCullSpherical

Normally this type of culling is performed by moving the Camera's far plane closer to the eye. By setting this value to true, the culling is instead based on spherical distance. The benefit is that rotating on the same spot does not affect which objects ar

docs.unity3d.com

 

반응형
Posted by blueasa
, |

[링크] https://github.com/yasirkula/UnityMobileLocalizedAppTitle

 

GitHub - yasirkula/UnityMobileLocalizedAppTitle: Localize your Unity app's name and/or icon on Android & iOS

Localize your Unity app's name and/or icon on Android & iOS - yasirkula/UnityMobileLocalizedAppTitle

github.com

 

반응형
Posted by blueasa
, |