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

카테고리

분류 전체보기 (2853)
Unity3D (895)
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 (53)
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

Xcode 26.0.1

Unity 6000.2.5f1

----

 

[Build Error]

 Assertion failed: (it != _dylibToOrDinal.end()), function getDylibOrdinal, file OutputFile.cpp, line 5196.

----

 

Xcode 16.4에서 Xcode 26으로 올리고나니 잘되던 빌드가 위와 같은 에러가 나면서 빌드 실패를 한다.

찾아보니 Xcode 16.4까지 계속 쓰고있던 플래그인 -ld_classic이 Xcode PostProcessor에 있는데,

 Xcode 26에서 OTHER_LDFLAGS의 -ld_classic이 제거 됐다고 한다.

 

그래서 PostProcessor에서 -ld_classic 관련을 주석처리 하니 빌드가 잘된다.

(참고로 -ld64도 함께 제거 된 것 같으니 -ld64도 있으면 제거하자)

 

[요약]

Xcode 26에서 -ld_classic, -ld64 제거 됨.

관련 소스 제거 필요.

 

[참조] https://blog.csdn.net/siwen1990/article/details/151993993

 

 

반응형
Posted by blueasa
, |

[링크] https://misos03hop.booth.pm/items/5135844

 

【vrchat】[free]MisoShadow - MISO# - BOOTH

写真を撮ったり、きれいな影が欲しい人におすすめです。 ◎ 説明 ● liltoonの影をアニメの感じに変えてくれるアセットです。 ● リアルタイムでライトを使用しないため、フレームドロップ

misos03hop.booth.pm

 

 

[참조] https://gall.dcinside.com/mgallery/board/view/?id=vr&no=3367059

 

릴툰 그림자 카툰느낌내는 에셋 무료배포함 - 브이알챗 (VRChat) 마이너 갤러리

이런느낌으로 카툰느낌 나고그림자 각도조절 가능함광원 생각하면서 찍으면 사진도 잘나오고그냥 평범하게 있어도 이쁨그리고 젤 중요한게 pcss마냥 실시간 라이트가 아니라서프레임 드랍 없

gall.dcinside.com

 

반응형
Posted by blueasa
, |

NiloToon 같이 만들어 보고 싶어서 NiloToon 공개 소스를 참조한 URPSimpleGenshin Shader를 좀 개조해서 기능 추가 해봄.

 

// Based on SimpleGenshinFacial shader
// Simplified NiloToon Shader for Unity URP

/*
CustomURPToon Shader - A simplified toon shader based on SimpleGenshinFacial
Features:
- Basic toon lighting with cel shading
- Rim lighting
- Outline rendering
- Face shadow mapping support
- Mobile optimized
*/

 

 

[파일]

CustomURPToon.zip
0.51MB

 

 

[참조] https://github.com/NoiRC256/URPSimpleGenshinShaders

 

GitHub - NoiRC256/URPSimpleGenshinShaders: A simple Genshin Impact facial shader for Unity URP, based on NiloCat shader example

A simple Genshin Impact facial shader for Unity URP, based on NiloCat shader example - NoiRC256/URPSimpleGenshinShaders

github.com

 

반응형
Posted by blueasa
, |

[링크] https://github.com/NoiRC256/URPSimpleGenshinShaders

 

GitHub - NoiRC256/URPSimpleGenshinShaders: A simple Genshin Impact facial shader for Unity URP, based on NiloCat shader example

A simple Genshin Impact facial shader for Unity URP, based on NiloCat shader example - NoiRC256/URPSimpleGenshinShaders

github.com

 

반응형
Posted by blueasa
, |

[링크] https://docs.backnd.com/sdk-docs/backend/base/user/federation/example-using-gpgs2/

 

Google Play Game Service V2(GPGS2) 사용 | 뒤끝 개발자

Google Play Games Service (GPGS)로 간편하게 로그인하는 기능을 넣어서, 사용자 경험을 향상하세요.

