Compare commits
53 Commits
feature/ui
...
OctopusSim
| Author | SHA1 | Date | |
|---|---|---|---|
| 20d0c19a7b | |||
| 43772daa55 | |||
| 28cd9b1582 | |||
| 0401be3d23 | |||
| b2283d04c1 | |||
| 4a25b39d7b | |||
| 34376d1257 | |||
| f2fc48e9c4 | |||
| a4f64aa783 | |||
| c0e6ac46d5 | |||
| 739531f8e2 | |||
| 252e852d5d | |||
| 9b3955eafe | |||
| 9356a9807d | |||
| 553981c993 | |||
| d70cc3411c | |||
| b5565c54ac | |||
| 76b246058e | |||
| 537623bae9 | |||
| 3d8d75f0b6 | |||
| 779e72002e | |||
| c78df1fc0e | |||
| b8fe7b1d50 | |||
| 1a896a85fe | |||
| ccfd244efd | |||
| 086e61cfc2 | |||
| 2d36b4247f | |||
| 6b78b68229 | |||
| d4764e304f | |||
| 3dba350fc2 | |||
| 7f1955e57a | |||
| d600885302 | |||
| 8a2ffed689 | |||
| d31408663b | |||
| dbd841c3a0 | |||
| c8a86e9081 | |||
| b0d2ffc974 | |||
| 8fa250943a | |||
| e633c83fe0 | |||
| 5f58de3185 | |||
| 79158576cf | |||
| 0bea75fcd0 | |||
| b6c7f163da | |||
| 404865dca1 | |||
| 581cac7941 | |||
| 107da72dee | |||
| 5956672127 | |||
|
|
bea3d4a804 | ||
| bb7ed2d6dc | |||
| 984e9188c1 | |||
| 90fa689bce | |||
| 11dca464d9 | |||
| 607cedd782 |
@@ -1,45 +1,7 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(dir:*)",
|
||||
"Bash(powershell -Command:*)",
|
||||
"Bash(mkdir:*)",
|
||||
"Bash(cat:*)",
|
||||
"Bash(move:*)",
|
||||
"Bash(find:*)",
|
||||
"Bash(claude mcp add:*)",
|
||||
"Bash(claude mcp list:*)",
|
||||
"Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\Input\\\\NumberStepper.cs\")",
|
||||
"Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\Modal\\\\UTKColorPickerHSV.cs\")",
|
||||
"mcp__UnityMCP__read_console",
|
||||
"Bash(git mv:*)",
|
||||
"Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Tab\\\\UTKTab.uss\")",
|
||||
"Bash(cmd //c \"del /f \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Tab\\\\UTKTab.uss\"\"\")",
|
||||
"mcp__UnityMCP__execute_menu_item",
|
||||
"mcp__UnityMCP__manage_editor",
|
||||
"Bash(timeout:*)",
|
||||
"mcp__UnityMCP__manage_asset",
|
||||
"mcp__UnityMCP__manage_scene",
|
||||
"Bash(git checkout:*)",
|
||||
"Bash(git -C \"d:/works/2025/02.Studio/dev/base/XRBase\" checkout HEAD -- \"Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss\" \"Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\" \"Assets/Resources/UIToolkit/Tab/UTKTabView.uss\" \"Assets/Resources/UIToolkit/List/UTKListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKComponents.uss\")",
|
||||
"Bash(cmd /c \"cd /d d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase && git log --oneline -10 -- Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\")",
|
||||
"Bash(New-Item -ItemType Directory -Path \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Sample\\\\Window\" -Force)",
|
||||
"Bash(cmd /c \"echo ^<?xml version=\"\"1.0\"\" encoding=\"\"utf-8\"\"?^>^<ui:UXML xmlns:ui=\"\"UnityEngine.UIElements\"\" xmlns:utk=\"\"UVC.UIToolkit\"\"^>^<utk:UTKLabel name=\"\"label\"\" text=\"\"Label\"\" class=\"\"utk-property-item-view__label\"\" /^>^<ui:VisualElement name=\"\"value-container\"\" class=\"\"utk-property-item-view__value\"\"^>^</ui:VisualElement^>^</ui:UXML^>\")",
|
||||
"Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKBoolPropertyItemView.uxml\")",
|
||||
"Bash(del:*)",
|
||||
"Bash(cmd /c \"del /q \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKIntPropertyItemViewSliderUss.uss\"\" \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKFloatPropertyItemViewSliderUss.uss\"\"\")",
|
||||
"mcp__UnityMCP__refresh_unity",
|
||||
"Bash(powershell \"Get-Process Unity -ErrorAction SilentlyContinue | Select-Object -First 1 | Format-List\")",
|
||||
"Bash(cmd /c \"mkdir \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\ToolBar\\\\Data\"\" && mkdir \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\ToolBar\\\\Items\"\" && mkdir \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\ToolBar\"\"\")",
|
||||
"Bash(/bin/ls:*)",
|
||||
"Bash(/bin/mkdir -p:*)",
|
||||
"Bash(/bin/rm:*)",
|
||||
"WebFetch(domain:docs.unity3d.com)",
|
||||
"Bash(ls:*)",
|
||||
"WebFetch(domain:discussions.unity.com)",
|
||||
"mcp__ai-game-developer__screenshot-game-view"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
"Bash(cd:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
2
.github/copilot-instructions.md
vendored
2
.github/copilot-instructions.md
vendored
@@ -1,2 +0,0 @@
|
||||
프로젝트 루트 폴더의 CLAUDE.md를 참조해
|
||||
답변은 항상 한국어로 작성해
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -83,8 +83,3 @@ crashlytics-build.properties
|
||||
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta
|
||||
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers
|
||||
/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta
|
||||
|
||||
|
||||
.DS_Store
|
||||
.idea/
|
||||
.vscode/
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"mcpServers": {
|
||||
"ai-game-developer": {
|
||||
"type": "http",
|
||||
"url": "http://localhost:55726"
|
||||
}
|
||||
}
|
||||
}
|
||||
5
.vscode/extensions.json
vendored
5
.vscode/extensions.json
vendored
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"visualstudiotoolsforunity.vstuc"
|
||||
]
|
||||
}
|
||||
10
.vscode/launch.json
vendored
10
.vscode/launch.json
vendored
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Attach to Unity",
|
||||
"type": "vstuc",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
||||
70
.vscode/settings.json
vendored
70
.vscode/settings.json
vendored
@@ -1,70 +0,0 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/.DS_Store": true,
|
||||
"**/.git": true,
|
||||
"**/.vs": true,
|
||||
"**/.gitmodules": true,
|
||||
"**/.vsconfig": true,
|
||||
"**/*.booproj": true,
|
||||
"**/*.pidb": true,
|
||||
"**/*.suo": true,
|
||||
"**/*.user": true,
|
||||
"**/*.userprefs": true,
|
||||
"**/*.unityproj": true,
|
||||
"**/*.dll": true,
|
||||
"**/*.exe": true,
|
||||
"**/*.pdf": true,
|
||||
"**/*.mid": true,
|
||||
"**/*.midi": true,
|
||||
"**/*.wav": true,
|
||||
"**/*.gif": true,
|
||||
"**/*.ico": true,
|
||||
"**/*.jpg": true,
|
||||
"**/*.jpeg": true,
|
||||
"**/*.png": true,
|
||||
"**/*.psd": true,
|
||||
"**/*.tga": true,
|
||||
"**/*.tif": true,
|
||||
"**/*.tiff": true,
|
||||
"**/*.3ds": true,
|
||||
"**/*.3DS": true,
|
||||
"**/*.fbx": true,
|
||||
"**/*.FBX": true,
|
||||
"**/*.lxo": true,
|
||||
"**/*.LXO": true,
|
||||
"**/*.ma": true,
|
||||
"**/*.MA": true,
|
||||
"**/*.obj": true,
|
||||
"**/*.OBJ": true,
|
||||
"**/*.asset": true,
|
||||
"**/*.cubemap": true,
|
||||
"**/*.flare": true,
|
||||
"**/*.mat": true,
|
||||
"**/*.meta": true,
|
||||
"**/*.prefab": true,
|
||||
"**/*.unity": true,
|
||||
"build/": true,
|
||||
"Build/": true,
|
||||
"Library/": true,
|
||||
"library/": true,
|
||||
"obj/": true,
|
||||
"Obj/": true,
|
||||
"Logs/": true,
|
||||
"logs/": true,
|
||||
"ProjectSettings/": true,
|
||||
"UserSettings/": true,
|
||||
"temp/": true,
|
||||
"Temp/": true
|
||||
},
|
||||
"files.associations": {
|
||||
"*.asset": "yaml",
|
||||
"*.meta": "yaml",
|
||||
"*.prefab": "yaml",
|
||||
"*.unity": "yaml"
|
||||
},
|
||||
"explorer.fileNesting.enabled": true,
|
||||
"explorer.fileNesting.patterns": {
|
||||
"*.sln": "*.csproj"
|
||||
},
|
||||
"dotnet.defaultSolution": "XRBase.slnx"
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c47b285e8fe4b2248a2cad2a1a97bc15
|
||||
folderAsset: yes
|
||||
timeCreated: 1553410075
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,681 +0,0 @@
|
||||
version 2.9.2
|
||||
|
||||
- ZIP: Added the extract_entries function which allows to extract a specific list of entries of a zip archive.
|
||||
|
||||
|
||||
version 2.9.1
|
||||
|
||||
- Fixed compatibility issues with Unity 2022 for the Lz4, Lzma, Brotli and Flz plugin scripts.
|
||||
- ZIP: Updated the WebGL demo script to work correctly with NativeFileBuffers. (On Unity2022.x+ you should enable http connection for the demo)
|
||||
- Brotli: Added a separate WebGL demo scene.
|
||||
|
||||
|
||||
version 2.9
|
||||
|
||||
- Updated WebGL plugins for Unity 2021+
|
||||
- Added a custom download functions to the plugins, to download a file to a native (unmanaged) memory buffer.
|
||||
- All Plugins: Ability to pass an IntPtr unmanaged buffer as a file buffer where supported.
|
||||
- ZIP: IntPtr (native memory buffers) and inMemory lzip class can be passed now as a file Buffer.
|
||||
This allows avoiding memory spikes when downloading large files to unzip.
|
||||
- ZIP: Gzip file functions return -8 now on cancel.
|
||||
|
||||
- Brotli:WebGL: fixed an issue with not releasing a buffer on decompression.
|
||||
- Brotli:WebGL: fixed an issue with Development builds.
|
||||
|
||||
- Native buffer examples updated because dropbox would not allow the webrequest function to work properly.
|
||||
- ZIP: CompressDir function: fixed an issue where the inplace zip creation (without adding a custom output file) would truncate the last character.
|
||||
- Removed Linux x86 plugins for Unity 2019+ (no longer supported by Unity)
|
||||
- Added Android x86_64 plugins for Unity 2019+
|
||||
- Removed Windows x86 plugins for Unity 2021+ (no longer supported by Unity)
|
||||
|
||||
|
||||
version 2.8.1
|
||||
|
||||
- Added Android x86_64 plugins to support Chrome OS (2019, 2020 and 2021 versions).
|
||||
|
||||
|
||||
version 2.8
|
||||
|
||||
- ZIP: Critical Fix for the delete_entry functions.
|
||||
- ZIP: Added MacOS bundles: Intel only, Silicon only, Universal (Intel + Silicon)
|
||||
|
||||
|
||||
|
||||
version 2.7.5
|
||||
|
||||
- Zip: Fix for Marshal.StringToCoTaskMemAuto -> Marshal.StringToHGlobalAuto on Unity 2019.3 or older (il2cpp Android)
|
||||
- Brotli: buffer functions got uncompressed size parameter.
|
||||
- MacOS bundles BigSur. Optional silicon support via zipped .bundles (MacOS 10.9 minimum)
|
||||
|
||||
|
||||
version 2.7.4
|
||||
|
||||
- Brotli: Added support for WebGL to allow decompression of brotli buffers.
|
||||
- 7Zip: Fixed some issues with the demo script.
|
||||
- ZIP: Fixed some preprocessor issues that caused compilation errors on some platforms.
|
||||
- ZIP: The setPermissions function was accidentaly removed in a previous update. Now reinstated.
|
||||
- ZIP: Fixed date issues when extracting zip archives.
|
||||
|
||||
|
||||
version 2.7.3
|
||||
|
||||
- ZIP: Windows: reintroduced the lzip.setEncoding function, since some applications do not use utf8 encoding for filenames.
|
||||
|
||||
|
||||
version 2.7.2 [important update]
|
||||
|
||||
- ZIP: Windows: Resolved all issues with Unicode paths (reading and writing)
|
||||
- ZIP: All platforms: All file paths/names will be treated as utf-8
|
||||
- ZIP: Gzip file decompression got 4 times faster.
|
||||
- FLZ: Fixed the decompress buffer function.
|
||||
|
||||
version 2.7.1
|
||||
|
||||
- ZIP: Fixed Unicode issues with the windows plugins.
|
||||
|
||||
|
||||
version 2.7 [Major update]
|
||||
|
||||
- 7ZIP: Added byte level progress for 7zip extraction (whole files/fileBuffers or entries)
|
||||
- 7ZIP: Added byte level progress for lzma alone creation/decompression.
|
||||
- 7ZIP: For this reason 3 new functions have been introduced. See examples and docs.
|
||||
- 7ZIP: Improved entry search and extraction speed.
|
||||
- 7ZIP: Fixed an issue with entries extraction, where some unwanted empty folders could be extracted.
|
||||
- 7ZIP: Decompress buffer imporoved.
|
||||
- 7ZIP: Fixed issues with files larger then 2GB on 64bit systems.
|
||||
- 7ZIP: Linux: reintroduced FileBuffers for Linux.
|
||||
- 7ZIP: Protection against illegal characters in 7z entries.
|
||||
- 7ZIP: The get7zInfo and get7zSize functions run faster and no more a temp log is needed.
|
||||
|
||||
- LZ4: Progress of decompression is a ulong now.
|
||||
|
||||
|
||||
- ZIP: Added support for tar/untar.
|
||||
- ZIP: Added support for tar.gz, tar.bz2 creation.
|
||||
- ZIP: Protection against illegal characters in entries.
|
||||
- ZIP: Added ability to create and decompress bz2 files.
|
||||
- ZIP: Protection against illegal characters in zip entries.
|
||||
- ZIP: Faster reaction to the cancel command.
|
||||
- ZIP: Fixed gzip file decompression issues.
|
||||
- ZIP: gzip uncompress progress relies on the compressed files size now.
|
||||
|
||||
- ALL: tvOS uses the same functions as WebGL now, since it does not allow access to the file system.
|
||||
- ALL: Combined tvOS and WebGL in one demo scene.
|
||||
(WebGL sample scenes renamed to reflect the above changes.)
|
||||
- ALL: Updated and refactored the demo scene and scripts to reflect the new changes.
|
||||
- ALL: Removed the Streaming Assets folder files. All example files are downloaded now.
|
||||
|
||||
- ALL:LINUX: Only one glibc version of Linux plugins now provided (glibc2.17)
|
||||
|
||||
In general, a lot more has been done to improve the stability and usability of the plugins.
|
||||
|
||||
|
||||
version 2.6.3
|
||||
|
||||
- Brotli: Fixed the buffer functions.
|
||||
|
||||
|
||||
version 2.6.2
|
||||
|
||||
- 7zip: Windows: Unicode issues resolved.
|
||||
- 7zip: Added a cancel function when decompressing 7zip archives with multiple entries.
|
||||
- 7zip: Linux: FileBuffers disabled for now on Linux since they are not stable.
|
||||
- ZIP: Hotfix: the previous update broke the decompression of zip file. It is now fixed!
|
||||
- ZIP: Added 2 new functions to gzip and ungzip archives on the File System.
|
||||
|
||||
|
||||
version 2.6.1
|
||||
|
||||
- ZIP: Hot fix for zips that contain the __MACOSX folder.
|
||||
- ZIP: Added simulator plugin for iOS.
|
||||
|
||||
|
||||
version 2.6 (ZIP: Important feature and maintenance update)
|
||||
|
||||
- ZIP: Setting level of compression to zero will now use the STORE method.
|
||||
- ZIP: Added the setCancel() function to cancel the compress_File, compressDir, compress_File_List, decompress_File, extract_entry, entry2Buffer functions.
|
||||
- ZIP: Added the ability to get byte level progress when compressing files.
|
||||
- ZIP: Android arm64-v8a plugin should decompress files larger then 2GB now.
|
||||
- ZIP: Windows: compression with unicode characters in path should work correct now.
|
||||
- ZIP: The getEntrySize function returns a ulong value now.
|
||||
- ZIP: The getFileInfo function filled Lists for uncompressed, compressed and localOffset are filled with UInt64 values now.
|
||||
- ZIP: The getFileInfo function fills a new list localOffset. Useful for archives with the STORE method to find the position in the zip. (you should add + 30 bytes + name.length to get the final offset)
|
||||
- ZIP: Demo script updated to reflect the new changes.
|
||||
- 7zip: When extracting a 7z archive the output folder should be created when not existing now.
|
||||
|
||||
version 2.58
|
||||
|
||||
- ZIP: fixed WebGL issues on Unity 2019.x
|
||||
- fixed ios/tvos issue with bitcode plugins on xcode 11.x
|
||||
- Lzma/7zip: fixed issue with the windows plugins. Now bcj and ppmd are back.
|
||||
|
||||
|
||||
version 2.57
|
||||
|
||||
- ZIP: Process of decompression in bytes now returned as ulong.
|
||||
- ZIP: Fixed an issue with ios/tvOS caused by the 1.64 update.
|
||||
|
||||
|
||||
version 2.56
|
||||
|
||||
- ZIP: Hotfix for the compressDir/compress_File_List functions. The plugin could crash when thousands of files were going to get compressed.
|
||||
|
||||
|
||||
version 2.55
|
||||
|
||||
- ZIP: Using compress_File/compress_File_List/compressDir to append multiple files to a zip were very slow. Now compress_File_List and compressDir work very fast.
|
||||
- ZIP: For the same reason the inMemory class got some low level functions to allow much faster appending of multiple entries. See examples and docs.
|
||||
|
||||
version 2.54
|
||||
|
||||
- ZIP: Critical fix for the inMemory zip creation functions. All users that use these functions should update to this version.
|
||||
- ZIP: Added a public function to the inMemory struct for getting the byte[] buffer of the inMemory created zip.
|
||||
|
||||
|
||||
version 2.53 [Major update]
|
||||
|
||||
- ZIP: WebGL has now full zip support. Obviously not on the file system but on memory buffers. (bz2 method not supported yet.)
|
||||
- ZIP: Webgl got zlib buffer support again. (Was misplaced in a previous update.)
|
||||
- ZIP: Added the ability to find merged/hidden zip/gzip archives in files or buffers and extract/get info from them.
|
||||
- ZIP: iOS/tvOS: fixed potential issues with admob/facebook/google sdk.
|
||||
- ZIP: Windows/Android: fixed bz2 issue.
|
||||
- ZIP: bz2 method support for inmemory compression. (not for macos/ios/tvos/webgl.)
|
||||
- All Plugins-tvOS: fixed preprocessor issues on newer versions of Unity.
|
||||
- plugin binary sizes got smaller.
|
||||
- updated the benchmark script.
|
||||
|
||||
version 2.52
|
||||
|
||||
- ZIP: fixed some C# issues with the compress_dir and compress_file_list functions
|
||||
|
||||
|
||||
version 2.51
|
||||
|
||||
- ZIP: iOS/tvOS: fixed duplicate symbol issue with Unity2018.
|
||||
|
||||
|
||||
version 2.50
|
||||
|
||||
- ZIP: iOS/tvOS: fixed some conflict issues with the Facebook SDK.
|
||||
|
||||
version 2.49
|
||||
|
||||
- tvOS plugins were accidentally not provided as bitcode by default.
|
||||
|
||||
version 2.48
|
||||
|
||||
- tvOS has its own plugin folder now.
|
||||
- iOS/tvOS plugins are provided by default as bitcode enabled. (non bitcode versions are still provided.)
|
||||
|
||||
version 2.47
|
||||
|
||||
- 7z/lzma: fixed some issues with the windows plugins.
|
||||
- ZIP: Added the ability to create In Memory zip archives and manipulate them.
|
||||
- MacOS: removed the 32bit only bundle.
|
||||
- Replaced the www functions with UnityWebRequest.
|
||||
- Removed the watchOS plugins.
|
||||
- Docs updated.
|
||||
|
||||
version 2.46
|
||||
|
||||
- LZMA/Windows x86/Il2cpp: fixed a crash issue.
|
||||
|
||||
|
||||
version 2.45
|
||||
|
||||
- Android arm64 plugins for brotli, flz, lz4 & 7zip updated to fix a crash when using FileBuffers.
|
||||
|
||||
|
||||
version 2.44
|
||||
|
||||
- ZIP: buffer2File fix. (was adding modified time field when it was not needed.)
|
||||
|
||||
- Added Linux glibc 2.17 version plugins (useful for SteamOS).
|
||||
|
||||
|
||||
version 2.43
|
||||
|
||||
- ZIP: Fixed some preprocessor directives.
|
||||
|
||||
version 2.42
|
||||
|
||||
- ZIP: Added the ability to create split zip archives.
|
||||
- ZIP: Fixed an issue with the iOS bitcode enabled plugin.
|
||||
|
||||
version 2.41
|
||||
|
||||
- Addded arm64-v8a Android support for all plugins.
|
||||
|
||||
- Removed WSA support for all plugins.
|
||||
|
||||
- Separated the plugin folders for each category.
|
||||
|
||||
- MacOS plugins compiled only for 64 bit now.
|
||||
|
||||
- ZIP: Resolved some il2cpp issues.
|
||||
|
||||
- ZIP: Unicode filenames on decompression should work now on Windows.
|
||||
|
||||
- ZIP: decompress of split zip archives in the form of 1.zip, 1.z01, 1.z02, ...
|
||||
|
||||
- LZ4/WebGL compress buffer fix.
|
||||
|
||||
|
||||
version 2.32
|
||||
|
||||
- ZIP: Hotfix for password encoded zip files not creating folders.
|
||||
- ZIP: Hotfix for the compressDir function.
|
||||
|
||||
|
||||
version 2.31
|
||||
|
||||
- ZIP: Added the entry2FixedBuffer function to decompress an entry to a fixed size buffer.
|
||||
|
||||
- ZIP: The getFileInfo is now much faster on zip archives with thousands of files.
|
||||
|
||||
|
||||
version 2.30
|
||||
|
||||
- ZIP: Added the getEntryDateTime function, to get DateTime for a specific entry
|
||||
|
||||
- Updated the file sample links of the demos, due to a server switch.
|
||||
|
||||
|
||||
version 2.29
|
||||
|
||||
- ZIP: Removed encryption/decryption for WSA due to certification reasons.
|
||||
|
||||
|
||||
|
||||
version 2.28.2
|
||||
|
||||
- ZIP: iOS/MacOS Hotfix.
|
||||
|
||||
- ZIP: bz2 method removed for MacOS/iOS/watchOS/tvOS because it is not working correctly.
|
||||
|
||||
|
||||
|
||||
version 2.28.1
|
||||
|
||||
- Zip: The -lz linking flag should be added for iOS/watchOS/tvOS on xcode.
|
||||
|
||||
- Plugins moved to ADL-Plugins folder.
|
||||
|
||||
|
||||
|
||||
version 2.28 [Major zip update]
|
||||
|
||||
- Zip: Added Encryption/Decryption support.
|
||||
|
||||
- Zip: Added bz2 as an alternative compression/decompression method of zip archives.
|
||||
|
||||
- Zip: WSA supports now FileBuffers.
|
||||
|
||||
- Zip: On WSA encryption is supported only on UWP10 x64.
|
||||
|
||||
- Zip: Better Unicode support on Windows platforms.
|
||||
|
||||
- Zip: Faster and more reliable getInfo function. (intermediate file is not used anymore.)
|
||||
|
||||
- Zip: Low level functions have been removed due to inconsistency between platforms.
|
||||
|
||||
- Zip: Added the ability to compress a list of files into a single archive.
|
||||
|
||||
|
||||
|
||||
|
||||
version 2.27
|
||||
|
||||
- Added webGL LZ4 support for compression / decompression of buffers.
|
||||
|
||||
|
||||
|
||||
version 2.26
|
||||
|
||||
- Reintroduced webGL support for zip/gzip, flz and lzma compression/decompression of buffers.
|
||||
|
||||
|
||||
version 2.25
|
||||
|
||||
- Zip: hotfix for zip files which use backslashes instead of slashes for directories
|
||||
|
||||
- Zip: Linux/MacOS fixes for the low level functions on standalone builds.
|
||||
|
||||
- Zip/ios: watchOS & tvOS. Added simulator plugins.
|
||||
|
||||
|
||||
version 2.24
|
||||
|
||||
- Zip: Added zip64 support.
|
||||
|
||||
- Zip: Added low level functions (except for WSA) - see demo and lzip.cs.
|
||||
|
||||
- Zip: WSA8.1 fixes.
|
||||
|
||||
- Zip: Added a setEncoding function for Windows and WSA10 to set text encoding on file names.
|
||||
|
||||
- Zip: Added a validate function to check sanity of zip files.
|
||||
|
||||
- Zip: The getTotalFiles will now return only the true files number (no folders and no zero byte files).
|
||||
|
||||
- All plugins: Removed WebGL support since it is almost impossible to work on Unity5.5.
|
||||
|
||||
|
||||
version 2.22
|
||||
|
||||
- changed links for demo projects
|
||||
|
||||
|
||||
version 2.21
|
||||
|
||||
- fix for a WSA/x86/il2cpp crash.
|
||||
|
||||
|
||||
version 2.2
|
||||
|
||||
Removed WebGL support for the LZ4 plugin since there are too many conflicts with Unity5.5.
|
||||
If you have the LZ4 webgl plugin in your project and you are on Unity5.5 you are advised to removed it.
|
||||
|
||||
|
||||
version 2.19
|
||||
|
||||
zip/All platforms: added the delete_entry function to delete an entry in a zip file.
|
||||
zip/All platforms: added the replace_entry function to replace an entry in a zip file(from a filepath or a buffer).
|
||||
|
||||
|
||||
version 2.18
|
||||
|
||||
iOS/zip/bitcode: removed older version of bitcode compiled lib which was missing the new ungzip function.
|
||||
|
||||
|
||||
version 2.17
|
||||
|
||||
zip/Windows: A small fix to the getTotalFiles function to allow to work correctly with FileBuffers.
|
||||
|
||||
|
||||
version 2.16
|
||||
|
||||
ZIP All Platforms: Fixed a bug that was introduced in a previous update that had to with the outbuffer length. Now the gzip functions behave as intended.
|
||||
|
||||
ZIP Windows: Now you can treat a zip file that is loaded in a byte buffer as a file.
|
||||
|
||||
ZIP ios/gzip: updated the gzip functions.
|
||||
|
||||
|
||||
version 2.15
|
||||
|
||||
Linux: fixed preprocessor directives for Unity5.4.x and up.
|
||||
|
||||
|
||||
version 2.14
|
||||
|
||||
gzip: Fixed Android issues and added a 2nd ungzip function.
|
||||
|
||||
|
||||
version 2.13
|
||||
|
||||
zip/Windows: better unicode support. Unity5.4 compatibility fix.
|
||||
|
||||
|
||||
version 2.12
|
||||
|
||||
lzma: fixed a bug with lzma compression. (lzma compression on already compressed files would produce corrupted lzma files.)
|
||||
|
||||
|
||||
version 2.11
|
||||
|
||||
zip/iOS: hotfix to fix a GcHandle crash.
|
||||
LZ4: added compress buffer to a specific location of a fixed size buffer.
|
||||
LZ4: added decompress an lz4 buffer from a specific location of a fixed size buffer.
|
||||
|
||||
|
||||
version 2.1 (Major update)
|
||||
|
||||
- Added Brotli support for all platforms except WebGL & watchOS.
|
||||
|
||||
- zip: added gzip support. Can operate on buffers with or without headers/footers.
|
||||
|
||||
- zip: added progress for individual file decompression.
|
||||
|
||||
- Android, Linux, iOS, MacOSX got chmod support to set file permissions.
|
||||
|
||||
- iOS: made the plugins much smaller in size.
|
||||
|
||||
- Reorganized the demo folders. You are adviced to delete the demo folders before updating the sample scenes.
|
||||
|
||||
|
||||
|
||||
version 2.09
|
||||
|
||||
- Added bitcode supported plugins for iOS
|
||||
|
||||
|
||||
version 2.08
|
||||
|
||||
- Compatibility fixes for Windows Phone 8.1 and WSA8.1. Should work out of the box now.
|
||||
|
||||
- Added a benchmark scene.
|
||||
|
||||
|
||||
version 2.07
|
||||
|
||||
- lzma plugin: fix for decompression of asset bundles.
|
||||
|
||||
|
||||
version 2.06
|
||||
|
||||
- Winx86, Winx86_64 & WSA plugins: full unicode support on paths and filenames. Was problematic before.
|
||||
|
||||
|
||||
version 2.05 (important update)
|
||||
|
||||
- progress functions are the same on all platforms now. That introduced a small breaking code change.
|
||||
Instead of providing a referenced integer or float you provide a single item integer of float array.
|
||||
Removed deprecated iOS functions to get progress.
|
||||
|
||||
- iOS: renamed some native functions to avoid collision with unity's libiphone lib.
|
||||
|
||||
- lzma: added a function to decompress a compressed Asset Bundle.
|
||||
|
||||
- lzma: added an example on how to decompress a compressed asset bundle from the StreamingAssets Folder.
|
||||
|
||||
- zip: fixed an issue with decompressing of zip files containing the '__MACOSX' folder.
|
||||
The '__MACOSX' folder will be ignored along with files starting with '._' and files with 0 bytes size.
|
||||
|
||||
|
||||
|
||||
version 2.0 (Major update)
|
||||
|
||||
- Added WebGL support for all plugins!
|
||||
|
||||
- Linux, iOS, Android, MacOSX can treat now buffers as files. That means if you have a file in www.bytes
|
||||
you can perform operations directly on the buffer.
|
||||
For Android this is very useful since you can decompress from Streaming Assets without copying to
|
||||
Persistent data path.
|
||||
|
||||
- all plugins/all platforms: added support for fixed buffer operations to avoid memory allocations.
|
||||
|
||||
- lzma: added support for partial buffer compression.
|
||||
|
||||
- lzma: added the ability to modify the compression properties for buffers and lzma alone files.
|
||||
|
||||
- refactored the preprocessor directives to comply with Unity 5.3.
|
||||
|
||||
- iOS: simulator plugins have now universal, i386 and x86_64 variations.
|
||||
|
||||
|
||||
|
||||
version 1.9.1
|
||||
|
||||
- added fastLZ support.
|
||||
|
||||
|
||||
version 1.9
|
||||
|
||||
- Added LZ4 support. (Read the dedicated documentation for it.)
|
||||
|
||||
- Discontinued Blackberry support.
|
||||
|
||||
- Minor improvements for the lzma plugins.
|
||||
|
||||
- WSA10: Accidentally in the previous update the largeFiles support for 7z files was removed. Now it is back in.
|
||||
|
||||
- added a folder with the plugins separated as unitypackage files.
|
||||
|
||||
|
||||
version 1.8
|
||||
|
||||
- iOS: added tvOS, watchOS and simulator plugins.
|
||||
|
||||
- Unity5.2: added WSA SDK10 NetCore support. That means even XboxOne is supported.
|
||||
|
||||
(Delete the old Metro plugins folder, since it is replaced with a different naming scheme.)
|
||||
|
||||
|
||||
|
||||
version 1.7.7
|
||||
|
||||
- zip: corrected misbehaviour of the compressDir functions on some operating systems.
|
||||
|
||||
|
||||
version 1.7.6
|
||||
|
||||
- 7zip iOS: fixed a bug in the get7zInfo function when extracting from the StreamingAssets folder.
|
||||
|
||||
- zip iOS : updated the ios plugins to have minimum iOS support 6.0
|
||||
|
||||
|
||||
version 1.7.5
|
||||
|
||||
- removed vc++2013 dependency for windows editor.
|
||||
|
||||
- zip/7zip iOS: added extra workaround functions to get the progress of files when extracting multiple files in multiple threads. See documentation!
|
||||
|
||||
|
||||
version 1.7.4
|
||||
|
||||
- 7zip iOS: added an extra function to get properly the progress of the extracted files.
|
||||
|
||||
- 7zip iOS: now you can use the largeFiles flag when decompressing a file that is stored in StreamingAssets to some other folder with writing permissions.
|
||||
|
||||
- zip: - added 2 global integers zipFiles & zipFolders that get updated when calling the getFileInfo function.
|
||||
|
||||
|
||||
version 1.7.3
|
||||
|
||||
- Fix for the CompressDir function for the zip plugin.
|
||||
|
||||
- Total true files in a 7zip file are counted now when calling the get7zInfo function and stored in the trueTotalFiles integer variable.
|
||||
|
||||
|
||||
version 1.7.21
|
||||
|
||||
- Hotfix for iOS. Issue was conflicting functions between the zip and 7zip plugin.
|
||||
|
||||
version 1.7.1
|
||||
|
||||
- cleaned up 7z/lzma cs files.
|
||||
|
||||
- added a second method on 7zip decompression for not forcing the user to use a ref int to get the extraction progress when not needed/wanted.
|
||||
|
||||
|
||||
version 1.7
|
||||
|
||||
MAJOR UPDATE:
|
||||
|
||||
- Added full ZIP support (see appropriate documentation for more).
|
||||
In short, compression/decompression of files/directories and buffers is supported on all platforms.
|
||||
|
||||
- Changed the way how the decompression progress of archives with multiple files is returned.
|
||||
Now you have to provide a referenced integer where the progress will be written to.
|
||||
This was done to avoid shared memory violations when having multiple threads calling the same function.
|
||||
|
||||
- Progress works now for Linux and Win8.1 (Phone and WSA)
|
||||
|
||||
- Removed some obsolete functions and revamped the code.
|
||||
|
||||
- Added an example for Android, to copy a file from the StreamingAssets folder to the PersistantDataPath and do there file operations.
|
||||
|
||||
|
||||
|
||||
|
||||
version 1.6.2
|
||||
- critical bug fixed in the 7z decode2Buffer function that caused a crash. Works as expected now.
|
||||
|
||||
|
||||
version 1.6.1
|
||||
- cleaned up the cs code. Less preprocessor directives used now.
|
||||
|
||||
- updated Blackberry plugin. Added x86 binary.
|
||||
|
||||
|
||||
version 1.6
|
||||
|
||||
Major update:
|
||||
|
||||
-Ability to compress a buffer to the lzma format and to decompress a buffer that is in the lzma format.
|
||||
|
||||
-Added basic support for Windows Phone 8.1 and WSA plugins.
|
||||
|
||||
-Added a method to get the current number of files extracted from a 7z archive.
|
||||
(Provides a solution to get progress of decompression when the 7z archive has multiple files.)
|
||||
|
||||
- Fixed a bug in the Linux plugin where folders where not created correctly.
|
||||
|
||||
|
||||
version 1.5.8
|
||||
Added ppmd decompression method support.
|
||||
|
||||
|
||||
version 1.5.7
|
||||
Addressed memory leak issues and changed the get7zInfo and get7zSize functions.
|
||||
It is recommended to use this verion if you are calling the above functions on 7z archives
|
||||
that contain hundreds or thousands of files.
|
||||
|
||||
|
||||
version 1.5.5
|
||||
Added the ability to decode a specific file in a 7z archive to a byte buffer.
|
||||
|
||||
|
||||
version 1.5
|
||||
Added the ability to get filename and file size information of a 7z archive.
|
||||
Added the ability to encode/decode to/from .lzma alone format.
|
||||
|
||||
|
||||
version 1.4.5
|
||||
Added experimental Blackberry support.
|
||||
Made sure that iOS works on 64bit builds with il2cpp.
|
||||
|
||||
|
||||
version 1.4
|
||||
Added support for OSX and LINUX.
|
||||
Now you should be able to test in the editor and use the lib in standalone applications for win,linux,osx.
|
||||
|
||||
|
||||
version 1.3.1
|
||||
preprocessor fixes
|
||||
|
||||
|
||||
version 1.3
|
||||
Added support for x86 and x86_64 windows. A macOS version might come in the future.
|
||||
Removed crc checks on android and ios builds for faster extraction.
|
||||
|
||||
|
||||
version 1.2.5
|
||||
Added support for x86 Android builds.
|
||||
Changed the folder structure of the Plugins/Android folder.
|
||||
Now the plugins for each platform reside in their own folder named after the platform.
|
||||
You don't have to do anything. Unity will copy the correct lib for you whether you build for arm, x86 or both (fat binary).
|
||||
|
||||
|
||||
version 1.2.1
|
||||
- By mistake in the previous version the iOS library was the Debug one.
|
||||
- 3 compiled versions of the library are now included. Debug, Fast and Small, Aggressive optimizations (faster and bigger)
|
||||
(the variations are included as zip files in the plugins/iOS folder. Unzip the one you want to use)
|
||||
|
||||
|
||||
version 1.2
|
||||
- Added iOS support
|
||||
- improved the example and the documentation.
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4554c6288b871a24899877147404195b
|
||||
timeCreated: 1446132328
|
||||
licenseType: Store
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 025311df5d1d7e54aa8d7ccaf9367bf3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,148 +0,0 @@
|
||||
#nullable enable
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// MCP for Unity EditorPrefs 설정 확인 및 수정 도구
|
||||
/// </summary>
|
||||
public static class FixMCPEditorPrefs
|
||||
{
|
||||
private const string GitUrlOverrideKey = "MCPForUnity.GitUrlOverride";
|
||||
|
||||
[MenuItem("Tools/MCP/Fix EditorPrefs Issue")]
|
||||
public static void FixEditorPrefs()
|
||||
{
|
||||
Debug.Log("=== MCP EditorPrefs 확인 시작 ===");
|
||||
|
||||
// 현재 저장된 값 확인
|
||||
string currentValue = EditorPrefs.GetString(GitUrlOverrideKey, "");
|
||||
|
||||
Debug.Log($"현재 GitUrlOverride 값: '{currentValue}'");
|
||||
Debug.Log($"값 길이: {currentValue.Length}");
|
||||
|
||||
if (!string.IsNullOrEmpty(currentValue))
|
||||
{
|
||||
// 잘못된 문자가 있는지 확인
|
||||
char[] invalidChars = System.IO.Path.GetInvalidPathChars();
|
||||
bool hasInvalidChars = currentValue.IndexOfAny(invalidChars) >= 0;
|
||||
|
||||
if (hasInvalidChars)
|
||||
{
|
||||
Debug.LogWarning($"⚠️ 잘못된 경로 문자가 감지되었습니다!");
|
||||
Debug.LogWarning($"문제가 있는 값: '{currentValue}'");
|
||||
|
||||
// 잘못된 값 제거
|
||||
EditorPrefs.DeleteKey(GitUrlOverrideKey);
|
||||
Debug.Log("✅ 잘못된 EditorPrefs 값을 제거했습니다.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("경로 문자 검증: 정상");
|
||||
|
||||
// Path.IsPathRooted() 테스트
|
||||
try
|
||||
{
|
||||
bool isRooted = System.IO.Path.IsPathRooted(currentValue);
|
||||
Debug.Log($"IsPathRooted 테스트: {isRooted} (정상)");
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
Debug.LogError($"❌ IsPathRooted 호출 실패: {ex.Message}");
|
||||
Debug.LogWarning("잘못된 값을 제거합니다...");
|
||||
EditorPrefs.DeleteKey(GitUrlOverrideKey);
|
||||
Debug.Log("✅ 잘못된 EditorPrefs 값을 제거했습니다.");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("GitUrlOverride 값이 비어있습니다. (정상)");
|
||||
}
|
||||
|
||||
Debug.Log("=== MCP EditorPrefs 확인 완료 ===");
|
||||
Debug.Log("Unity 에디터를 재시작하거나 MCP 윈도우를 다시 열어주세요.");
|
||||
}
|
||||
|
||||
[MenuItem("Tools/MCP/Show All MCP EditorPrefs")]
|
||||
public static void ShowAllMCPPrefs()
|
||||
{
|
||||
Debug.Log("=== 모든 MCP EditorPrefs 값 ===");
|
||||
|
||||
string[] keys = new[]
|
||||
{
|
||||
"MCPForUnity.GitUrlOverride",
|
||||
"MCPForUnity.UseHttpTransport",
|
||||
"MCPForUnity.HttpTransportScope",
|
||||
"MCPForUnity.UvxPath",
|
||||
"MCPForUnity.ClaudeCliPath",
|
||||
"MCPForUnity.HttpUrl",
|
||||
"MCPForUnity.HttpRemoteUrl",
|
||||
};
|
||||
|
||||
foreach (string key in keys)
|
||||
{
|
||||
if (EditorPrefs.HasKey(key))
|
||||
{
|
||||
string value = EditorPrefs.GetString(key, "");
|
||||
Debug.Log($"{key}: '{value}'");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log($"{key}: (설정되지 않음)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[MenuItem("Tools/MCP/Clear All MCP EditorPrefs")]
|
||||
public static void ClearAllMCPPrefs()
|
||||
{
|
||||
bool confirm = EditorUtility.DisplayDialog(
|
||||
"MCP EditorPrefs 초기화",
|
||||
"모든 MCP for Unity 설정을 초기화하시겠습니까?\n이 작업은 되돌릴 수 없습니다.",
|
||||
"초기화",
|
||||
"취소"
|
||||
);
|
||||
|
||||
if (!confirm)
|
||||
{
|
||||
Debug.Log("취소되었습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
Debug.Log("=== MCP EditorPrefs 초기화 시작 ===");
|
||||
|
||||
string[] keys = new[]
|
||||
{
|
||||
"MCPForUnity.GitUrlOverride",
|
||||
"MCPForUnity.UseHttpTransport",
|
||||
"MCPForUnity.HttpTransportScope",
|
||||
"MCPForUnity.LastLocalHttpServerPid",
|
||||
"MCPForUnity.LastLocalHttpServerPort",
|
||||
"MCPForUnity.LastLocalHttpServerStartedUtc",
|
||||
"MCPForUnity.LastLocalHttpServerPidArgsHash",
|
||||
"MCPForUnity.LastLocalHttpServerPidFilePath",
|
||||
"MCPForUnity.LastLocalHttpServerInstanceToken",
|
||||
"MCPForUnity.UvxPath",
|
||||
"MCPForUnity.ClaudeCliPath",
|
||||
"MCPForUnity.HttpUrl",
|
||||
"MCPForUnity.HttpRemoteUrl",
|
||||
"MCPForUnity.DebugLogs",
|
||||
"MCPForUnity.ValidationLevel",
|
||||
"MCPForUnity.UnitySocketPort",
|
||||
"MCPForUnity.ResumeHttpAfterReload",
|
||||
"MCPForUnity.ResumeStdioAfterReload",
|
||||
};
|
||||
|
||||
foreach (string key in keys)
|
||||
{
|
||||
if (EditorPrefs.HasKey(key))
|
||||
{
|
||||
EditorPrefs.DeleteKey(key);
|
||||
Debug.Log($"✅ 삭제: {key}");
|
||||
}
|
||||
}
|
||||
|
||||
Debug.Log("=== MCP EditorPrefs 초기화 완료 ===");
|
||||
Debug.Log("Unity 에디터를 재시작해주세요.");
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 955b75403593bb74fbf0ba110a3e1b83
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d07e558de63aead44a5de53bc3a61d4d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,775 +0,0 @@
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UVC.UIToolkit.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// 이미지 아이콘 폴더를 스캔하여 아이콘 경로 상수 클래스를 자동 생성하는 에디터 도구입니다.
|
||||
/// </summary>
|
||||
public class UTKImageIconsGenerator : EditorWindow
|
||||
{
|
||||
#region EditorPrefs Keys
|
||||
|
||||
private const string PrefKeyIconsFolder = "UTK_ImageIcons_IconsFolder";
|
||||
private const string PrefKeyOutputPath = "UTK_ImageIcons_OutputPath";
|
||||
private const string PrefKeyClassName = "UTK_ImageIcons_ClassName";
|
||||
private const string PrefKeyNamespace = "UTK_ImageIcons_Namespace";
|
||||
private const string PrefKeyIncludeSubfolders = "UTK_ImageIcons_IncludeSubfolders";
|
||||
private const string PrefKeyGeneratePreview = "UTK_ImageIcons_GeneratePreview";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Default Values
|
||||
|
||||
private const string DefaultIconsFolder = "Assets/Resources/Icons";
|
||||
private const string DefaultOutputPath = "Assets/Scripts/UVC/UIToolkit/Common/UTKImageIcons.cs";
|
||||
private const string DefaultClassName = "UTKImageIcons";
|
||||
private const string DefaultNamespace = "UVC.UIToolkit";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Supported Extensions
|
||||
|
||||
private static readonly string[] SupportedExtensions = { ".png", ".jpg", ".jpeg", ".tga", ".psd", ".gif", ".bmp" };
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
private string _iconsFolder = DefaultIconsFolder;
|
||||
private string _outputPath = DefaultOutputPath;
|
||||
private string _className = DefaultClassName;
|
||||
private string _namespace = DefaultNamespace;
|
||||
private bool _includeSubfolders = true;
|
||||
private bool _generatePreview = true;
|
||||
|
||||
private Vector2 _scrollPosition;
|
||||
private List<IconInfo>? _previewIcons;
|
||||
|
||||
#endregion
|
||||
|
||||
private class IconInfo
|
||||
{
|
||||
public string FilePath { get; set; } = "";
|
||||
public string FileName { get; set; } = "";
|
||||
public string FieldName { get; set; } = "";
|
||||
public string ResourcePath { get; set; } = "";
|
||||
public string RelativePath { get; set; } = "";
|
||||
public Texture2D? Preview { get; set; }
|
||||
}
|
||||
|
||||
[MenuItem("Tools/UTK/Image Icons Generator")]
|
||||
public static void ShowWindow()
|
||||
{
|
||||
var window = GetWindow<UTKImageIconsGenerator>("Image Icons Generator");
|
||||
window.minSize = new Vector2(500, 400);
|
||||
window.LoadSettings();
|
||||
}
|
||||
|
||||
[MenuItem("Tools/UTK/Generate Image Icons Class (Quick)")]
|
||||
public static void GenerateQuick()
|
||||
{
|
||||
var iconsFolder = EditorPrefs.GetString(PrefKeyIconsFolder, DefaultIconsFolder);
|
||||
var outputPath = EditorPrefs.GetString(PrefKeyOutputPath, DefaultOutputPath);
|
||||
var className = EditorPrefs.GetString(PrefKeyClassName, DefaultClassName);
|
||||
var namespaceName = EditorPrefs.GetString(PrefKeyNamespace, DefaultNamespace);
|
||||
var includeSubfolders = EditorPrefs.GetBool(PrefKeyIncludeSubfolders, true);
|
||||
|
||||
Generate(iconsFolder, outputPath, className, namespaceName, includeSubfolders);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
ClearPreviewTextures();
|
||||
}
|
||||
|
||||
private void LoadSettings()
|
||||
{
|
||||
_iconsFolder = EditorPrefs.GetString(PrefKeyIconsFolder, DefaultIconsFolder);
|
||||
_outputPath = EditorPrefs.GetString(PrefKeyOutputPath, DefaultOutputPath);
|
||||
_className = EditorPrefs.GetString(PrefKeyClassName, DefaultClassName);
|
||||
_namespace = EditorPrefs.GetString(PrefKeyNamespace, DefaultNamespace);
|
||||
_includeSubfolders = EditorPrefs.GetBool(PrefKeyIncludeSubfolders, true);
|
||||
_generatePreview = EditorPrefs.GetBool(PrefKeyGeneratePreview, true);
|
||||
}
|
||||
|
||||
private void SaveSettings()
|
||||
{
|
||||
EditorPrefs.SetString(PrefKeyIconsFolder, _iconsFolder);
|
||||
EditorPrefs.SetString(PrefKeyOutputPath, _outputPath);
|
||||
EditorPrefs.SetString(PrefKeyClassName, _className);
|
||||
EditorPrefs.SetString(PrefKeyNamespace, _namespace);
|
||||
EditorPrefs.SetBool(PrefKeyIncludeSubfolders, _includeSubfolders);
|
||||
EditorPrefs.SetBool(PrefKeyGeneratePreview, _generatePreview);
|
||||
}
|
||||
|
||||
private void ClearPreviewTextures()
|
||||
{
|
||||
_previewIcons = null;
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
EditorGUILayout.Space(10);
|
||||
EditorGUILayout.LabelField("Image Icons Class Generator", EditorStyles.boldLabel);
|
||||
EditorGUILayout.Space(5);
|
||||
EditorGUILayout.HelpBox("이미지 아이콘 폴더를 스캔하여 Resources.Load로 사용할 수 있는 C# 정적 클래스를 생성합니다.", UnityEditor.MessageType.Info);
|
||||
EditorGUILayout.Space(10);
|
||||
|
||||
// 아이콘 폴더 경로
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
_iconsFolder = EditorGUILayout.TextField("Icons Folder", _iconsFolder);
|
||||
if (GUILayout.Button("...", GUILayout.Width(30)))
|
||||
{
|
||||
var path = EditorUtility.OpenFolderPanel("Select Icons Folder", "Assets", "");
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
// 상대 경로로 변환
|
||||
if (path.StartsWith(Application.dataPath))
|
||||
{
|
||||
path = "Assets" + path.Substring(Application.dataPath.Length);
|
||||
}
|
||||
_iconsFolder = path;
|
||||
ClearPreviewTextures();
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
// 출력 파일 경로
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
_outputPath = EditorGUILayout.TextField("Output File", _outputPath);
|
||||
if (GUILayout.Button("...", GUILayout.Width(30)))
|
||||
{
|
||||
var directory = Path.GetDirectoryName(_outputPath) ?? "Assets";
|
||||
var filename = Path.GetFileName(_outputPath);
|
||||
var path = EditorUtility.SaveFilePanel("Save Generated Class", directory, filename, "cs");
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
// 상대 경로로 변환
|
||||
if (path.StartsWith(Application.dataPath))
|
||||
{
|
||||
path = "Assets" + path.Substring(Application.dataPath.Length);
|
||||
}
|
||||
_outputPath = path;
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.Space(5);
|
||||
|
||||
// 클래스명
|
||||
_className = EditorGUILayout.TextField("Class Name", _className);
|
||||
|
||||
// 네임스페이스
|
||||
_namespace = EditorGUILayout.TextField("Namespace", _namespace);
|
||||
|
||||
EditorGUILayout.Space(5);
|
||||
|
||||
// 옵션
|
||||
_includeSubfolders = EditorGUILayout.Toggle("Include Subfolders", _includeSubfolders);
|
||||
_generatePreview = EditorGUILayout.Toggle("Show Preview", _generatePreview);
|
||||
|
||||
EditorGUILayout.Space(10);
|
||||
|
||||
// 폴더 존재 여부 및 아이콘 수 표시
|
||||
var folderExists = Directory.Exists(_iconsFolder);
|
||||
var outputExists = File.Exists(_outputPath);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Icons Folder:", GUILayout.Width(100));
|
||||
EditorGUILayout.LabelField(folderExists ? "Found" : "Not Found",
|
||||
folderExists ? EditorStyles.label : EditorStyles.boldLabel);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
if (folderExists)
|
||||
{
|
||||
var iconCount = CountIcons(_iconsFolder, _includeSubfolders);
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Icons Found:", GUILayout.Width(100));
|
||||
EditorGUILayout.LabelField($"{iconCount} images");
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Output File:", GUILayout.Width(100));
|
||||
EditorGUILayout.LabelField(outputExists ? "Exists (will overwrite)" : "New file");
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.Space(10);
|
||||
|
||||
// 버튼들
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
|
||||
GUI.enabled = folderExists;
|
||||
if (GUILayout.Button("Scan & Preview", GUILayout.Height(25)))
|
||||
{
|
||||
SaveSettings();
|
||||
ScanIcons();
|
||||
}
|
||||
|
||||
if (GUILayout.Button("Generate", GUILayout.Height(25)))
|
||||
{
|
||||
SaveSettings();
|
||||
Generate(_iconsFolder, _outputPath, _className, _namespace, _includeSubfolders);
|
||||
}
|
||||
GUI.enabled = true;
|
||||
|
||||
if (GUILayout.Button("Reset", GUILayout.Height(25)))
|
||||
{
|
||||
_iconsFolder = DefaultIconsFolder;
|
||||
_outputPath = DefaultOutputPath;
|
||||
_className = DefaultClassName;
|
||||
_namespace = DefaultNamespace;
|
||||
_includeSubfolders = true;
|
||||
_generatePreview = true;
|
||||
SaveSettings();
|
||||
ClearPreviewTextures();
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
// 미리보기 영역
|
||||
if (_generatePreview && _previewIcons != null && _previewIcons.Count > 0)
|
||||
{
|
||||
EditorGUILayout.Space(10);
|
||||
EditorGUILayout.LabelField($"Preview ({_previewIcons.Count} icons)", EditorStyles.boldLabel);
|
||||
|
||||
_scrollPosition = EditorGUILayout.BeginScrollView(_scrollPosition, GUILayout.ExpandHeight(true));
|
||||
|
||||
var iconSize = 48;
|
||||
var padding = 4;
|
||||
var labelHeight = 16;
|
||||
var itemWidth = iconSize + padding * 2;
|
||||
var itemHeight = iconSize + labelHeight + padding * 2;
|
||||
|
||||
var windowWidth = position.width - 20;
|
||||
var columns = Mathf.Max(1, (int)(windowWidth / itemWidth));
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
var currentColumn = 0;
|
||||
|
||||
foreach (var icon in _previewIcons)
|
||||
{
|
||||
if (currentColumn >= columns)
|
||||
{
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
currentColumn = 0;
|
||||
}
|
||||
|
||||
EditorGUILayout.BeginVertical(GUILayout.Width(itemWidth), GUILayout.Height(itemHeight));
|
||||
|
||||
// 아이콘 이미지
|
||||
var rect = GUILayoutUtility.GetRect(iconSize, iconSize);
|
||||
if (icon.Preview != null)
|
||||
{
|
||||
GUI.DrawTexture(rect, icon.Preview, ScaleMode.ScaleToFit);
|
||||
}
|
||||
else
|
||||
{
|
||||
EditorGUI.DrawRect(rect, new Color(0.2f, 0.2f, 0.2f));
|
||||
}
|
||||
|
||||
// 필드명
|
||||
var style = new GUIStyle(EditorStyles.miniLabel)
|
||||
{
|
||||
alignment = TextAnchor.MiddleCenter,
|
||||
clipping = TextClipping.Clip
|
||||
};
|
||||
EditorGUILayout.LabelField(icon.FieldName, style, GUILayout.Width(itemWidth), GUILayout.Height(labelHeight));
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
currentColumn++;
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
}
|
||||
|
||||
private void ScanIcons()
|
||||
{
|
||||
ClearPreviewTextures();
|
||||
_previewIcons = GetIconInfos(_iconsFolder, _includeSubfolders);
|
||||
|
||||
// 프리뷰 텍스처 로드
|
||||
foreach (var icon in _previewIcons)
|
||||
{
|
||||
icon.Preview = AssetDatabase.LoadAssetAtPath<Texture2D>(icon.FilePath);
|
||||
}
|
||||
}
|
||||
|
||||
private static int CountIcons(string folder, bool includeSubfolders)
|
||||
{
|
||||
var searchOption = includeSubfolders ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
|
||||
var count = 0;
|
||||
|
||||
foreach (var ext in SupportedExtensions)
|
||||
{
|
||||
count += Directory.GetFiles(folder, $"*{ext}", searchOption).Length;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
private static List<IconInfo> GetIconInfos(string folder, bool includeSubfolders)
|
||||
{
|
||||
var result = new List<IconInfo>();
|
||||
var searchOption = includeSubfolders ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;
|
||||
var usedNames = new HashSet<string>();
|
||||
|
||||
// Resources 폴더 기준 경로 계산
|
||||
var resourcesIndex = folder.IndexOf("Resources/", StringComparison.OrdinalIgnoreCase);
|
||||
var isInResources = resourcesIndex >= 0;
|
||||
var resourcesBasePath = isInResources ? folder.Substring(resourcesIndex + "Resources/".Length) : "";
|
||||
|
||||
foreach (var ext in SupportedExtensions)
|
||||
{
|
||||
var files = Directory.GetFiles(folder, $"*{ext}", searchOption);
|
||||
foreach (var file in files)
|
||||
{
|
||||
var normalizedPath = file.Replace("\\", "/");
|
||||
var fileName = Path.GetFileNameWithoutExtension(normalizedPath);
|
||||
var relativePath = normalizedPath.Substring(folder.Length).TrimStart('/');
|
||||
var relativeDir = Path.GetDirectoryName(relativePath)?.Replace("\\", "/") ?? "";
|
||||
|
||||
// Resources.Load용 경로 (확장자 제외)
|
||||
string resourcePath;
|
||||
if (isInResources)
|
||||
{
|
||||
var fullRelative = string.IsNullOrEmpty(resourcesBasePath)
|
||||
? relativePath
|
||||
: $"{resourcesBasePath}/{relativePath}";
|
||||
resourcePath = Path.ChangeExtension(fullRelative, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
resourcePath = normalizedPath; // Resources 외부면 전체 경로 사용
|
||||
}
|
||||
|
||||
var fieldName = ConvertToFieldName(fileName, relativeDir, usedNames);
|
||||
|
||||
result.Add(new IconInfo
|
||||
{
|
||||
FilePath = normalizedPath,
|
||||
FileName = fileName,
|
||||
FieldName = fieldName,
|
||||
ResourcePath = resourcePath,
|
||||
RelativePath = relativePath
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return result.OrderBy(i => i.FieldName).ToList();
|
||||
}
|
||||
|
||||
public static void Generate(string iconsFolder, string outputPath, string className, string namespaceName, bool includeSubfolders)
|
||||
{
|
||||
if (!Directory.Exists(iconsFolder))
|
||||
{
|
||||
Debug.LogError($"아이콘 폴더를 찾을 수 없습니다: {iconsFolder}");
|
||||
return;
|
||||
}
|
||||
|
||||
var icons = GetIconInfos(iconsFolder, includeSubfolders);
|
||||
if (icons.Count == 0)
|
||||
{
|
||||
Debug.LogError("아이콘을 찾을 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
var code = GenerateCode(icons, className, namespaceName, iconsFolder);
|
||||
|
||||
// 디렉토리 생성
|
||||
var directory = Path.GetDirectoryName(outputPath);
|
||||
if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory))
|
||||
{
|
||||
Directory.CreateDirectory(directory);
|
||||
}
|
||||
|
||||
File.WriteAllText(outputPath, code, Encoding.UTF8);
|
||||
AssetDatabase.Refresh();
|
||||
|
||||
Debug.Log($"{className}.cs 생성 완료: {icons.Count}개 아이콘 ({outputPath})");
|
||||
}
|
||||
|
||||
private static string GenerateCode(List<IconInfo> icons, string className, string namespaceName, string sourceFolder)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
// Resources 폴더 여부 확인
|
||||
var isInResources = sourceFolder.Contains("Resources");
|
||||
|
||||
sb.AppendLine("// <auto-generated>");
|
||||
sb.AppendLine("// 이 파일은 UTKImageIconsGenerator에 의해 자동 생성되었습니다.");
|
||||
sb.AppendLine("// 직접 수정하지 마세요. Tools > UTK > Image Icons Generator 메뉴로 재생성하세요.");
|
||||
sb.AppendLine($"// Source: {sourceFolder}");
|
||||
sb.AppendLine("// </auto-generated>");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("#nullable enable");
|
||||
sb.AppendLine("using System.Collections.Generic;");
|
||||
sb.AppendLine("using System.Threading;");
|
||||
sb.AppendLine("using Cysharp.Threading.Tasks;");
|
||||
sb.AppendLine("using UnityEngine;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"namespace {namespaceName}");
|
||||
sb.AppendLine("{");
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 이미지 아이콘 리소스 경로 상수 클래스입니다.");
|
||||
sb.AppendLine($" /// 총 {icons.Count}개의 아이콘을 포함합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <example>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine($" /// // 상수로 리소스 경로 사용");
|
||||
sb.AppendLine($" /// string path = {className}.Home;");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 동기 Sprite 로드 (캐싱됨)");
|
||||
sb.AppendLine($" /// Sprite sprite = {className}.LoadSprite({className}.Home);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 비동기 Sprite 로드 (UniTask, 캐싱됨)");
|
||||
sb.AppendLine($" /// Sprite? sprite = await {className}.LoadSpriteAsync({className}.Home, cancellationToken);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 동기 Texture2D 로드 (캐싱됨)");
|
||||
sb.AppendLine($" /// Texture2D texture = {className}.LoadTexture({className}.Settings);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 비동기 Texture2D 로드 (UniTask, 캐싱됨)");
|
||||
sb.AppendLine($" /// Texture2D? texture = await {className}.LoadTextureAsync({className}.Settings, cancellationToken);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 이름으로 Sprite 로드");
|
||||
sb.AppendLine($" /// Sprite icon = {className}.LoadSpriteByName(\"home\");");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 이름으로 비동기 Sprite 로드");
|
||||
sb.AppendLine($" /// Sprite? icon = await {className}.LoadSpriteByNameAsync(\"home\", cancellationToken);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 이름으로 경로 조회");
|
||||
sb.AppendLine($" /// string iconPath = {className}.GetPath(\"settings\");");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 아이콘 존재 여부 확인");
|
||||
sb.AppendLine($" /// if ({className}.HasIcon(\"search\")) {{ }}");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 전체 아이콘 이름 순회");
|
||||
sb.AppendLine($" /// foreach (var name in {className}.GetAllIconNames()) {{ }}");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 캐시 클리어");
|
||||
sb.AppendLine($" /// {className}.ClearCache();");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// </example>");
|
||||
sb.AppendLine(" /// <remarks>");
|
||||
sb.AppendLine(" /// <para><b>UXML에서 사용하기:</b></para>");
|
||||
sb.AppendLine(" /// <para>UXML에서 이미지 아이콘을 사용하려면 USS에서 background-image를 설정합니다.</para>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine(" /// /* USS 파일 */");
|
||||
sb.AppendLine(" /// .my-icon {");
|
||||
sb.AppendLine(" /// width: 24px;");
|
||||
sb.AppendLine(" /// height: 24px;");
|
||||
sb.AppendLine(" /// background-image: resource('UIToolkit/Images/icon_setting_22');");
|
||||
sb.AppendLine(" /// }");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine(" /// <!-- UXML 파일 -->");
|
||||
sb.AppendLine(" /// <ui:VisualElement class=\"my-icon\" />");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// <para><b>C# 코드에서 UXML 요소에 이미지 적용:</b></para>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine($" /// var iconElement = root.Q<VisualElement>(\"my-icon\");");
|
||||
sb.AppendLine($" /// var texture = {className}.LoadTextureByName(\"icon_setting_22\");");
|
||||
sb.AppendLine(" /// iconElement.style.backgroundImage = new StyleBackground(texture);");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// <para><b>Image 요소에서 사용:</b></para>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine($" /// var image = root.Q<Image>(\"my-image\");");
|
||||
sb.AppendLine($" /// image.sprite = {className}.LoadSpriteByName(\"btn_close_16\");");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// </remarks>");
|
||||
sb.AppendLine($" public static class {className}");
|
||||
sb.AppendLine(" {");
|
||||
|
||||
// 아이콘 경로 상수 생성
|
||||
foreach (var icon in icons)
|
||||
{
|
||||
sb.AppendLine($" /// <summary>{icon.RelativePath}</summary>");
|
||||
sb.AppendLine($" public const string {icon.FieldName} = \"{icon.ResourcePath}\";");
|
||||
}
|
||||
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #region Lookup & Load");
|
||||
sb.AppendLine();
|
||||
|
||||
// 이름으로 경로 조회 딕셔너리
|
||||
sb.AppendLine(" private static readonly Dictionary<string, string> _pathsByName = new()");
|
||||
sb.AppendLine(" {");
|
||||
foreach (var icon in icons)
|
||||
{
|
||||
sb.AppendLine($" [\"{icon.FileName}\"] = \"{icon.ResourcePath}\",");
|
||||
}
|
||||
sb.AppendLine(" };");
|
||||
sb.AppendLine();
|
||||
|
||||
// 캐시 딕셔너리
|
||||
sb.AppendLine(" private static readonly Dictionary<string, Sprite?> _spriteCache = new();");
|
||||
sb.AppendLine(" private static readonly Dictionary<string, Texture2D?> _textureCache = new();");
|
||||
sb.AppendLine();
|
||||
|
||||
// 조회 메서드
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 리소스 경로를 조회합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 파일명 (확장자 제외)</param>");
|
||||
sb.AppendLine(" /// <returns>리소스 경로, 없으면 빈 문자열</returns>");
|
||||
sb.AppendLine(" public static string GetPath(string iconName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" return _pathsByName.TryGetValue(iconName, out var path) ? path : string.Empty;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘이 존재하는지 확인합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static bool HasIcon(string iconName) => _pathsByName.ContainsKey(iconName);");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 모든 아이콘 이름 목록을 반환합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static IEnumerable<string> GetAllIconNames() => _pathsByName.Keys;");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 리소스 경로로 아이콘 이름을 조회합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"resourcePath\">리소스 경로 (예: Icons/Home)</param>");
|
||||
sb.AppendLine(" /// <returns>아이콘 이름, 없으면 빈 문자열</returns>");
|
||||
sb.AppendLine(" public static string GetIconName(string resourcePath)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" foreach (var kvp in _pathsByName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (kvp.Value == resourcePath) return kvp.Key;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return string.Empty;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 전체 아이콘 수를 반환합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine($" public static int Count => {icons.Count};");
|
||||
sb.AppendLine();
|
||||
|
||||
// 동기 로드 메서드들
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 리소스 경로로 Sprite를 동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"resourcePath\">리소스 경로 (예: Icons/Home)</param>");
|
||||
sb.AppendLine(" public static Sprite? LoadSprite(string resourcePath)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_spriteCache.TryGetValue(resourcePath, out var cached))");
|
||||
sb.AppendLine(" return cached;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var sprite = Resources.Load<Sprite>(resourcePath);");
|
||||
sb.AppendLine(" _spriteCache[resourcePath] = sprite;");
|
||||
sb.AppendLine(" return sprite;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 리소스 경로로 Sprite를 비동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"resourcePath\">리소스 경로 (예: Icons/Home)</param>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" public static async UniTask<Sprite?> LoadSpriteAsync(string resourcePath, CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_spriteCache.TryGetValue(resourcePath, out var cached))");
|
||||
sb.AppendLine(" return cached;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var request = Resources.LoadAsync<Sprite>(resourcePath);");
|
||||
sb.AppendLine(" await request.ToUniTask(cancellationToken: ct);");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var sprite = request.asset as Sprite;");
|
||||
sb.AppendLine(" _spriteCache[resourcePath] = sprite;");
|
||||
sb.AppendLine(" return sprite;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 리소스 경로로 Texture2D를 동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"resourcePath\">리소스 경로 (예: Icons/Home)</param>");
|
||||
sb.AppendLine(" public static Texture2D? LoadTexture(string resourcePath)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_textureCache.TryGetValue(resourcePath, out var cached))");
|
||||
sb.AppendLine(" return cached;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var texture = Resources.Load<Texture2D>(resourcePath);");
|
||||
sb.AppendLine(" _textureCache[resourcePath] = texture;");
|
||||
sb.AppendLine(" return texture;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 리소스 경로로 Texture2D를 비동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"resourcePath\">리소스 경로 (예: Icons/Home)</param>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" public static async UniTask<Texture2D?> LoadTextureAsync(string resourcePath, CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_textureCache.TryGetValue(resourcePath, out var cached))");
|
||||
sb.AppendLine(" return cached;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var request = Resources.LoadAsync<Texture2D>(resourcePath);");
|
||||
sb.AppendLine(" await request.ToUniTask(cancellationToken: ct);");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var texture = request.asset as Texture2D;");
|
||||
sb.AppendLine(" _textureCache[resourcePath] = texture;");
|
||||
sb.AppendLine(" return texture;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 Sprite를 동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 파일명 (확장자 제외)</param>");
|
||||
sb.AppendLine(" public static Sprite? LoadSpriteByName(string iconName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var path = GetPath(iconName);");
|
||||
sb.AppendLine(" return string.IsNullOrEmpty(path) ? null : LoadSprite(path);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 Sprite를 비동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 파일명 (확장자 제외)</param>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" public static async UniTask<Sprite?> LoadSpriteByNameAsync(string iconName, CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var path = GetPath(iconName);");
|
||||
sb.AppendLine(" return string.IsNullOrEmpty(path) ? null : await LoadSpriteAsync(path, ct);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 Texture2D를 동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 파일명 (확장자 제외)</param>");
|
||||
sb.AppendLine(" public static Texture2D? LoadTextureByName(string iconName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var path = GetPath(iconName);");
|
||||
sb.AppendLine(" return string.IsNullOrEmpty(path) ? null : LoadTexture(path);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 Texture2D를 비동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 파일명 (확장자 제외)</param>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" public static async UniTask<Texture2D?> LoadTextureByNameAsync(string iconName, CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var path = GetPath(iconName);");
|
||||
sb.AppendLine(" return string.IsNullOrEmpty(path) ? null : await LoadTextureAsync(path, ct);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 캐시를 클리어합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static void ClearCache()");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _spriteCache.Clear();");
|
||||
sb.AppendLine(" _textureCache.Clear();");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #endregion");
|
||||
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine("}");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private static string ConvertToFieldName(string fileName, string relativeDir, HashSet<string> usedNames)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
// 서브폴더가 있으면 접두사로 추가
|
||||
if (!string.IsNullOrEmpty(relativeDir))
|
||||
{
|
||||
var dirParts = relativeDir.Split('/');
|
||||
foreach (var part in dirParts)
|
||||
{
|
||||
AppendPascalCase(sb, part);
|
||||
}
|
||||
sb.Append('_');
|
||||
}
|
||||
|
||||
// 파일명 변환
|
||||
AppendPascalCase(sb, fileName);
|
||||
|
||||
var result = sb.ToString();
|
||||
|
||||
// 숫자로 시작하면 앞에 _ 추가
|
||||
if (result.Length > 0 && char.IsDigit(result[0]))
|
||||
{
|
||||
result = "_" + result;
|
||||
}
|
||||
|
||||
// 빈 문자열이면 기본값
|
||||
if (string.IsNullOrEmpty(result))
|
||||
{
|
||||
result = "_Icon";
|
||||
}
|
||||
|
||||
// 중복 처리
|
||||
var originalResult = result;
|
||||
var counter = 2;
|
||||
while (usedNames.Contains(result))
|
||||
{
|
||||
result = $"{originalResult}_{counter}";
|
||||
counter++;
|
||||
}
|
||||
|
||||
usedNames.Add(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void AppendPascalCase(StringBuilder sb, string input)
|
||||
{
|
||||
// 특수문자를 구분자로 사용
|
||||
var words = input.Split(new[] { '_', '-', ' ', '.' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
foreach (var word in words)
|
||||
{
|
||||
if (word.Length == 0) continue;
|
||||
|
||||
// 첫 글자 대문자
|
||||
sb.Append(char.ToUpper(word[0]));
|
||||
if (word.Length > 1)
|
||||
{
|
||||
// 나머지는 소문자로 (단, 연속 대문자면 유지)
|
||||
for (int i = 1; i < word.Length; i++)
|
||||
{
|
||||
if (char.IsUpper(word[i]) && i + 1 < word.Length && char.IsUpper(word[i + 1]))
|
||||
{
|
||||
sb.Append(word[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(char.ToLower(word[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d7dbdad9e333f4478d838c2d78bb2be
|
||||
@@ -1,615 +0,0 @@
|
||||
#nullable enable
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UVC.UIToolkit.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// MaterialSymbolsOutlinedCodepoints.txt 파일을 파싱하여
|
||||
/// UTKMaterialIcons.cs 정적 클래스를 자동 생성하는 에디터 도구입니다.
|
||||
/// </summary>
|
||||
public class UTKMaterialIconsGenerator : EditorWindow
|
||||
{
|
||||
#region EditorPrefs Keys
|
||||
|
||||
private const string PrefKeyCodepointsPath = "UTK_MaterialIcons_CodepointsPath";
|
||||
private const string PrefKeyOutputPath = "UTK_MaterialIcons_OutputPath";
|
||||
private const string PrefKeyClassName = "UTK_MaterialIcons_ClassName";
|
||||
private const string PrefKeyNamespace = "UTK_MaterialIcons_Namespace";
|
||||
private const string PrefKeyFontPath = "UTK_MaterialIcons_FontPath";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Default Values
|
||||
|
||||
private const string DefaultCodepointsPath = "Assets/Resources/Fonts/Icons/MaterialSymbolsOutlinedCodepoints.txt";
|
||||
private const string DefaultOutputPath = "Assets/Scripts/UVC/UIToolkit/Common/UTKMaterialIcons.cs";
|
||||
private const string DefaultClassName = "UTKMaterialIcons";
|
||||
private const string DefaultNamespace = "UVC.UIToolkit";
|
||||
private const string DefaultFontPath = "Fonts/Icons/MaterialSymbolsOutlined";
|
||||
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
private string _codepointsPath = DefaultCodepointsPath;
|
||||
private string _outputPath = DefaultOutputPath;
|
||||
private string _className = DefaultClassName;
|
||||
private string _namespace = DefaultNamespace;
|
||||
private string _fontPath = DefaultFontPath;
|
||||
|
||||
#endregion
|
||||
|
||||
[MenuItem("Tools/UTK/Material Icons Generator")]
|
||||
public static void ShowWindow()
|
||||
{
|
||||
var window = GetWindow<UTKMaterialIconsGenerator>("Material Icons Generator");
|
||||
window.minSize = new Vector2(450, 250);
|
||||
window.LoadSettings();
|
||||
}
|
||||
|
||||
[MenuItem("Tools/UTK/Generate Material Icons Class (Quick)")]
|
||||
public static void GenerateQuick()
|
||||
{
|
||||
var codepointsPath = EditorPrefs.GetString(PrefKeyCodepointsPath, DefaultCodepointsPath);
|
||||
var outputPath = EditorPrefs.GetString(PrefKeyOutputPath, DefaultOutputPath);
|
||||
var className = EditorPrefs.GetString(PrefKeyClassName, DefaultClassName);
|
||||
var namespaceName = EditorPrefs.GetString(PrefKeyNamespace, DefaultNamespace);
|
||||
var fontPath = EditorPrefs.GetString(PrefKeyFontPath, DefaultFontPath);
|
||||
|
||||
Generate(codepointsPath, outputPath, className, namespaceName, fontPath);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
LoadSettings();
|
||||
}
|
||||
|
||||
private void LoadSettings()
|
||||
{
|
||||
_codepointsPath = EditorPrefs.GetString(PrefKeyCodepointsPath, DefaultCodepointsPath);
|
||||
_outputPath = EditorPrefs.GetString(PrefKeyOutputPath, DefaultOutputPath);
|
||||
_className = EditorPrefs.GetString(PrefKeyClassName, DefaultClassName);
|
||||
_namespace = EditorPrefs.GetString(PrefKeyNamespace, DefaultNamespace);
|
||||
_fontPath = EditorPrefs.GetString(PrefKeyFontPath, DefaultFontPath);
|
||||
}
|
||||
|
||||
private void SaveSettings()
|
||||
{
|
||||
EditorPrefs.SetString(PrefKeyCodepointsPath, _codepointsPath);
|
||||
EditorPrefs.SetString(PrefKeyOutputPath, _outputPath);
|
||||
EditorPrefs.SetString(PrefKeyClassName, _className);
|
||||
EditorPrefs.SetString(PrefKeyNamespace, _namespace);
|
||||
EditorPrefs.SetString(PrefKeyFontPath, _fontPath);
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
EditorGUILayout.Space(10);
|
||||
EditorGUILayout.LabelField("Material Icons Class Generator", EditorStyles.boldLabel);
|
||||
EditorGUILayout.Space(5);
|
||||
EditorGUILayout.HelpBox("Codepoints 파일을 파싱하여 C# 정적 클래스를 생성합니다.", UnityEditor.MessageType.Info);
|
||||
EditorGUILayout.Space(10);
|
||||
|
||||
// Codepoints 파일 경로
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
_codepointsPath = EditorGUILayout.TextField("Codepoints File", _codepointsPath);
|
||||
if (GUILayout.Button("...", GUILayout.Width(30)))
|
||||
{
|
||||
var path = EditorUtility.OpenFilePanel("Select Codepoints File", "Assets", "txt");
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
// 상대 경로로 변환
|
||||
if (path.StartsWith(Application.dataPath))
|
||||
{
|
||||
path = "Assets" + path.Substring(Application.dataPath.Length);
|
||||
}
|
||||
_codepointsPath = path;
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
// 출력 파일 경로
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
_outputPath = EditorGUILayout.TextField("Output File", _outputPath);
|
||||
if (GUILayout.Button("...", GUILayout.Width(30)))
|
||||
{
|
||||
var directory = Path.GetDirectoryName(_outputPath) ?? "Assets";
|
||||
var filename = Path.GetFileName(_outputPath);
|
||||
var path = EditorUtility.SaveFilePanel("Save Generated Class", directory, filename, "cs");
|
||||
if (!string.IsNullOrEmpty(path))
|
||||
{
|
||||
// 상대 경로로 변환
|
||||
if (path.StartsWith(Application.dataPath))
|
||||
{
|
||||
path = "Assets" + path.Substring(Application.dataPath.Length);
|
||||
}
|
||||
_outputPath = path;
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.Space(5);
|
||||
|
||||
// 클래스명
|
||||
_className = EditorGUILayout.TextField("Class Name", _className);
|
||||
|
||||
// 네임스페이스
|
||||
_namespace = EditorGUILayout.TextField("Namespace", _namespace);
|
||||
|
||||
// 폰트 경로 (Resources 기준)
|
||||
_fontPath = EditorGUILayout.TextField("Font Path (Resources)", _fontPath);
|
||||
EditorGUILayout.HelpBox("Resources.Load에 사용할 폰트 경로 (확장자 제외)", UnityEditor.MessageType.None);
|
||||
|
||||
EditorGUILayout.Space(15);
|
||||
|
||||
// 파일 존재 여부 표시
|
||||
var codepointsExists = File.Exists(_codepointsPath);
|
||||
var outputExists = File.Exists(_outputPath);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Codepoints File:", GUILayout.Width(100));
|
||||
EditorGUILayout.LabelField(codepointsExists ? "Found" : "Not Found",
|
||||
codepointsExists ? EditorStyles.label : EditorStyles.boldLabel);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Output File:", GUILayout.Width(100));
|
||||
EditorGUILayout.LabelField(outputExists ? "Exists (will overwrite)" : "New file",
|
||||
EditorStyles.label);
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.Space(15);
|
||||
|
||||
// 버튼들
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
|
||||
GUI.enabled = codepointsExists;
|
||||
if (GUILayout.Button("Generate", GUILayout.Height(30)))
|
||||
{
|
||||
SaveSettings();
|
||||
Generate(_codepointsPath, _outputPath, _className, _namespace, _fontPath);
|
||||
}
|
||||
GUI.enabled = true;
|
||||
|
||||
if (GUILayout.Button("Reset to Defaults", GUILayout.Height(30)))
|
||||
{
|
||||
_codepointsPath = DefaultCodepointsPath;
|
||||
_outputPath = DefaultOutputPath;
|
||||
_className = DefaultClassName;
|
||||
_namespace = DefaultNamespace;
|
||||
_fontPath = DefaultFontPath;
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
public static void Generate(string codepointsPath, string outputPath, string className, string namespaceName, string fontPath = DefaultFontPath)
|
||||
{
|
||||
if (!File.Exists(codepointsPath))
|
||||
{
|
||||
Debug.LogError($"Codepoints 파일을 찾을 수 없습니다: {codepointsPath}");
|
||||
return;
|
||||
}
|
||||
|
||||
var icons = ParseCodepoints(codepointsPath);
|
||||
if (icons.Count == 0)
|
||||
{
|
||||
Debug.LogError("파싱된 아이콘이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
var code = GenerateCode(icons, className, namespaceName, fontPath);
|
||||
|
||||
// 디렉토리 생성
|
||||
var directory = Path.GetDirectoryName(outputPath);
|
||||
if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory))
|
||||
{
|
||||
Directory.CreateDirectory(directory);
|
||||
}
|
||||
|
||||
File.WriteAllText(outputPath, code, Encoding.UTF8);
|
||||
AssetDatabase.Refresh();
|
||||
|
||||
Debug.Log($"{className}.cs 생성 완료: {icons.Count}개 아이콘 ({outputPath})");
|
||||
}
|
||||
|
||||
private static List<(string name, string unicode)> ParseCodepoints(string path)
|
||||
{
|
||||
var result = new List<(string, string)>();
|
||||
var lines = File.ReadAllLines(path);
|
||||
|
||||
foreach (var line in lines)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(line)) continue;
|
||||
|
||||
var parts = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||
if (parts.Length >= 2)
|
||||
{
|
||||
result.Add((parts[0], parts[1]));
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static string GenerateCode(List<(string name, string unicode)> icons, string className, string namespaceName, string fontPath)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var usedNames = new HashSet<string>();
|
||||
|
||||
sb.AppendLine("// <auto-generated>");
|
||||
sb.AppendLine("// 이 파일은 UTKMaterialIconsGenerator에 의해 자동 생성되었습니다.");
|
||||
sb.AppendLine("// 직접 수정하지 마세요. Tools > UTK > Material Icons Generator 메뉴로 재생성하세요.");
|
||||
sb.AppendLine("// </auto-generated>");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("#nullable enable");
|
||||
sb.AppendLine("using System;");
|
||||
sb.AppendLine("using System.Collections.Generic;");
|
||||
sb.AppendLine("using System.Threading;");
|
||||
sb.AppendLine("using Cysharp.Threading.Tasks;");
|
||||
sb.AppendLine("using UnityEngine;");
|
||||
sb.AppendLine("using UnityEngine.UIElements;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($"namespace {namespaceName}");
|
||||
sb.AppendLine("{");
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// Material Symbols Outlined 아이콘 유니코드 문자 상수 클래스입니다.");
|
||||
sb.AppendLine($" /// 총 {icons.Count}개의 아이콘을 포함합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <example>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine($" /// // 동기 폰트 로드 (캐싱됨)");
|
||||
sb.AppendLine($" /// Font font = {className}.LoadFont();");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 비동기 폰트 로드 (UniTask)");
|
||||
sb.AppendLine($" /// Font? font = await {className}.LoadFontAsync(cancellationToken);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // Label에 아이콘 적용");
|
||||
sb.AppendLine($" /// var label = new Label({className}.Home);");
|
||||
sb.AppendLine($" /// {className}.ApplyIconStyle(label);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 비동기로 아이콘 스타일 적용");
|
||||
sb.AppendLine($" /// await {className}.ApplyIconStyleAsync(label, cancellationToken);");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 또는 StyleFontDefinition 직접 사용");
|
||||
sb.AppendLine($" /// label.style.unityFontDefinition = {className}.GetFontDefinition();");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 이름으로 아이콘 조회");
|
||||
sb.AppendLine($" /// string icon = {className}.GetIcon(\"settings\");");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 아이콘 존재 여부 확인");
|
||||
sb.AppendLine($" /// if ({className}.HasIcon(\"search\")) {{ }}");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 존재하는 유니코드 문자인지 확인");
|
||||
sb.AppendLine($" /// if ({className}.IsIconChar(\"□\")) {{ }}");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 전체 아이콘 이름 순회");
|
||||
sb.AppendLine($" /// foreach (var name in {className}.GetAllIconNames()) {{ }}");
|
||||
sb.AppendLine(" /// ");
|
||||
sb.AppendLine($" /// // 아이콘 총 개수");
|
||||
sb.AppendLine($" /// int count = {className}.Count;");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// </example>");
|
||||
sb.AppendLine(" /// <remarks>");
|
||||
sb.AppendLine(" /// <para><b>UXML에서 사용하기:</b></para>");
|
||||
sb.AppendLine(" /// <para>UXML에서 Material Icons를 사용하려면 USS에서 폰트를 설정하고, Label의 text에 유니코드 문자를 직접 입력합니다.</para>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine(" /// /* USS 파일 */");
|
||||
sb.AppendLine(" /// .material-icon {");
|
||||
sb.AppendLine(" /// -unity-font: resource('Fonts/Icons/MaterialSymbolsOutlined');");
|
||||
sb.AppendLine(" /// font-size: 24px;");
|
||||
sb.AppendLine(" /// }");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine(" /// <!-- UXML 파일 -->");
|
||||
sb.AppendLine(" /// <ui:Label class=\"material-icon\" text=\"\" /> <!-- home 아이콘 -->");
|
||||
sb.AppendLine(" /// <ui:Label class=\"material-icon\" text=\"\" /> <!-- settings 아이콘 -->");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// <para><b>C# 코드에서 UXML Label에 아이콘 적용:</b></para>");
|
||||
sb.AppendLine(" /// <code>");
|
||||
sb.AppendLine($" /// var iconLabel = root.Q<Label>(\"my-icon\");");
|
||||
sb.AppendLine($" /// iconLabel.text = {className}.Settings;");
|
||||
sb.AppendLine($" /// {className}.ApplyIconStyle(iconLabel);");
|
||||
sb.AppendLine(" /// </code>");
|
||||
sb.AppendLine(" /// </remarks>");
|
||||
sb.AppendLine($" public static class {className}");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #region Font");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine($" private const string FontResourcePath = \"{fontPath}\";");
|
||||
sb.AppendLine(" private static Font? _cachedFont;");
|
||||
sb.AppendLine(" private static StyleFontDefinition? _cachedFontDefinition;");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 폰트를 동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <returns>로드된 Font, 실패 시 null</returns>");
|
||||
sb.AppendLine(" public static Font? LoadFont()");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_cachedFont == null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _cachedFont = Resources.Load<Font>(FontResourcePath);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return _cachedFont;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 폰트를 비동기로 로드합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" /// <returns>로드된 Font, 실패 시 null</returns>");
|
||||
sb.AppendLine(" public static async UniTask<Font?> LoadFontAsync(CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_cachedFont != null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" return _cachedFont;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" var request = Resources.LoadAsync<Font>(FontResourcePath);");
|
||||
sb.AppendLine(" await request.ToUniTask(cancellationToken: ct);");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" _cachedFont = request.asset as Font;");
|
||||
sb.AppendLine(" return _cachedFont;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// UI Toolkit용 StyleFontDefinition을 동기로 반환합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <returns>StyleFontDefinition, 폰트 로드 실패 시 기본값</returns>");
|
||||
sb.AppendLine(" public static StyleFontDefinition GetFontDefinition()");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_cachedFontDefinition == null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var font = LoadFont();");
|
||||
sb.AppendLine(" if (font != null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _cachedFontDefinition = new StyleFontDefinition(font);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return _cachedFontDefinition ?? default;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// UI Toolkit용 StyleFontDefinition을 비동기로 반환합니다. (캐싱됨)");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" /// <returns>StyleFontDefinition, 폰트 로드 실패 시 기본값</returns>");
|
||||
sb.AppendLine(" public static async UniTask<StyleFontDefinition> GetFontDefinitionAsync(CancellationToken ct = default)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (_cachedFontDefinition == null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var font = await LoadFontAsync(ct);");
|
||||
sb.AppendLine(" if (font != null)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _cachedFontDefinition = new StyleFontDefinition(font);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return _cachedFontDefinition ?? default;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// VisualElement에 아이콘 폰트 스타일을 동기로 적용합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"element\">스타일을 적용할 요소</param>");
|
||||
sb.AppendLine(" /// <param name=\"fontSize\">폰트 크기 (기본값: 24)</param>");
|
||||
sb.AppendLine(" public static void ApplyIconStyle(VisualElement element, int? fontSize = 24)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" element.style.unityFontDefinition = GetFontDefinition();");
|
||||
sb.AppendLine(" if(fontSize != null) element.style.fontSize = fontSize.Value;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// VisualElement에 아이콘 폰트 스타일을 비동기로 적용합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"element\">스타일을 적용할 요소</param>");
|
||||
sb.AppendLine(" /// <param name=\"ct\">취소 토큰</param>");
|
||||
sb.AppendLine(" /// <param name=\"fontSize\">폰트 크기 (기본값: 24)</param>");
|
||||
sb.AppendLine(" public static async UniTask ApplyIconStyleAsync(VisualElement element, CancellationToken ct = default, int fontSize = 24)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" element.style.unityFontDefinition = await GetFontDefinitionAsync(ct);");
|
||||
sb.AppendLine(" element.style.fontSize = fontSize;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 폰트 캐시를 클리어합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static void ClearFontCache()");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" _cachedFont = null;");
|
||||
sb.AppendLine(" _cachedFontDefinition = null;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #endregion");
|
||||
sb.AppendLine();
|
||||
|
||||
// 아이콘 상수 생성
|
||||
foreach (var (name, unicode) in icons)
|
||||
{
|
||||
var fieldName = ConvertToFieldName(name, usedNames);
|
||||
var character = GetCharacterFromUnicode(unicode);
|
||||
var escapedChar = EscapeForCSharp(character);
|
||||
|
||||
sb.AppendLine($" /// <summary>{name} (U+{unicode.ToUpper()})</summary>");
|
||||
sb.AppendLine($" public const string {fieldName} = \"{escapedChar}\";");
|
||||
}
|
||||
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #region Lookup");
|
||||
sb.AppendLine();
|
||||
|
||||
// 이름으로 아이콘 조회 딕셔너리
|
||||
sb.AppendLine(" private static readonly Dictionary<string, string> _iconsByName = new()");
|
||||
sb.AppendLine(" {");
|
||||
foreach (var (name, unicode) in icons)
|
||||
{
|
||||
var character = GetCharacterFromUnicode(unicode);
|
||||
var escapedChar = EscapeForCSharp(character);
|
||||
sb.AppendLine($" [\"{name}\"] = \"{escapedChar}\",");
|
||||
}
|
||||
sb.AppendLine(" };");
|
||||
sb.AppendLine();
|
||||
|
||||
// 조회 메서드
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘 이름으로 유니코드 문자를 조회합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" /// <param name=\"iconName\">아이콘 이름 (예: \"home\", \"settings\")</param>");
|
||||
sb.AppendLine(" /// <returns>아이콘 문자, 없으면 빈 문자열</returns>");
|
||||
sb.AppendLine(" public static string GetIcon(string iconName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" // 실제 유니코드 문자가 아니라 이스케이프 문자열인 경우 변환");
|
||||
sb.AppendLine(" if (iconName.StartsWith(\"\\u\") && iconName.Length == 6)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" try");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" var code = Convert.ToInt32(iconName.Substring(2), 16);");
|
||||
sb.AppendLine(" iconName = char.ConvertFromUtf32(code);");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" catch");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" Debug.LogWarning($\"Failed to convert escape sequence: {iconName}\");");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" ");
|
||||
sb.AppendLine(" if(IsIconChar(iconName)) return iconName;");
|
||||
sb.AppendLine(" return _iconsByName.TryGetValue(iconName.ToLower(), out var icon) ? icon : string.Empty;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 아이콘이 존재하는지 확인합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static bool HasIcon(string iconName) => _iconsByName.ContainsKey(iconName);");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 유니코드 문자로 아이콘이 존재하는지 확인합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static bool IsIconChar(string iconChar) => _iconsByName.Values.Contains(iconChar);");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 유니코드 문자로 아이콘 이름을 조회합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static string GetIconNameByChar(string iconChar)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" foreach (var kvp in _iconsByName)");
|
||||
sb.AppendLine(" {");
|
||||
sb.AppendLine(" if (string.Equals(kvp.Value, iconChar, StringComparison.OrdinalIgnoreCase)) return kvp.Key;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine(" return string.Empty;");
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 모든 아이콘 이름 목록을 반환합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine(" public static IEnumerable<string> GetAllIconNames() => _iconsByName.Keys;");
|
||||
sb.AppendLine();
|
||||
|
||||
sb.AppendLine(" /// <summary>");
|
||||
sb.AppendLine(" /// 전체 아이콘 수를 반환합니다.");
|
||||
sb.AppendLine(" /// </summary>");
|
||||
sb.AppendLine($" public static int Count => {icons.Count};");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(" #endregion");
|
||||
|
||||
sb.AppendLine(" }");
|
||||
sb.AppendLine("}");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private static string ConvertToFieldName(string iconName, HashSet<string> usedNames)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var words = iconName.Split('_', StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
foreach (var word in words)
|
||||
{
|
||||
if (word.Length == 0) continue;
|
||||
|
||||
// 첫 글자 대문자, 나머지 소문자 (PascalCase)
|
||||
sb.Append(char.ToUpper(word[0]));
|
||||
if (word.Length > 1)
|
||||
{
|
||||
sb.Append(word.Substring(1).ToLower());
|
||||
}
|
||||
}
|
||||
|
||||
var result = sb.ToString();
|
||||
|
||||
// 숫자로 시작하면 앞에 _ 추가
|
||||
if (result.Length > 0 && char.IsDigit(result[0]))
|
||||
{
|
||||
result = "_" + result;
|
||||
}
|
||||
|
||||
// 빈 문자열이면 기본값
|
||||
if (string.IsNullOrEmpty(result))
|
||||
{
|
||||
result = "_Icon";
|
||||
}
|
||||
|
||||
// 중복 처리
|
||||
var originalResult = result;
|
||||
var counter = 2;
|
||||
while (usedNames.Contains(result))
|
||||
{
|
||||
result = $"{originalResult}_{counter}";
|
||||
counter++;
|
||||
}
|
||||
|
||||
usedNames.Add(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static string GetCharacterFromUnicode(string hexCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
var codepoint = int.Parse(hexCode, NumberStyles.HexNumber);
|
||||
return char.ConvertFromUtf32(codepoint);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "?";
|
||||
}
|
||||
}
|
||||
|
||||
private static string EscapeForCSharp(string str)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
foreach (var c in str)
|
||||
{
|
||||
// 유니코드 이스케이프 시퀀스로 변환
|
||||
if (c > 127 || c < 32)
|
||||
{
|
||||
// Surrogate pair 처리
|
||||
sb.Append($"\\u{(int)c:X4}");
|
||||
}
|
||||
else if (c == '"')
|
||||
{
|
||||
sb.Append("\\\"");
|
||||
}
|
||||
else if (c == '\\')
|
||||
{
|
||||
sb.Append("\\\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(c);
|
||||
}
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a4f9ee471e14d684aa1d05c88ee24116
|
||||
8
Assets/Models.meta
Normal file
8
Assets/Models.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 686d9e37ca8806d4f8e65e44974663fd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Models/FBX.meta
Normal file
8
Assets/Models/FBX.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cccee78d9b77a734b875fd7ae53eba33
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Avg.fbx
Normal file
BIN
Assets/Models/FBX/Avg.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/Avg.fbx.meta
Normal file
115
Assets/Models/FBX/Avg.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d2be87cba5fb0b4d8cdaf0882916f49
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Avg_mt
|
||||
second: {fileID: 2100000, guid: 3973b8f52ddcaff4ea2b8795c756960c, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Box 1.fbx
Normal file
BIN
Assets/Models/FBX/Box 1.fbx
Normal file
Binary file not shown.
110
Assets/Models/FBX/Box 1.fbx.meta
Normal file
110
Assets/Models/FBX/Box 1.fbx.meta
Normal file
@@ -0,0 +1,110 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03b82d7d06a0fe64e97b7446cd64c29e
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Box.fbx
Normal file
BIN
Assets/Models/FBX/Box.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/Box.fbx.meta
Normal file
115
Assets/Models/FBX/Box.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 749ce4b24458c194f900ae592d0c82be
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Box_mt
|
||||
second: {fileID: 2100000, guid: c8a44dd2854a4a0408d93013d91d2258, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Conveyor 1.fbx
Normal file
BIN
Assets/Models/FBX/Conveyor 1.fbx
Normal file
Binary file not shown.
110
Assets/Models/FBX/Conveyor 1.fbx.meta
Normal file
110
Assets/Models/FBX/Conveyor 1.fbx.meta
Normal file
@@ -0,0 +1,110 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f5c886f6ac9c24419228ecb1b43ec0b
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Conveyor.fbx
Normal file
BIN
Assets/Models/FBX/Conveyor.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/Conveyor.fbx.meta
Normal file
115
Assets/Models/FBX/Conveyor.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70c3a315cb8eb62458eaf54c3a3c8fe5
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Conveyor_mt
|
||||
second: {fileID: 2100000, guid: f8ac8417911ea764d83a5f778e28f555, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/ConveyorModule1.fbx
Normal file
BIN
Assets/Models/FBX/ConveyorModule1.fbx
Normal file
Binary file not shown.
107
Assets/Models/FBX/ConveyorModule1.fbx.meta
Normal file
107
Assets/Models/FBX/ConveyorModule1.fbx.meta
Normal file
@@ -0,0 +1,107 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a775c3ff8e1f77747994d1f76ef26fbf
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/DiverterModule.fbx
Normal file
BIN
Assets/Models/FBX/DiverterModule.fbx
Normal file
Binary file not shown.
120
Assets/Models/FBX/DiverterModule.fbx.meta
Normal file
120
Assets/Models/FBX/DiverterModule.fbx.meta
Normal file
@@ -0,0 +1,120 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c61fb02733528134c890144f6d31a674
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: "\uB808\uC77C_mat"
|
||||
second: {fileID: 2100000, guid: 64e373755394581438602ada2758c914, type: 2}
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: "\uCEE8\uBCA0\uC774\uC5B4_mat"
|
||||
second: {fileID: 2100000, guid: 0be53889c02d3744384eb34d5ecbbf3e, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/ForkliftA.fbx
Normal file
BIN
Assets/Models/FBX/ForkliftA.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/ForkliftA.fbx.meta
Normal file
115
Assets/Models/FBX/ForkliftA.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bd1842715d9c2244bb6e9b4506012183
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ForkliftA_mt
|
||||
second: {fileID: 2100000, guid: ada75e08c669a734ca6b7486758dedde, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/ForkliftB.fbx
Normal file
BIN
Assets/Models/FBX/ForkliftB.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/ForkliftB.fbx.meta
Normal file
115
Assets/Models/FBX/ForkliftB.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7fbf3fd6341f1d64ca16f0d274cf7c46
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ForkliftB_mt
|
||||
second: {fileID: 2100000, guid: 9e47d6797c18acb42952a48c9d216bc1, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Rack.fbx
Normal file
BIN
Assets/Models/FBX/Rack.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/Rack.fbx.meta
Normal file
115
Assets/Models/FBX/Rack.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c5c5f37f30a466a49ba6db4225ee30d2
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Rack_mt
|
||||
second: {fileID: 2100000, guid: c40b8afb28c7e4b448eb653f87ed41a5, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/RobotArm.fbx
Normal file
BIN
Assets/Models/FBX/RobotArm.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/RobotArm.fbx.meta
Normal file
115
Assets/Models/FBX/RobotArm.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ecc0e9081081e5418f324a694e4e4b8
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: RobotArm_mt
|
||||
second: {fileID: 2100000, guid: 8507e5e90d7e5d744946bb93bc5cf20b, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/SK_RoboArm04.FBX
Normal file
BIN
Assets/Models/FBX/SK_RoboArm04.FBX
Normal file
Binary file not shown.
111
Assets/Models/FBX/SK_RoboArm04.FBX.meta
Normal file
111
Assets/Models/FBX/SK_RoboArm04.FBX.meta
Normal file
@@ -0,0 +1,111 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c50ea9cf2ad95dd458e4b1d110e24456
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages:
|
||||
- 0.25
|
||||
- 0.125
|
||||
- 0.0625
|
||||
- 0.01
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,107 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a06350d5bbeb2ec4b800462428447dab
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Sink.fbx
Normal file
BIN
Assets/Models/FBX/Sink.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/Sink.fbx.meta
Normal file
115
Assets/Models/FBX/Sink.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28cc90da5a4dd60409fa0726a5c519f7
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Sink_mt
|
||||
second: {fileID: 2100000, guid: fc78a8ddf808ba54783153aa00ab5452, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/StackerCrane 1.fbx
Normal file
BIN
Assets/Models/FBX/StackerCrane 1.fbx
Normal file
Binary file not shown.
110
Assets/Models/FBX/StackerCrane 1.fbx.meta
Normal file
110
Assets/Models/FBX/StackerCrane 1.fbx.meta
Normal file
@@ -0,0 +1,110 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1eb838a6d4bcd494a82573bea8134a43
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/Worker.fbx
Normal file
BIN
Assets/Models/FBX/Worker.fbx
Normal file
Binary file not shown.
125
Assets/Models/FBX/Worker.fbx.meta
Normal file
125
Assets/Models/FBX/Worker.fbx.meta
Normal file
@@ -0,0 +1,125 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8eaf2ce1ed4f1324f80078e9b00c8bc7
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Clothes_mt
|
||||
second: {fileID: 2100000, guid: 96d5835aed15c0a48a63c45f62799a4a, type: 2}
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Shoes_mt
|
||||
second: {fileID: 2100000, guid: 05e94674c78035741b10f9e65c0a3613, type: 2}
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Worker_mt
|
||||
second: {fileID: 2100000, guid: b19e94845dd084342bc3c0dc2632b524, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/pallet 1.fbx
Normal file
BIN
Assets/Models/FBX/pallet 1.fbx
Normal file
Binary file not shown.
110
Assets/Models/FBX/pallet 1.fbx.meta
Normal file
110
Assets/Models/FBX/pallet 1.fbx.meta
Normal file
@@ -0,0 +1,110 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f7e49d8124c70a41ae3fae2af7451d5
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/pallet.fbx
Normal file
BIN
Assets/Models/FBX/pallet.fbx
Normal file
Binary file not shown.
120
Assets/Models/FBX/pallet.fbx.meta
Normal file
120
Assets/Models/FBX/pallet.fbx.meta
Normal file
@@ -0,0 +1,120 @@
|
||||
fileFormatVersion: 2
|
||||
guid: da24167cbb901ea43b6da21ae60a8cbf
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Box_mt
|
||||
second: {fileID: 2100000, guid: c8a44dd2854a4a0408d93013d91d2258, type: 2}
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: pallet_mt
|
||||
second: {fileID: 2100000, guid: 946d74b319c7d494c9d4977c56606bc5, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/processor.fbx
Normal file
BIN
Assets/Models/FBX/processor.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/processor.fbx.meta
Normal file
115
Assets/Models/FBX/processor.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6455152fd7c72f848b8f90f833a53f7f
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: Processor_mt
|
||||
second: {fileID: 2100000, guid: 9371cb6688b19454f9d702afb82920aa, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/processorA.fbx
Normal file
BIN
Assets/Models/FBX/processorA.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/processorA.fbx.meta
Normal file
115
Assets/Models/FBX/processorA.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec52e5924ade0a440b66d67241fa08a9
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ProcessorA_mt
|
||||
second: {fileID: 2100000, guid: b4c0d66f06145c74c8bca9f94442cd63, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/processorB.fbx
Normal file
BIN
Assets/Models/FBX/processorB.fbx
Normal file
Binary file not shown.
115
Assets/Models/FBX/processorB.fbx.meta
Normal file
115
Assets/Models/FBX/processorB.fbx.meta
Normal file
@@ -0,0 +1,115 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e40aace6526e6ce4a8124e49110b2fc8
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ProcessorB_mt
|
||||
second: {fileID: 2100000, guid: cc895134e7247b04fbbd117d20852ea5, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/processorC 1.fbx
Normal file
BIN
Assets/Models/FBX/processorC 1.fbx
Normal file
Binary file not shown.
110
Assets/Models/FBX/processorC 1.fbx.meta
Normal file
110
Assets/Models/FBX/processorC 1.fbx.meta
Normal file
@@ -0,0 +1,110 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8be7cd185e23bdd45a3aa687ce9fa8eb
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/FBX/processorC.fbx
Normal file
BIN
Assets/Models/FBX/processorC.fbx
Normal file
Binary file not shown.
120
Assets/Models/FBX/processorC.fbx.meta
Normal file
120
Assets/Models/FBX/processorC.fbx.meta
Normal file
@@ -0,0 +1,120 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6caf8af5ac517c94ea7d3c01a134ca66
|
||||
ModelImporter:
|
||||
serializedVersion: 24200
|
||||
internalIDToNameTable: []
|
||||
externalObjects:
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ProcessorC_glass_mt
|
||||
second: {fileID: 2100000, guid: 1081699daccaf2d4c8446cfb299a3cc6, type: 2}
|
||||
- first:
|
||||
type: UnityEngine:Material
|
||||
assembly: UnityEngine.CoreModule
|
||||
name: ProcessorC_mt
|
||||
second: {fileID: 2100000, guid: bea844b971ff27845899567f93cb1417, type: 2}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Models/LibraryModels.meta
Normal file
8
Assets/Models/LibraryModels.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5df79dc4b35f84e4085ae70d0835d660
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Models/LibraryModels/Material.meta
Normal file
8
Assets/Models/LibraryModels/Material.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c695aa271ff54648909cfc2b6b56303
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
136
Assets/Models/LibraryModels/Material/SK_RoboArm.mat
Normal file
136
Assets/Models/LibraryModels/Material/SK_RoboArm.mat
Normal file
@@ -0,0 +1,136 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SK_RoboArm
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 1d31f07efd8cb95478a230fa8913f9bd, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 1d31f07efd8cb95478a230fa8913f9bd, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.5
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &5727564543376905621
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 10
|
||||
8
Assets/Models/LibraryModels/Material/SK_RoboArm.mat.meta
Normal file
8
Assets/Models/LibraryModels/Material/SK_RoboArm.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6108814b708e2d4d947e3d99c8b202b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7c681e11f7f909e41b6123c40c5680d7
|
||||
guid: 4b78b16cc2484004f93110d6f7916efe
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
8
Assets/Models/LibraryModels/Mesh/RobotArm.meta
Normal file
8
Assets/Models/LibraryModels/Mesh/RobotArm.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fd75be166a1b69e439d2521e6aafa243
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/LibraryModels/Mesh/RobotArm.zip
Normal file
BIN
Assets/Models/LibraryModels/Mesh/RobotArm.zip
Normal file
Binary file not shown.
7
Assets/Models/LibraryModels/Mesh/RobotArm.zip.meta
Normal file
7
Assets/Models/LibraryModels/Mesh/RobotArm.zip.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 90b82b7e2f7d58b4da03855429bffebc
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/LibraryModels/Mesh/RobotArm/SK_RoboArm04.FBX
Normal file
BIN
Assets/Models/LibraryModels/Mesh/RobotArm/SK_RoboArm04.FBX
Normal file
Binary file not shown.
111
Assets/Models/LibraryModels/Mesh/RobotArm/SK_RoboArm04.FBX.meta
Normal file
111
Assets/Models/LibraryModels/Mesh/RobotArm/SK_RoboArm04.FBX.meta
Normal file
@@ -0,0 +1,111 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0941cd221ad0e8d4599bc19b95ad7f9f
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages:
|
||||
- 0.25
|
||||
- 0.125
|
||||
- 0.0625
|
||||
- 0.01
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,107 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1019337bfd4f75849a4fa65983a8edde
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 1
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 1
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations: []
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 1
|
||||
importBlendShapes: 1
|
||||
importCameras: 1
|
||||
importLights: 1
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 0
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 0
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Models/LibraryModels/Texture.meta
Normal file
8
Assets/Models/LibraryModels/Texture.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1624c52b76f28f4418544a8a32f934c6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Models/LibraryModels/Texture/T_RoboArm01_BC.TGA
Normal file
BIN
Assets/Models/LibraryModels/Texture/T_RoboArm01_BC.TGA
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 MiB |
117
Assets/Models/LibraryModels/Texture/T_RoboArm01_BC.TGA.meta
Normal file
117
Assets/Models/LibraryModels/Texture/T_RoboArm01_BC.TGA.meta
Normal file
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1d31f07efd8cb95478a230fa8913f9bd
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Models/Material.meta
Normal file
8
Assets/Models/Material.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 151530efa925c4e49acb5807a49065a6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/Avg_mt.mat
Normal file
140
Assets/Models/Material/Avg_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Avg_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 2
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: bf16c087b89dd054bbd2aee1cb782096, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: da9c060dcf749934c97c6d9db81a5070, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: a025253def6d9da4aa04c9f813d2791d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: bf16c087b89dd054bbd2aee1cb782096, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: c2da28c384682934dbd15e41b9aaa151, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.6
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0.464
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.8679245, g: 0.8679245, b: 0.8679245, a: 1}
|
||||
- _Color: {r: 0.8679245, g: 0.8679245, b: 0.8679245, a: 1}
|
||||
- _EmissionColor: {r: 34.29675, g: 34.29675, b: 34.29675, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/Avg_mt.mat.meta
Normal file
8
Assets/Models/Material/Avg_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3973b8f52ddcaff4ea2b8795c756960c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
139
Assets/Models/Material/Box_mt.mat
Normal file
139
Assets/Models/Material/Box_mt.mat
Normal file
@@ -0,0 +1,139 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Box_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 1
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: c68c30e1e06183a4abb0a3a3302a6678, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: c68c30e1e06183a4abb0a3a3302a6678, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: 369b3f3b22080e44a8063e26311461dc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 3d35d1b98dee2244e96f96eb13e1e119, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.714
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1}
|
||||
- _Color: {r: 0.8396226, g: 0.8396226, b: 0.8396226, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/Box_mt.mat.meta
Normal file
8
Assets/Models/Material/Box_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8a44dd2854a4a0408d93013d91d2258
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/Conveyor_mt.mat
Normal file
140
Assets/Models/Material/Conveyor_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Conveyor_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: d5e1ed15b3e5ca94299c4ff6d72c7166, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: c019406784b0a334d89eca479945fa80, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d5e1ed15b3e5ca94299c4ff6d72c7166, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: 513befae7a8a48c49a985f1cfec66436, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 04cd46e9b12fc984aa52c44ff57487cf, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.6
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/Conveyor_mt.mat.meta
Normal file
8
Assets/Models/Material/Conveyor_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f8ac8417911ea764d83a5f778e28f555
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/ForkliftA_mt.mat
Normal file
140
Assets/Models/Material/ForkliftA_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ForkliftA_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: ee5ef4fff9d055548adf3869d11b01a3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 75063f5fff67b4f468bc043e3938c814, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: ee5ef4fff9d055548adf3869d11b01a3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: 1ba91ac701185e942bfaa820b1dce1c6, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 3f0c92c8c86bb7744bef6bd9fa879c9a, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.557
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/ForkliftA_mt.mat.meta
Normal file
8
Assets/Models/Material/ForkliftA_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ada75e08c669a734ca6b7486758dedde
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/ForkliftB_mt.mat
Normal file
140
Assets/Models/Material/ForkliftB_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ForkliftB_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: fe2c88d379887ab4ebda608beaf681be, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: ebf65a4285c9bca4ab9466114ac9f642, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: fe2c88d379887ab4ebda608beaf681be, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: bb0cfa699a33fe544a4981dd91db914c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: e736f6dd26c08e54ba24ad6a8014b5e4, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.41
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0.8018868, g: 0.8018868, b: 0.8018868, a: 1}
|
||||
- _Color: {r: 0.8018868, g: 0.8018868, b: 0.8018868, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/ForkliftB_mt.mat.meta
Normal file
8
Assets/Models/Material/ForkliftB_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e47d6797c18acb42952a48c9d216bc1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
137
Assets/Models/Material/NodeMat.mat
Normal file
137
Assets/Models/Material/NodeMat.mat
Normal file
@@ -0,0 +1,137 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-4565501991080471485
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 10
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: NodeMat
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2000
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 5b2a46b169b1e3543b99fcf1dea6c026, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 5b2a46b169b1e3543b99fcf1dea6c026, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0, g: 0.44071722, b: 1, a: 1}
|
||||
- _Color: {r: 0, g: 0.4407172, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0.03466915, b: 0.23680153, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
8
Assets/Models/Material/NodeMat.mat.meta
Normal file
8
Assets/Models/Material/NodeMat.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98186149952baf943b7207d05866f41f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
138
Assets/Models/Material/PathMat.mat
Normal file
138
Assets/Models/Material/PathMat.mat
Normal file
@@ -0,0 +1,138 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &-1608208513217497860
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 10
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: PathMat
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _EMISSION
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 1
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0, g: 0.3326056, b: 0.77254903, a: 1}
|
||||
- _Color: {r: 0, g: 0.33260557, b: 0.77254903, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 18.157236, b: 191.74904, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
8
Assets/Models/Material/PathMat.mat.meta
Normal file
8
Assets/Models/Material/PathMat.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 619ba2412fbf2d6499c43d4dbe7fc928
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/Rack_mt.mat
Normal file
140
Assets/Models/Material/Rack_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Rack_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 88d20b60e483ccd48a3ca8e0b3acf0e9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 448b23c7a95db104087cfc1c4207a5e3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 88d20b60e483ccd48a3ca8e0b3acf0e9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: 185e79f1e2b84d14db12cdc52b56755e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: f3ebf88034db0a448aefc6b8ecd715a7, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.5
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/Rack_mt.mat.meta
Normal file
8
Assets/Models/Material/Rack_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c40b8afb28c7e4b448eb653f87ed41a5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
140
Assets/Models/Material/RobotArm_mt.mat
Normal file
140
Assets/Models/Material/RobotArm_mt.mat
Normal file
@@ -0,0 +1,140 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: RobotArm_mt
|
||||
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _METALLICSPECGLOSSMAP
|
||||
- _NORMALMAP
|
||||
- _OCCLUSIONMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap:
|
||||
RenderType: Opaque
|
||||
disabledShaderPasses:
|
||||
- MOTIONVECTORS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BaseMap:
|
||||
m_Texture: {fileID: 2800000, guid: 3d182a3d87efd4c429149c12f3bd3c63, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: c8ad4eaa90ed6ed42a9222e1406a11ec, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 3d182a3d87efd4c429149c12f3bd3c63, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 2800000, guid: aa4742684e04b6c4e959aa5e1223fcbf, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 6a71c3efa279fa349b5e7ef31c9145fc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SpecGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_Lightmaps:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_LightmapsInd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- unity_ShadowMasks:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AddPrecomputedVelocity: 0
|
||||
- _AlphaClip: 0
|
||||
- _AlphaToMask: 0
|
||||
- _Blend: 0
|
||||
- _BlendModePreserveSpecular: 1
|
||||
- _BumpScale: 1
|
||||
- _ClearCoatMask: 0
|
||||
- _ClearCoatSmoothness: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailAlbedoMapScale: 1
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _DstBlendAlpha: 0
|
||||
- _EnvironmentReflections: 1
|
||||
- _GlossMapScale: 0
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _OcclusionStrength: 0.6
|
||||
- _Parallax: 0.005
|
||||
- _QueueOffset: 0
|
||||
- _ReceiveShadows: 1
|
||||
- _Smoothness: 1
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _SrcBlendAlpha: 1
|
||||
- _Surface: 0
|
||||
- _WorkflowMode: 1
|
||||
- _XRMotionVectorsPass: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
--- !u!114 &9097444446529507014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 11
|
||||
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: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
|
||||
version: 10
|
||||
8
Assets/Models/Material/RobotArm_mt.mat.meta
Normal file
8
Assets/Models/Material/RobotArm_mt.mat.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8507e5e90d7e5d744946bb93bc5cf20b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user