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

카테고리

분류 전체보기 (2862)
Unity3D (899)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (192)
협업 (65)
3DS Max (3)
Game (12)
Utility (142)
Etc (99)
Link (34)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (20)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

무료 집단(groupy) 대체 프로그램 10개

집단(groupy) 소개

설명

Groupy를 사용하면 응용 프로그램 창을 함께 끌어서 공통된 탭 인터페이스 아래에 그룹화 할 수 있습니다

주요 기능 – 애플리케이션을 드래그 앤 드롭하여 공통된 탭 인터페이스 아래 그룹화 할 수 있습니다

– 여러 응용 프로그램과 문서를 함께 사용하여 편리한 액세스 가능 – 그룹 관련 탭 브라우저와 같은 인터페이스로 빠르고 자연스러운 방식으로 탭 관리 – 기존 그룹에 새 탭 추가 빠르고 쉽게 창 내용 미리보기 – 대상 탭 위로 마우스를 가져 가면 탐색기 탭간에 파일을 복사 할 수 있습니다

.

공식 홈페이지

https://www.stardock.com/products/groupy/

플랫폼.

Windows,

지원사양

GUI Designer,Tab Stacking,Tabbed interface,gui-designer,tab-stacking,tabbed-interface,


무료 집단(groupy) 대체 프로그램 10개

1. 파일 탐색기(File Explorer)

설명

이전에 Windows 탐색기로 알려진 파일 탐색기는 Windows 95 이상에서 Microsoft Windows 운영 체제의 릴리스에 포함 된 파일 관리자 응용 프로그램입니다

파일 시스템에 액세스하기위한 그래픽 사용자 인터페이스를 제공합니다

또한 작업 표시 줄 및 바탕 화면과 같은 모니터에 많은 사용자 인터페이스 항목을 제공하는 운영 체제의 구성 요소입니다

Windows 탐색기를 실행하지 않고도 컴퓨터를 제어 할 수 있습니다 (예 : 명령 프롬프트 창에 입력 한 명령과 같이 NT 파생 버전의 Windows에서 작업 관리자의 File | Run 명령을 실행하지 않고도이 기능이 작동 함)

C : \ Windows 디렉토리에 있으며 Windows 셸, explorer.exe 또는 단순히 “Explorer”라고도합니다 …

자세한 내용은»

공식 홈페이지

http://windows.microsoft.com/en-us/windows-8/files-folders-windows-explorer

분류

Windows,

지원사양

Bundled with Windows,File-search,Tabbed interface,file-compression,file-explorer,file-management,file-search,file-storage,tabbed-interface,windows-built-in,


2. 한 명의 사령관(One Commander)

설명

One Commander (이전 bitCommander)는 향상된 Miller Columns (OSX Finder의 칼럼 뷰) 및 2 패널 지원 기능을 갖춘 Windows 파일 관리자 (Windows 7, 8 및 10)입니다

지능적 파일 표현, 상대 파일 날짜 (생성 후 날짜로 표시), 모든 폴더의 ToDo 노트, 복사 오류를 방해하지 않고 배치 파일 처리 등을 포함한 파일 관리를 단순화합니다

Windows 스토어 버전 : https://www.microsoft .com / store / apps / 9NBLGGH4S79B – 두 개의 패널 – 밀러 열 (OS X Finder에서와 같이) – 긴 유니 코드 경로 지원 (경로의 Windows ‘260 자에 국한되지 않음) – 상대 파일 날짜 (수정 한 시간 / 일) 및 색상 코드 파일 – 미리보기 내장 탭 – 즐겨 찾기를 프로젝트 그룹으로 구성 – 현재 폴더의 빠른 필터링 – 파일 작업 큐 – 배치 파일 작업 – 쉬운 키보드 탐색 – ToDo 모든 폴더의 작업 및 노트 – 드롭리스트 / 똑똑한 클립 보드 – 여러 목적지로 쉽게 분류 – 이미지 / 오디오 / 비디오 / 문서 메타 데이터 – 메타 데이터 및 GPS로 사진 미리보기 사진 위치 – 어두운 / 밝은 테마; 테마 편집 가능 – 이미지 변환기 – RegEx 이름 바꾸기 – AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS , NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR 및 Z ..