docs.backnd.com

 

반응형
Posted by blueasa
, |

[링크] https://developer.android.com/games/pgs/unity/overview?hl=ko

 

Unity용 Google Play 게임즈 플러그인  |  Android game development  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Unity용 Google Play 게임즈 플러그인 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Unity용 Go

developer.android.com

 

 

 

[링크] ttps://developer.android.com/games/pgs/unity/unity-start?hl=ko

 

Unity용 Google Play 게임즈 설정 및 로그인  |  Android game development  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 Unity용 Google Play 게임즈 설정 및 로그인 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이

developer.android.com

 

반응형
Posted by blueasa
, |

[링크] 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
, |

[링크] https://nybot-house.tistory.com/99

 

[2024 최신] 유니티 게임과 구글 플레이 게임즈 연동하기 GPGS - Google Play Games Plugin for unity - v.11.01

현제 개발 중인 모바일 게임, '전설의 대장장이 이야기-The Legend Of BlackSmith'가 출시되었다.구글 플레이 스토어 링크 전설의 대장장이 이야기 - Google Play 앱무기를 제작하고 판매해서 전설적인 대

nybot-house.tistory.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://docs.unity3d.com/6000.2/Documentation/Manual/scripting-symbol-reference.html

 

----

Platform symbols

Unity automatically defines certain symbols based on the authoring and build target platform. These are as follows:

DefineFunction

UNITY_EDITOR Scripting symbol to call Unity Editor scripts
 from your game code.
UNITY_EDITOR_WIN Scripting symbol for Editor code on Windows.
UNITY_EDITOR_OSX Scripting symbol for Editor code in macOS.
UNITY_EDITOR_LINUX Scripting symbol for Editor code on Linux.
UNITY_EMBEDDED_LINUX Scripting symbol for embedded Linux.
UNITY_QNX Scripting symbol for QNX.
UNITY_STANDALONE_OSX Scripting symbol to compile or execute code specifically for macOS (including Universal, PPC and Intel architectures).
UNITY_STANDALONE_WIN Scripting symbol for compiling/executing code specifically for Windows standalone applications.
UNITY_STANDALONE_LINUX Scripting symbol for compiling/executing code specifically for Linux standalone applications.
UNITY_STANDALONE Scripting symbol for compiling/executing code for any standalone platform (Mac OS X, Windows or Linux).
UNITY_SERVER Scripting symbol for compiling/executing code for a dedicated server (macOS, Windows or Linux).
UNITY_IOS Scripting symbol for compiling/executing code for the iOS platform.
UNITY_ANDROID Scripting symbol for the Android platform.
UNITY_TVOS Scripting symbol for the Apple TV platform.
UNITY_VISIONOS Scripting symbol for the VisionOS platform.
UNITY_WSA Scripting symbol for Universal Windows Platform.
UNITY_WSA_10_0 Scripting symbol for Universal Windows Platform.
UNITY_WEBGL Scripting symbol for Web.
UNITY_FACEBOOK_INSTANT_GAMES Scripting symbol for the Facebook Instant Games platform.
UNITY_ANALYTICS Scripting symbol for calling Unity Analytics
 methods from your game code.
UNITY_ASSERTIONS Scripting symbol for assertions control process.
UNITY_64 Scripting symbol for 64-bit platforms. In practice this should not be used because it does not work on all 64-bit architectures and different CPU architectures on a given platform can share the same compiled assemblies. To execute code conditionally based on architecture, use a standard if statement that checks IntPtr.Size, which is 4 in a 32-bit process and 8 in a 64-bit process. For an example, refer to Alternatives to directives.

 

Unity Editor version symbols

Unity automatically defines certain scripting symbols based on the version of the Unity Editor that you’re currently using.

Given a version number X.Y.Z (for example, 6000.0.33), Unity exposes three global scripting symbols in the following formats: UNITY_X, UNITY_X_Y and UNITY_X_Y_Z.

