no message

This commit is contained in:
Mingu Kim
2026-01-15 21:58:11 +09:00
parent 051a71ac15
commit e42945d607
26 changed files with 5796 additions and 5511 deletions

8
Assets/Audio.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 11df597fea8fb461a965d831c26e7568
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Audio/camera-shutter1.mp3 Executable file

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 6a6771d05326c4775a47c0ec4c4e4558
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -308,6 +308,8 @@ GameObject:
- component: {fileID: 162178408}
- component: {fileID: 162178410}
- component: {fileID: 162178409}
- component: {fileID: 162178412}
- component: {fileID: 162178411}
m_Layer: 5
m_Name: Image Character
m_TagString: Untagged
@@ -331,7 +333,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -267.873, y: 126.63}
m_AnchoredPosition: {x: -162, y: 80}
m_SizeDelta: {x: 424.251, y: 424.25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &162178409
@@ -372,6 +374,247 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 162178407}
m_CullTransparentMesh: 1
--- !u!82 &162178411
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 162178407}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_Resource: {fileID: 8300000, guid: 6a6771d05326c4775a47c0ec4c4e4558, type: 3}
m_PlayOnAwake: 0
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &162178412
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 162178407}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4d0390bd8b8ffd640b34fe25065ff1df, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp-firstpass::DG.Tweening.DOTweenAnimation
updateType: 0
isSpeedBased: 0
hasOnStart: 0
hasOnPlay: 1
hasOnUpdate: 0
hasOnStepComplete: 0
hasOnComplete: 1
hasOnTweenCreated: 0
hasOnRewind: 0
onStart:
m_PersistentCalls:
m_Calls: []
onPlay:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 162178409}
m_TargetAssemblyTypeName: UnityEngine.UI.Image, UnityEngine.UI
m_MethodName: set_sprite
m_Mode: 2
m_Arguments:
m_ObjectArgument: {fileID: 21300000, guid: b003007f0724f4eb39ca05642c497ce4, type: 3}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Sprite, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 162178411}
m_TargetAssemblyTypeName: UnityEngine.AudioSource, UnityEngine
m_MethodName: Play
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
onUpdate:
m_PersistentCalls:
m_Calls: []
onStepComplete:
m_PersistentCalls:
m_Calls: []
onComplete:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 162178409}
m_TargetAssemblyTypeName: UnityEngine.UI.Image, UnityEngine.UI
m_MethodName: set_sprite
m_Mode: 2
m_Arguments:
m_ObjectArgument: {fileID: 21300000, guid: 7ab63bd8191ef49a6918352ece3c5364, type: 3}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Sprite, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
onTweenCreated:
m_PersistentCalls:
m_Calls: []
onRewind:
m_PersistentCalls:
m_Calls: []
targetIsSelf: 1
targetGO: {fileID: 0}
tweenTargetIsTargetGO: 1
delay: 0
duration: 0.5
easeType: 6
easeCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
loopType: 0
loops: 1
id:
isRelative: 0
isFrom: 0
isIndependentUpdate: 0
autoKill: 0
autoGenerate: 1
isActive: 1
isValid: 1
target: {fileID: 162178408}
animationType: 9
targetType: 5
forcedTargetType: 0
autoPlay: 0
useTargetAsV3: 0
endValueFloat: 0
endValueV3: {x: 0, y: 10, z: 1}
endValueV2: {x: 0, y: 0}
endValueColor: {r: 1, g: 1, b: 1, a: 1}
endValueString:
endValueRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
endValueTransform: {fileID: 0}
optionalBool0: 0
optionalBool1: 0
optionalFloat0: 1
optionalInt0: 1
optionalRotationMode: 0
optionalScrambleMode: 0
optionalShakeRandomnessMode: 0
optionalString:
--- !u!1 &240954698
GameObject:
m_ObjectHideFlags: 0
@@ -469,6 +712,18 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 162178412}
m_TargetAssemblyTypeName: DG.Tweening.DOTweenAnimation, Assembly-CSharp-firstpass
m_MethodName: DORestart
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &240954701
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -522,7 +777,7 @@ MonoBehaviour:
selectMonitorIndex: 2
takeNumber: 0
inputPrefix: {fileID: 56188227}
inputResult: {fileID: 0}
inputResult: {fileID: 975488549}
directorySelector: {fileID: 1438379834}
--- !u!1 &519420028
GameObject:
@@ -889,7 +1144,7 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 3
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 3
m_linkedTextComponent: {fileID: 0}
@@ -1395,7 +1650,7 @@ MonoBehaviour:
m_InputType: 0
m_AsteriskChar: 42
m_KeyboardType: 0
m_LineType: 0
m_LineType: 1
m_HideMobileInput: 0
m_HideSoftKeyboard: 0
m_CharacterValidation: 0

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d4fb1de9b00bfac42af0a35ff2a01f89
guid: 9f80792dcd2829e41b1f075e7245ca5b
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -1,14 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DOTweenUpgradeManager</name>
</assembly>
<members>
<member name="T:DG.DOTweenUpgradeManager.Autorun">
<summary>
This class and its whole library are deleted the first time DOTween's setup is run after an upgrade (or after a new install).
NOTE: DidReloadScripts doesn't work on first install so it's useless, InitializeOnLoad is the only way
</summary>
</member>
</members>
</doc>