자세한 내용은»

공식 홈페이지

http://onecommander.com

분류

Windows,

지원사양

Batch rename files,Dark theme,Dual pane support,File preview,File-search,Image Preview,Miller columns,Multi Column View,Portable,Support for regular expressions,Tabbed interface,batch-file-renamer,commander,dark-theme,dual-pane,exif-renaming,explorer-replacements,file-commander,file-explorer,file-management,file-preview,file-search,gps,image-converter,metadata,miller-columns,monitor-changes,mp3-rename,multi-column-view,note-taking,preview-images,productivity-tool,regular-expression,tabbed-file-manager,tabbed-interface,thumbnails,


3. Explorer ++(Explorer++)

설명

Explorer ++는 Windows 용 무료 파일 관리자입니다

Windows XP 이상에서 사용할 수 있으며 Windows 탐색기와 동일한 익숙한 인터페이스를 제공하며 훨씬 더 풍부한 파일 탐색 환경을 위해 여러 가지 향상된 기능과 향상된 기능을 제공합니다

최신 / 불안정한 빌드는 AppVeyor에서 다운로드 할 수 있습니다

https://ci.appveyor.com / project / derceg / explorerplusplus

원하는 플랫폼 인 “Win32″또는 “x64″를 선택한 다음 다운로드 가능한 패키지의 “이슈”를 선택하십시오

더 많은 정보 “

공식 홈페이지

https://explorerplusplus.com/

분류

Windows,PortableApps.com,

지원사양

Portable,Tabbed interface,file-explorer,file-management,portable-file-managers,tabbed-file-manager,tabbed-interface,


4. QTTabBar(QTTabBar)

설명

QTTabBar는 Windows 탐색기의 확장 프로그램으로 Microsoft의 파일 브라우저에 탭 브라우징 기능을 제공합니다

폴더 및 응용 프로그램 실행을위한 즐겨 찾기 기능, 함께 열 수있는 폴더 그룹화, 다양한 파일 형식에 대한 툴팁 미리보기 기능 등을 비롯하여 다양한 멋진 기능이 제공됩니다

QTTabBar는 “Quizo”(따라서 QTTabBar라는 이름)로 알려진 일본 개발자가 썼지 만 시간 부족으로 Paul Accisano에게 프로젝트를 넘겨주었습니다

실제로 “Quizo”는 QTTabBar의 development.Open 소스 브랜치를 재개했습니다 : http://qttabbar.sourceforge.net/ More Info»

공식 홈페이지

http://qttabbar.wikidot.com/

분류

Windows,Windows Explorer,Discontinued,

지원사양

Discontinued,File preview,Tabbed browsing,Windows Explorer extension,Windows Explorer integration,explorer-integration,file-explorer,file-preview,tabbed-browsing,tabbed-file-manager,windows-explorer-extension,


5. 클로버(Clover)

설명

Windows 탐색기의 날개 Clover는 Windows 탐색기의 확장 기능으로, Chrome 브라우저와 유사한 다중 탭 기능을 추가합니다

Clover를 설치 한 후에는 동일한 창에서 여러 개의 폴더를 열 수 있으며 폴더 책갈피를 추가 할 수도 있습니다

참고 : 이전에 열었던 여러 탭이있는 Clover를 시작한다면, 얼어 붙을 수 있기 때문에 몇 초 만에 서둘러야합니다

익스플로러 (또는 Shift-Del)에서 “리사이클 확인 표시”를 선택 취소 한 경우, 프롬프트없이 삭제할 수있는 동일한 바로 가기 키를 폴더에 북마크하기 위해 Ctrl-D 핫키를 사용하면 일부 파일을 삭제해야합니다

추가 정보»맬웨어 경고 정보 : 실사를 수행하십시오

그러나이 응용 프로그램의 필수 동작이 Windows 탐색기를 조작하는 것과 같은 의심스러운 동작을 찾는 일부 맬웨어 방지 엔진을 트리거한다는 것을 이해하십시오

이 사이트 또는 자신의 소프트웨어에서 경고가 표시 될 수 있습니다