Here is an example of scripting symbols exposed in Unity 6000.0.33:

DefineFunction

UNITY_6000 Scripting symbol for the release version of Unity 6, exposed in every 6000.Y.Z release.
UNITY_6000_0 Scripting symbol for the major version of Unity 6.0, exposed in every 6000.0.Z release.
UNITY_6000_0_33 Scripting symbol for the minor version of Unity 6000.0.33.

You can also compile code selectively based on the earliest version of Unity required to compile or execute a section of code snippet. Following the same version format describd previously (X.Y), Unity exposes one global #define in the format UNITY_X_Y_OR_NEWER (for example, UNITY_6000_0_OR_NEWER), that you can use for this purpose.

 

Other symbols

The other symbols Unity defines are:

DefineFunction

CSHARP_7_3_OR_NEWER Defined when building scripts with support for C# 7.3 or newer.
ENABLE_MONO Scripting back end #define for Mono.
ENABLE_IL2CPP Scripting back end #define for IL2CPP
.
ENABLE_VR Defined when the target build platform supports VR
. Doesn’t imply that VR is currently enabled or that the necessary plug-ins
 and packages needed to support VR are installed.
NET_2_0 Defined when building scripts against .NET 2.0 API compatibility level on Mono and IL2CPP.
NET_2_0_SUBSET Defined when building scripts against .NET 2.0 Subset API compatibility level on Mono and IL2CPP.
NET_LEGACY Defined when building scripts against .NET 2.0 or .NET 2.0 Subset API compatibility level on Mono and IL2CPP.
NET_4_6 Defined when building scripts against .NET 4.x API compatibility level on Mono and IL2CPP.
NET_STANDARD_2_0 Defined when building scripts against .NET Standard 2.0 API compatibility level on Mono and IL2CPP.
NET_STANDARD_2_1 Defined when building scripts against .NET Standard 2.1 API compatibility level on Mono and IL2CPP.
NET_STANDARD Defined when building scripts against .NET Standard 2.1 API compatibility level on Mono and IL2CPP.
NETSTANDARD2_1 Defined when building scripts against .NET Standard 2.1 API compatibility level on Mono and IL2CPP.
NETSTANDARD Defined when building scripts against .NET Standard 2.1 API compatibility level on Mono and IL2CPP.
ENABLE_WINMD_SUPPORT Defined when Windows Runtime support is enabled on IL2CPP. For more information, refer to WinRT API in C# scripts for UWP.
ENABLE_INPUT_SYSTEM Defined when the Input System package is enabled in Player Settings
.
ENABLE_LEGACY_INPUT_MANAGER Defined when the legacy Input Manager
 is enabled in Player Settings.
DEVELOPMENT_BUILD Defined when your script is running in a Player which was built with the Development Build option enabled.

This define only reflects whether the development build option was enabled at the time of the build. To know whether your script is running in the development build mode, use Debug.isDebugBuild. DEVELOPMENT_BUILD isn’t sufficient to determine whether you’re currently running in a development build because most platforms allow changing between development and non-development build without rebuilding the project. However, on some platforms, Unity doesn’t support switching between development and non-development builds in the Editor and requires you to switch after the build is complete. For example, on Windows, you can choose the Create Visual Studio solution option to choose whether you want a development or non-development build in Visual Studio. Switching in Visual Studio doesn’t recompile your scripts and therefore, it will not reevaluate scripting defines. You can also switch from the final game build to a development build by swapping UnityPlayer.dll in the game build with the one from a development build for debugging live game builds.
UNITY_CLOUD_BUILD Defined when the project is built with Unity Build Automation
.

Note: The DEBUG symbol is predefined in C# and in Unity using the directive #if DEBUG is equivalent to #if UNITY_EDITOR || DEVELOPMENT_BUILD

Additional resources

반응형
Posted by blueasa
, |