View File

@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3df9fdaadcb4c394e826a4d8d20bb952
TextScriptImporter:
userData:
AssetOrigin:
serializedVersion: 1
productId: 27676
packageName: DOTween (HOTween v2)
packageVersion: 1.2.790
assetPath: Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML
uploadId: 831234

View File

@@ -1,29 +0,0 @@
fileFormatVersion: 2
guid: 2bf936a5d80799e4e88ec9270fea75a4
PluginImporter:
serializedVersion: 1
iconMap: {}
executionOrder: {}
isPreloaded: 0
platformData:
Any:
enabled: 0
settings: {}
Editor:
enabled: 1
settings:
DefaultValueInitialized: true
WindowsStoreApps:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 27676
packageName: DOTween (HOTween v2)
packageVersion: 1.2.790
assetPath: Assets/Plugins/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll
uploadId: 831234

8
Assets/Resources.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: edff7c9c5dfec49dbae75dcfc0b847d3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,54 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 16995157, guid: a811bde74b26b53498b4f6d872b09b6d, type: 3}
m_Name: DOTweenSettings
m_EditorClassIdentifier: DOTween.dll::DG.Tweening.Core.DOTweenSettings
useSafeMode: 1
safeModeOptions:
logBehaviour: 2
nestedTweenFailureBehaviour: 0
timeScale: 1
unscaledTimeScale: 1
useSmoothDeltaTime: 0
maxSmoothUnscaledTime: 0.15
rewindCallbackMode: 0
showUnityEditorReport: 0
logBehaviour: 0
drawGizmos: 1
defaultRecyclable: 0
defaultAutoPlay: 3
defaultUpdateType: 0
defaultTimeScaleIndependent: 0
defaultEaseType: 6
defaultEaseOvershootOrAmplitude: 1.70158
defaultEasePeriod: 0
defaultAutoKill: 1
defaultLoopType: 0
debugMode: 0
debugStoreTargetId: 1
showPreviewPanel: 1
storeSettingsLocation: 0
modules:
showPanel: 0
audioEnabled: 1
physicsEnabled: 1
physics2DEnabled: 1
spriteEnabled: 1
uiEnabled: 1
textMeshProEnabled: 0
tk2DEnabled: 0
deAudioEnabled: 0
deUnityExtendedEnabled: 0
epoOutlineEnabled: 0
createASMDEF: 0
showPlayingTweens: 0
showPausedTweens: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f3fb915957f684d8abb924862bfc3cb3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,43 +1,28 @@
using UnityEngine;
using System;
using System.IO;
using System.Windows.Forms; // 모니터 식별 및 스크린 정보
using System.Drawing; // Bitmap 관련
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using TMPro;
using Unity.VisualScripting;
using Application = UnityEngine.Application;
using Screen = System.Windows.Forms.Screen;
using System.Runtime.InteropServices;
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Imaging;
using Graphics = System.Drawing.Graphics;
#endif
public class TakeScreen : MonoBehaviour
{
// 캡처할 모니터 인덱스 (2 = 첫번째 모니터)
public int selectMonitorIndex = 2;
public int takeNumber;
int monitorIndex = 0;
MONITORINFO selectMonitor;
int selectWidth;
int selectHeight;
[SerializeField]
TMP_InputField inputPrefix;
[SerializeField]
TMP_InputField inputResult;
[SerializeField]
DirectorySelect directorySelector;
// WinAPI 구조체
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int left, top, right, bottom;
}
[SerializeField] TMP_InputField inputPrefix;
[SerializeField] TMP_InputField inputResult;
[SerializeField] DirectorySelect directorySelector;
// --- Windows 전용 구조체 및 변수 ---
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
[StructLayout(LayoutKind.Sequential)] public struct RECT { public int left, top, right, bottom; }
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct MONITORINFO
{
@@ -45,109 +30,107 @@ public class TakeScreen : MonoBehaviour
public RECT rcMonitor;
public RECT rcWork;
public int dwFlags;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string szDevice;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] public string szDevice;
}
// WinAPI 델리게이트
private delegate bool MonitorEnumProc(IntPtr hMonitor, IntPtr hdcMonitor, ref RECT lprcMonitor, IntPtr dwData);
[DllImport("user32.dll")] private static extern bool EnumDisplayMonitors(IntPtr hdc, IntPtr lprcClip, MonitorEnumProc lpfnEnum, IntPtr dwData);
[DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern bool GetMonitorInfo(IntPtr hMonitor, ref MONITORINFO lpmi);
[DllImport("user32.dll")] private static extern IntPtr GetDC(IntPtr hWnd);
[DllImport("gdi32.dll")] private static extern IntPtr CreateCompatibleDC(IntPtr hdc);
[DllImport("gdi32.dll")] private static extern IntPtr CreateCompatibleBitmap(IntPtr hdc, int width, int height);
[DllImport("gdi32.dll")] private static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);
[DllImport("gdi32.dll")] private static extern bool BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
[DllImport("gdi32.dll")] private static extern bool DeleteObject(IntPtr hObject);
[DllImport("gdi32.dll")] private static extern bool DeleteDC(IntPtr hdc);
[DllImport("user32.dll")] private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
// WinAPI 함수
[DllImport("user32.dll")]
private static extern bool EnumDisplayMonitors(IntPtr hdc, IntPtr lprcClip, MonitorEnumProc lpfnEnum, IntPtr dwData);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern bool GetMonitorInfo(IntPtr hMonitor, ref MONITORINFO lpmi);
[DllImport("user32.dll")]
private static extern IntPtr GetDC(IntPtr hWnd);
[DllImport("gdi32.dll")]
private static extern IntPtr CreateCompatibleDC(IntPtr hdc);
[DllImport("gdi32.dll")]
private static extern IntPtr CreateCompatibleBitmap(IntPtr hdc, int width, int height);
[DllImport("gdi32.dll")]
private static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);
[DllImport("gdi32.dll")]
private static extern bool BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight,
IntPtr hdcSrc, int nXSrc, int nYSrc, CopyPixelOperation dwRop);
[DllImport("gdi32.dll")]
private static extern bool DeleteObject(IntPtr hObject);
[DllImport("gdi32.dll")]
private static extern bool DeleteDC(IntPtr hdc);
[DllImport("user32.dll")]
private static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
MONITORINFO selectMonitor;
int selectWidth;
int selectHeight;
int monitorIndex = 0;
#endif
private void Start()
{
Debug.Log("=== 모든 모니터 정보 ===");
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, MonitorCallback, IntPtr.Zero);
#else
Debug.Log("macOS 환경입니다. 시스템 기본 스크린샷 기능을 사용합니다.");
#endif
}
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
private bool MonitorCallback(IntPtr hMonitor, IntPtr hdcMonitor, ref RECT lprcMonitor, IntPtr dwData)
{
MONITORINFO mi = new MONITORINFO();
mi.cbSize = Marshal.SizeOf(typeof(MONITORINFO));
monitorIndex++;
if (GetMonitorInfo(hMonitor, ref mi) && monitorIndex == selectMonitorIndex)
{
int width = mi.rcMonitor.right - mi.rcMonitor.left;
int height = mi.rcMonitor.bottom - mi.rcMonitor.top;
bool isPrimary = (mi.dwFlags & 1) != 0;
Debug.Log(
$"{mi.szDevice} 모니터 \n" +
$" - 해상도 : {width} x {height}\n" +
$" - 위치 : x = {mi.rcMonitor.left}, y = {mi.rcMonitor.top}\n" +
$" - 주 모니터 여부 : {isPrimary}\n"
);
selectMonitor = mi;
selectWidth = width;
selectHeight = height;
selectWidth = mi.rcMonitor.right - mi.rcMonitor.left;
selectHeight = mi.rcMonitor.bottom - mi.rcMonitor.top;
}
return true; // 계속 나머지 모니터 순회
return true;
}
#endif
public void Take()
{
string fileName = $"{inputPrefix.text}_{string.Format("{0:D2}", takeNumber)}.png";
string fileName = $"{inputPrefix.text}_{takeNumber:D2}.png";
string savePath = Path.Combine(directorySelector.selectedFolderPath, fileName);
Shot(selectMonitor.rcMonitor.left, selectMonitor.rcMonitor.top, selectWidth, selectHeight, savePath);
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
ShotWin(selectMonitor.rcMonitor.left, selectMonitor.rcMonitor.top, selectWidth, selectHeight, savePath);
#elif UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
ShotMac(savePath);
#endif
inputResult.text = savePath;
takeNumber++;
}
void Shot(int x, int y, int width, int height, string savePath)
// Windows 캡처 로직
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
void ShotWin(int x, int y, int width, int height, string savePath)
{
IntPtr desktopDC = GetDC(IntPtr.Zero);
IntPtr memoryDC = CreateCompatibleDC(desktopDC);
IntPtr bitmap = CreateCompatibleBitmap(desktopDC, width, height);
IntPtr oldBitmap = SelectObject(memoryDC, bitmap);
BitBlt(memoryDC, 0, 0, width, height, desktopDC, x, y, CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt);
// 0x00CC0020 = SRCCOPY, 0x40000000 = CAPTUREBLT
BitBlt(memoryDC, 0, 0, width, height, desktopDC, x, y, 0x00CC0020 | 0x40000000);
using (Bitmap bmp = Image.FromHbitmap(bitmap))
{
bmp.Save(savePath, ImageFormat.Png);
}
// 정리
SelectObject(memoryDC, oldBitmap);
DeleteObject(bitmap);
DeleteDC(memoryDC);
ReleaseDC(desktopDC, memoryDC);
inputResult.text = savePath;
ReleaseDC(IntPtr.Zero, desktopDC);
}
#endif
// macOS 캡처 로직
#if UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX
void ShotMac(string savePath)
{
// macOS는 시스템 명령어를 통해 스크린샷을 찍는 것이 가장 안정적입니다.
// -x: 소리 없음, -C: 커서 포함(선택)
// 만약 특정 모니터만 찍어야 한다면 -D 옵션을 사용합니다 (예: -D 1)
string args = $"-x \"{savePath}\"";
try
{
System.Diagnostics.Process.Start("screencapture", args);
Debug.Log($"macOS 스크린샷 저장 완료: {savePath}");
}
catch (Exception e)
{
Debug.LogError($"macOS 스크린샷 실패: {e.Message}");
}
}
#endif
}