파일을 검토하지만 바이러스 백신 엔진의 ‘trojan.generic’또는 ‘gen.trojan.heuristic’유형의 식별자가 있는지 확인하십시오.이 유형은 파일에 식별 가능한 해로운 코드가 포함되어 있지 않지만 잠재적으로 원하지 않는 동작을 나타내는 것을 나타냅니다

대부분의 경우 바람직하다

그러나 이것이 다운로드가 안전하지 않게되고 다른 소프트웨어와 마찬가지로 실제 악성 코드에 감염 될 수 있다는 것을 의미하지는 않으므로 스캐닝 엔진의 경고를 읽으십시오.

공식 홈페이지

http://ejie.me/

분류

Windows,Windows Explorer,Bundleware,

지원사양

Bundleware,Chrome-like,GUI Designer,IT Asset Management,Tab Stacking,Tabbed browsing,Tabbed interface,Windows Explorer extension,bookmark-manager,chrome-like,chrome-like-tabs,gui-designer,it-asset-management,tab-stacking,tabbed-browsing,tabbed-file-manager,tabbed-interface,windows-explorer,windows-explorer-extension,



6. TidyTabs(TidyTabs)

설명

TidyTabs는 모든 프로그램에 탭 브라우징을 제공하는 도구입니다

Windows 탐색기, Microsoft Office 또는 PuTTY에서 Chrome 스타일의 탭을 원했던 적이 있습니까? TidyTabs가 그 역할을합니다

그것은 OS와 잘 어울리 며 다중 탭 기능이 Windows의 핵심 부분 인 것처럼 느껴집니다

TidyTabs는 동일한 저자의 AquaSnap과 잘 상호 운용되도록 설계되었습니다

TidyTabs로 만든 탭 그룹은 AquaSnap 덕분에 쉽게 끼워 넣거나 고정시킬 수 있습니다

두 도구는 사실 매우 보완 적이므로 생산성을 크게 향상시킬 수 있습니다

주요 기능 : * 모든 창에 탭 추가 * 다른 응용 프로그램에서 창을 그룹화 할 수 있음 * 응용 프로그램 (블랙리스트 또는 화이트리스트) 제외 가능성 * 탭 순서 변경 * 탭 이름 바꾸기 * 자동 업데이트

공식 홈페이지

https://www.nurgo-software.com/products/tidytabs

분류

Windows,PortableApps.com,

지원사양

Portable,Tabbed browsing,Tabbed interface,productivity-app,productivity-tool,tabbed-browsing,tabbed-interface,tabs,window-manager,window-organizer,


7. Tablacus Explorer(Tablacus Explorer)

설명

Tablacus Explorer는 애드온을 지원하는 탭으로 구분 된 파일 관리자입니다

탭 인터페이스 add-on 지원 사용자 정의 가능한 연관, 메뉴, 키, 마우스 제스처, 별칭 완전 휴대용, 설치 불필요 다중 언어 및 유니 코드 지원 오픈 소스 64 비트 (TE64.exe / x64 Edition) 및 32 비트 (TE32.exe / x86 버전) 버전을 사용할 수 있습니다.

공식 홈페이지

http://www.eonet.ne.jp/~gakana/tablacus/explorer_en.html

분류

Windows,

지원사양

Extensible by Plugins/Extensions,Multiple languages,Portable,Support for Unicode,Tabbed interface,extensible,file-management,multi-language,tabbed-file-manager,tabbed-interface,unicode-support,


8. TabExplorer(TabExplorer)

설명

Windows 탐색기에 탭을 추가하십시오

Windows 탐색기를 탭 브라우저처럼 만드십시오.

공식 홈페이지

http://www.softpedia.com/get/System/System-Miscellaneous/TabExplorer.shtml

분류

Windows,Windows Explorer,Discontinued,

지원사양

Discontinued,Tabbed interface,Windows Explorer extension,tabbed-file-manager,tabbed-interface,tabs,windows-explorer-extension,


9. BrightExplorer(BrightExplorer)

설명

우리는 BrightExplorer을 감싸는 방법으로 현재 Windows 파일 탐색기를 탭핑하고 새로운 고급 패널과 같은 고급 기능을 추가했습니다!

공식 홈페이지

http://www.brightnewworlds.com/home/default.aspx?14

분류

Windows,Windows Explorer,Discontinued,

지원사양

Discontinued,Tabbed browsing,Tabbed interface,Windows Explorer extension,file-management,tabbed-browsing,tabbed-file-manager,tabbed-interface,windows-explorer-extension,


10. Windows Double Explorer(Windows Double Explorer)

설명

Windows Double Explorer는 하나의 응용 프로그램에서 두 개 이상의 Windows 탐색기를 관리합니다

또한 빠른 액세스를 위해 툴바에 드래그 앤 드롭으로 즐겨 찾는 폴더를 추가 할 수 있습니다

디스크 구조를 쉽게 관리 할 수 ​​있습니다

(노턴 사령관 또는 총 사령관의 일종)

공식 홈페이지

http://wde.codeplex.com/

분류

Windows,Windows Explorer,Discontinued,

지원사양

Discontinued,Portable,file-management,windows-explorer,



[출처] http://freealt.selfhow.com/groupy/

반응형
Posted by blueasa
, |


[링크]

http://naver.me/FbcC1qet

반응형
Posted by blueasa
, |


[링크]

https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fyonghosee%2Fposts%2F2060716030634186


[PDF 링크]

https://drive.google.com/file/d/1uQ5VOXBNk_Nf6V5JUXhKl2pHZY5N1wA4/view

반응형
Posted by blueasa
, |

오라클의 유료화 이슈로 OpenJDK를 설치하려는데

현재 버전(Unity v5.6.6f2)에서 좀 편하게 설치할 방법이 없을까 하다가 꼼수로 해놓은 방법 간단 정리해 놓습니다.



[유니티 버전] v5.6.6f2


[OpenJDK 간단(?) 설치 방법]

1. Unity2018.3 이상 버전을 설치


2. Unity2018.3의 Preferences에 보면 아래와 같이 기본 내장 OpenJDK가 설정 돼 있다.


3. Unity2018.3이 설치 된 곳에 가보면 위에 설명된 (AndroidPlayer/Tools/OpenJDK)를 찾을 수 있는데 정확한 경로는 아래와 같다.

   2018.3 설치 위치를 찾아서 아래 경로대로 찾아가자.

  [Unity2018설치경로] ...\2018.3.0f2\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\OpenJDK


4. 3번의 위치까지 찾아가면 아래와 같이 OS별 폴더가 보인다.


5. 유니티 5.6.6의 Preferences에서 JDK를 아래처럼 해당 OS 폴더까지 패스로 골라준다.


나의 경우 Unity Hub를 깔아서 전체 경로는 아래와 같다.


[전체경로]

C:\Program Files\Unity\Hub\Editor\2018.3.0f2\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\OpenJDK\Windows



[추가]

Unity Hub를 쓰면 버전별로 설치가 계속 돼서 Path가 바뀌는 문제 때문에 OpenJDK 폴더를 통째로 복사해서 다른 곳에 옮겨 두고 쓰기로 했다.

(예: C:\OpenJDK)


반응형
Posted by blueasa
, |


[링크1]

https://m.blog.naver.com/PostView.nhn?blogId=syowoo&logNo=220518896040&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F


[링크2]

http://freecandoall.blogspot.com/2015/10/xcode.html

반응형
Posted by blueasa
, |

[파일] 

unity-excel-importer-master.zip


Unity Excel Importer

Automatically import from xls, xlsx to custom ScriptableObject in Unity Editor

Import Setup

1. Create Excel and add to Unity

Create an Excel file, make the first row the name of the column, and enter the data from the second row. And add it to Unity’s Project view.

create_excel import_excel_to_unity

2. Create Entity Class Script

Create a new script and define a class with Excel column names and public fields of the desired type. Also give the class ‘System.Serializable’ attribute.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class MstItemEntity
{
	public int id;
	public string name;
	public int price; 
}

3. Create Excel Asset Script

After selecting Excel, execute ExcelAssetScript from the Create menu and create a ScriptableObject script for Excel.

create_excel_asset