View File

@@ -5,7 +5,7 @@ EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 1
- enabled: 0
path: Assets/Scenes/SampleScene.unity
guid: 8c9cfa26abfee488c85f1582747f6a02
m_configObjects:

View File

@@ -12,16 +12,16 @@ PlayerSettings:
targetDevice: 2
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: DefaultCompany
productName: ScreenCapture
companyName: Cooney Studio
productName: Screen Capture
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
m_SplashScreenBackgroundColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
m_ShowUnitySplashScreen: 1
m_ShowUnitySplashLogo: 1
m_SplashScreenOverlayOpacity: 1
m_SplashScreenAnimation: 1
m_SplashScreenLogoStyle: 1
m_SplashScreenLogoStyle: 0
m_SplashScreenDrawMode: 0
m_SplashScreenBackgroundAnimationZoom: 1
m_SplashScreenLogoAnimationZoom: 1
@@ -42,8 +42,8 @@ PlayerSettings:
m_SplashScreenLogos: []
m_VirtualRealitySplashScreen: {fileID: 0}
m_HolographicTrackingLossScreen: {fileID: 0}
defaultScreenWidth: 1920
defaultScreenHeight: 1080
defaultScreenWidth: 480
defaultScreenHeight: 320
defaultScreenWidthWeb: 960
defaultScreenHeightWeb: 600
m_StereoRenderingPath: 0
@@ -83,7 +83,7 @@ PlayerSettings:
androidApplicationEntry: 2
defaultIsNativeResolution: 1
macRetinaSupport: 1
runInBackground: 0
runInBackground: 1
muteOtherAudioSources: 0
Prepare IOS For Recording: 0
Force IOS Speakers When Recording: 0
@@ -91,7 +91,7 @@ PlayerSettings:
deferSystemGesturesMode: 0
hideHomeButton: 0
submitAnalytics: 1
usePlayerLog: 1
usePlayerLog: 0
dedicatedServerOptimizations: 1
bakeCollisionMeshes: 0
forceSingleInstance: 0
@@ -107,8 +107,8 @@ PlayerSettings:
xboxEnableKinectAutoTracking: 0
xboxEnableFitness: 0
visibleInBackground: 1
allowFullscreenSwitch: 1
fullscreenMode: 1
allowFullscreenSwitch: 0
fullscreenMode: 3
xboxSpeechDB: 0
xboxEnableHeadOrientation: 0
xboxEnableGuest: 0