As for the generated script, the Excel file name and the sheet name are extracted and the part is commented out as below.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExcelAsset]
public class MstItems : ScriptableObject
{
	//public List<EntityType> Entities; // Replace 'EntityType' to an actual type that is serializable.
}

4. Replace EntityType in created Excel Asset

Uncomment fields and replace the generic type of List with the Entity class defined above.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExcelAsset]
public class MstItems : ScriptableObject
{
	public List<MstItemEntity> Entities;
}

4. Reimport or re-save Excel

When you import or re-save Excel, a ScriptableObject with the same name as Excel is created in the same directory and the contents of Excel are imported.

reimport_excel imported_entities

After this setting, updating Excel automatically updates ScriptableObject as well.

Advanced

Comment Row

If you enter ‘#’ in the first cell of the row, you can treat it as a comment and skip.

Change Asset Path

You can change the ScriptableObject generation position by specifying AssetPath as the ExcelAssetAttribute as shown below.

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExcelAsset(AssetPath = "Resources/MasterData")]
public class MstItems : ScriptableObject
{
	public List<MstItemEntity> Entities;
}

Use Enum

You can use enum by entering the element name as string in cell. It is also useful to set Data Validation pull down as an element of enum in Excel.

Lisence

This library is under the MIT License. This software includes the work that is distributed in the Apache License 2.0.



[출처] https://unitylist.com/p/28t/Unity-excel-importer

반응형

'Unity3D > Plugins' 카테고리의 다른 글

[펌] Socket.io-Client for Unity3D 소개  (0) 2019.03.08
[링크] iOSPlugin Sample  (0) 2019.01.29
[링크] Emoji_Extension  (0) 2018.06.07
[펌] Background Worker for Unity3D  (0) 2018.06.01
[Link] UnityAppNameLocalizationForIOS  (0) 2018.03.27
Posted by blueasa
, |

mac 에서 sourcetree 를 굉장히 잘 쓰고 있었는데,

어느 날 sourcetree 업데이트 이후 계정 인증을 계속 물어본다!! ㅠ


store password in keychain


위 항목을 체크하고 비밀번호를 입력해도, 저장되지 않는 키체인이여...


소스트리 삭제하고 재설치도 해보았지만 소용이 없었는데,

아래 포스팅 보고 해결했다.


http://crom0810.tistory.com/entry/Keychain에-SourceTree암호-저장하기


SourceTree에서 변경된 비밀번호를 인식하지 못하고 계속 비밀번호를 물어볼 경우 아래의 명령어로 처리할 수 있습니다.

git config --global credential.helper osxkeychain 


감사합니다~ 선생님~



출처: http://moigo4.tistory.com/entry/sourcetree-비밀번호-저장-안되는-이슈-mac [라지월드]

반응형
Posted by blueasa
, |
웹 페이지를 여는 방법을 찾고 있었는데....조금 다른 것이 들어왔네요 ㅎ
웹 상에 노출되어 있는 이미지 url를 입력하면 유니티 내에서 볼 수 있게 해 주는 코드입니다.
구글 클라우드에 있는 것들을 가져오면 앨범도 만들어 볼 수 있겠습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class example : MonoBehaviour 
{
public string url = "https://community.arm.com/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-20-66/6180.mali_2D00_shield_2D00_2.png";

IEnumerator Start() 
{
WWW www = new WWW(url);
yield return www;
Renderer renderer = GetComponent<Renderer>();
renderer.material.mainTexture = www.texture;
}
}


반응형
Posted by blueasa
, |


[링크]

https://orcacode.tistory.com/entry/Unity%EC%97%90%EC%84%9C-iPhone-X%EB%A5%BC-%EB%8C%80%EC%9D%91%ED%95%98%EB%8A%94-%EA%B0%84%ED%8E%B8%ED%95%9C-%EB%B0%A9%EB%B2%95


[플러그인]

https://github.com/rlatkdgus500/UnitySafeAreaController


반응형
Posted by blueasa
, |

컬링(Culling)

  • 최종 화면에 영향을 미치지 않는 물체를 파악하고 이를 렌더링 대상에서 제외시켜 필요한 물체만 그리는 기법
  • 프러스텀 컬림(Frustum Culling)
    • 가장 기본적이면서도 효과가 좋은 방법
    • 카메라 영역내의 공간 정보만 살려두고 영역 외부에 설정된 정보는 모두 버림
    • 카메라에 프로젝트에 설정된 레이어별로 차단 거리(Per-Layer Cull Distances)를 지정하면 이 값을 사용해 레이어에 속한 게임 오브젝트들을 컬링함
  • 오클루젼 컬링(Occlusion Culling)
    • 기존의 절두체를 이용한 컬링 기법의 한계를 보완하고 효율적으로 공간 정보를 관리해 빠르게 렌더링을 수행할 수 있게 도와주는 기법
    • Unity의 Windows => Occlusion Culling 메뉴를 통해 설정
    • 오클루젼 컬링 제작방법
      1. 오클루젼 영역 설정
      2. 오클루젼 컬링 데이터 제작
      3. 최종 결과 시뮬레이션
    • 오클루젼 포털(Occlusion Portal)
      • 오클루젼 영역을 스크립트로 조절하는 기능

드로우 콜 배칭(Draw Call Batching)

  • 텍스쳐 아틀라스(Texture Atlas)를 사용하여 콜수를 줄임
  • 성질이 동일한 물체들을 하나의 메시와 재질을 사용하게 통합
    • 여러 게임 오브젝트의 메시를 하나의 메시로 통합해주는 CombineChildren 컴포넌트를 제공
    • 최상위 게임 오브젝트에 이 컴포넌트를 사용하면 자식 오브젝트들이 갖는 메시들을 분석한 후 재질별로 메시를 통합해 재가공함
    • 컴바인 메시(Combined Mesh)를 통한 작업시 주의할 점
      • 게임 오브젝트들을 통합하면 게임 오브젝트별로 움직일 수 없게 됨
      • 관련된 빛의 계산이 통합된 모든 메시를 대상으로 수행됨
    • 메터리얼(Materials)
      • 다른 텍스쳐에 있는 두개의 독립적인 메터리얼을 하나의 큰 텍스쳐로 결합 할 수 있음(텍스처 아틀라스)
      • 일단 텍스처를 동일한 아틀라스로 묶으면 단일 메터리얼로 사용할 수 있게 됨
    • 배칭(Batching)
      • 현재 씬의 상황을 판단해 자동으로 드로우 콜을 줄이게 최적화하는 기능

      • 정적 배칭 Static Batching (Pro required)

        • Static 옵션이 설정된 게임 오브젝트에서 동일한 재질을 사용하는 물체가 있는 경우 유니티는 이들을 자동으로 하나의 메시로 통합 관리함
        • 움직이지 않는 물체에 대해 지정만 하면 자동으로 수행
      • 동적 배칭 Dynamic Batching

        • 움직이는 물체를 대상으로 동일한 재질을 사용하는 경우 이를 판단해 자동으로 메시를 통합해 드로우 콜을 줄여주는 기능
        • 총 정점의 데이터 수가 900개 미만인 메시를 지닌 게임 오브젝트만을 대상으로 수행됨
        • 메시 데이터가 위치 외에도 노멀, UV, 라이트맵 UV 등 총 3개의 속성을 갖고 있는 경우 정점의 수가 225개를 넘으면 동적 배칭이 적용되지 않음

최적의 퍼포먼스를 위한 캐릭터 모델링(Modeling Characters for Optimal Performance)

  • 싱글 스킨 메쉬 렌더러 사용

    • 각 캐릭터에 스킨 메쉬 렌더러(class-SkinnedMeshRenderer)는 하나여야 합니다.
    • Unity는 시야 컬링 및 경계 볼륨의 업데이트를 사용하여 애니메이션을 최적화하고, 이러한 최적화는 하나의 애니메이션 컴포넌트 및 하나의 스킨 메쉬 렌더러를 사용하는 경우에만 활성화됩니다.
    • 모델의 렌더링 시간은 두개의 스킨 메쉬를 사용할때 하나의 스킨 메쉬를 사용 할 때보다 대략 2배 정도 이며, 여러개의 메쉬를 사용하여 실질적인 메리트가 있는 일은 드뭅니다.
  • 가능한 메터리얼을 적게 사용

    • 각 메쉬의 메테리얼의 수를 최대한 적게 해야 합니다.
    • 여러 메테리얼을 캐릭터에서 사용하는 이유는, 다른 부분에서 다른 쉐이더가 필요한 경우 뿐 입니다(예를 들면 눈 부분은 특수 쉐이더).
    • 그러나 캐릭터에서 두 개 또는 세 개의 메테리얼로 거의 모든 케이스에 충분 합니다.
  • 가능한 한 본(Bones)를 적게 사용

    • 전형적인 데스크톱 게임의 본 계층은 15개에서 60개 사이의 본을 사용합니다.
    • 본의 수가 적을수록 퍼포먼스가 좋아집니다.
    • 30개 정도의 본으로 데스크톱 플랫폼에서는 아주 좋은 품질을 얻을 수 있고, 모바일 플랫폼에서도 비교적 좋은 품질을 얻을 수 있습니다.
    • 이상적으로는 모바일 장치에서는 30개보다 적게 하고, 데스크톱 게임에서도 30개를 크게 초과하지 않도록 합니다.
  • 폴리곤 갯수를 적게 사용

    • 폴리곤 수는 필요한 품질 및 대상 플랫폼에 의존합니다.
    • 모바일 장치는 메쉬 당 300에서 1500 폴리곤으로 좋은 결과를 얻을 수 있으며, 데스크톱 플랫폼에서의 이상적인 범위는 1500에서 4000 정도입니다.
    • 반면, 게임에 많은 캐릭터가 있을 때 메쉬 당 폴리곤의 수를 줄일 필요가 있을 것 입니다.
    • 예를 들어, Half Life 2는 캐릭터에 2500 - 5000 삼각형 수였습니다.
    • 현재 PS3와 XBox 360의 최고 랭크 게임은 보통 캐릭터에 5000에서 7000 삼각형 수입니다.
  • 포워드 및 역운동학을 분리

    • 애니메이션이 임포트 될 때, 모델의 역운동학(IK) 노드는 포워드 운동학(FK)에 베이크(baked)된 결과로 Unity는 IK 노드가 전혀 필요 없습니다.
    • 그러나 모델에 남아있으면 애니메이션에 영향을 미치지 않음에도 불구하고 CPU 오버 헤드가 발생합니다.
    • 선호에 따라 Unity 또는 모델링 도구, 어느 것이든 중복 IK 노드를 제거할 수 있습니다.
    • 이상적으로는 IK 및 FK 계층을 모델링 시에 별도로 보관하여 필요할 때 IK 노드를 쉽게 제거할 수 있도록 해야 합니다.

렌더링 통계 창(Rendering Statistics Window) 확인

  • Time per frame and FPS
    • 하나의 게임 프레임을 처리 및 렌더링하는데 걸린 시간(프레임/초)
    • 이 숫자는 프레임 업데이트 및 게임 뷰의 렌더링에 걸린 시간만 포함되는 것에 유의
    • 에디터가 씬 뷰 인스펙터의 그리기 및 에디터 전용 작업을 수행하는데 걸린 시간은 포함되지 않음
  • Batches
    • “Batching” is where the engine attempts to combine the rendering of multiple objects into a chunk of memory in order to reduce CPU overhead due to resources switching.
  • Saved by batching
    • Number of batches that was combined. To ensure good batching, you should share materials between different objects as often as possible.
    • Changing rendering states will break up batches into groups with the same states.
  • Tris and Verts 그려진 삼각형과 정점의 수. 이것은 optimizing for low-end hardware에서 중요합니다.
  • Screen 화면 크기, 안티 앨리어싱 레벨 및 메모리 사용량.
  • SetPass 렌더링 패스의 수. 각 패스에 대해서 유니티 런타임은 CPU 오버헤드를 가져올 수 있는 새로운 쉐이더를 바인딩한다.
  • Visible Skinned Meshes 렌더링된 스킨 메쉬 수
  • Animations 재생 에니메이션 수

프레임 디버거(Frame Debugger)

  • 메뉴: Window > Frame Debugger
  • 매 프레임마다 그리는 오브젝트 정보를 보여줌

쉐이더 로딩타임 최적화(Optimizing Shader Load Time)

항상 포함하는 쉐이더와 미리 로딩해야 하는 쉐이더 집합을 설정하여 쉐이더 로딩시간을 효율적으로 관리해 줌

  • 항상 포함하는 쉐이더(Always Included Shaders)

    • Project Settings > Graphics > Always Included Shaders
  • 미리 로딩하는 여러가지 쉐이더 집합(Preloaded Shader Variant Collection)

    • 쉐이더 집합 생성

    • Assets > Create > Shader Variant Collection

    • 쉐이더 집합 미리 로딩 목록에 추가

    • Project Settings > Graphics > Preloaded Shaders

텍스처 캐시(Texture Cache)

  • 모바일의 경우 GPU 제조사에서 권장하는 텍스처 포멧을 사용하면 캐시 적중률이 높아져 속도의 향상을 얻게 되며, 특히 GPU의 성능이 약한 스마트폰 기기에서는 이러한 부분의차이가 큼
  • 플랫폼별 권장 텍스처 포멧
  • 안드로이드 텍스처 압축 지원
    • http://stackoverflow.com/questions/9148795/android-opengl-texture-compression/9514396#9514396
    • ETC1 (Ericsson texture compression)
      • This format is supported by all? Android phones.
      • But, It doesn't support an alpha channel, so can only be used for opaque textures.
    • PVRTC (PowerVR texture compression)
      • Supported by devices with PowerVR GPUs (Nexus S, Kindle fire ...)
    • ATITC (ATI texture compression)
      • Used in devices with Adreno GPU from Qaulcomm (Nexus One ...)
    • S3TC (S3 texture compression)
      • This texture compression is used in the NVIDIA chipset integrated devices (Motorola Xoom ...)
  • 안드로이드 Developer에 정의된 내용
    • https://developer.android.com/guide/topics/graphics/opengl.html#textures
    • ATITC (ATC) - ATI texture compression
      • GL_AMD_compressed_ATC_texture
      • GL_ATI_texture_compression_atitc
    • PVRTC - PowerVR texture compression
      • GL_IMG_texture_compression_pvrtc
    • S3TC (DXTn/DXTC) - S3 texture compression
      • GL_OES_texture_compression_S3TC
      • GL_EXT_texture_compression_s3tc
      • GL_EXT_texture_compression_dxt1
      • GL_EXT_texture_compression_dxt3
      • GL_EXT_texture_compression_dxt5
    • 3DC - 3DC texture compression
      • GL_AMD_compressed_3DC_texture
// Texture compression supported on Android
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
  Strings = gl.glGetString(GL10.GL_EXTENSIONS);
 
  if (s.contains("GL_IMG_texture_compression_pvrtc")) {
    // Use PVRTC compressed textures
  } else if (s.contains("GL_AMD_compressed_ATC_texture") ||
             s.contains("GL_ATI_texture_compression_atitc")) {
    // Use ATITC compressed textures
  } else if (s.contains("GL_OES_texture_compression_S3TC") ||
             s.contains("GL_EXT_texture_compression_s3tc")) {
    // Use DTX Textures
  } else {
    // Handle no texture compression founded
  }
}

텍스처 설정

  • Texture
  • Normal map
  • Editor GUI and Legacy GUI
  • Sprite (2D and UI)
  • Cursor
  • Reflection
  • Cookie
  • Lightmap
  • Advanced

텍스처 포멧지원 확인

텍스처 생성팁

오버드로우(Overdraw)

  • 물체가 겹쳐서 뒤에 있는 물체를 그린후에 앞에 있는 물체를 다시 그리면 겹치는 부분만큼 픽셀을 계산해서 그려야 함
  • 이렇게 특정 영역의 픽셀을 다시 그리는 것을 오버드로우라고 함
  • 불투명한 물체의 오버드로우를 줄이는 좋은 방법은 가장 큰 영역을 차지하는 물체를 먼저 그리게 설정하는 것

유용한 에셋





[출처] https://github.com/zzragida/UnityDocs/wiki/Graphics-Optimization

반응형
Posted by blueasa
, |