유니티 4.0
유니티 4.0은 현재까지 저희 회사의 가장 대규모 소프트웨어 릴리즈입니다. 유니티 4.0은 이전의 유니티에서는 찾아볼 수 없는 전적으로 새롭고 강력한 기능을 다음과 같이 제공합니다.
- 메카님, 당신의 캐릭터나 물체를 애니메이션화 할 새로운 애니메이션 시스템
- 모든 플랫폼에서 실시간 그림자 지원
- DirectX 11 렌더링
- 월드 충돌 기능으로 업데이트 된 슈리켄 파티클 시스템
- 어도비 플래시와 리눅스, 두 개의 새 플랫폼 지원
- 크로스 플랫폼 동적 글꼴
그 외 더 많은 새로운 기능과 업데이트를 더 확인해 보세요.

빠른 건너뛰기
새로운 애니메이션 시스템
- 일단 근육 클립으로 들여오기가 되고 나면, 애니메이션은 추가적인 전환이 필요없이 모든 휴머노이드 캐릭터에 사용될 수 있습니다.
- 같은 애니메이션을 오버헤드나 클립의 여러 버전을 저장할 필요 없이 여러 다른 비율의 캐릭터에 사용할 수 있습니다.
- 사용자 모델의 뼈대를 인간의 근육으로 단 한번의 클릭으로 전환하거나, 완전한 컨트롤을 위해 그 설정을 미세 튠 합니다.
- 유니티 내에서 그 작업에 관한 한 업계 최고의 도구로 당신이 저장하거나 모션 캡처한 애니메이션을 분할해 보십시오.
- 클립의 범위를 드래그 하는 동안 애니메이션을 미리 볼 수 있습니다.
- 포즈 반복 품질과 모션 반복 품질의 지시기(indicator)로 사용자는 최적의 반복으로 손쉽게 범위 선정을 할 수 있습니다.
- 완벽한 반복을 보장하기 위해 들여오기 기능이 시작과 끝 포즈 사이의 차이점을 제거합니다.
- 임의적 애니메이션 지원:
- 일반적 뼈대의 지원.
- 추가적인 빼대로 인간의 아바타 지원 (“하이브리드”).
- 애니메이션 클릭, 블랜드 트리 및 전환(Transition) 인스펙터에서의 일반적 또는 하이브리드 뼈대의 미리보기.
- 다중 IK 레이어 해결(OnAvatarIK() API로 변환).
- 컬링 지원 (Animator.cullingMode = AnimatorCullingMode).
DirectX 11 렌더링
- 또는 이후 버전의, DX10 또는 상위 레벨 GPU에서, 이제 사용자는 DirectX 11을 사용할 수 있게 되었습니다.
- 새로운 기능:
- 기하구조 쉐이더 (DX10 GPU 필요) 및 hull/도메인 쉐이더 (DX11 GPU 필요). 쉐이더 파일에서 #pragma geometry, hull, domain.
- 쉐이더 계산 (*.compute 파일들, 스크립트 내 ComputeShader).
- ComputeBuffer 스크립팅 API ( DX11 lingo의 "structured buffers"). 그것들을 compute shaders와 regular shader 모델 5.0 쉐이더에서 사용할 수 있습니다 (Material.SetBuffer, Shader.SetGlobalBuffer).
- "random write" 접속으로 텍스처 렌더링 ("UAVs" in DX11 lingo). Graphics.SetRandomWriteTarget, RenderTexture.enableRandomWrite.
- Graphics.DrawProcedural & DrawProceduralIndirect.
- DX11-specific RenderTexture 포멧: RenderTextureFormat.R8, ARGBInt, RGInt, RInt.
- 3D RenderTextures (RenderTexture.isVolume, volumeDepth). compute 또는 pixel 쉐이더로부터의 "random write" 텍스처로 이들을 채웁니다.
- 쉐이더에서, 별도의 constant 버퍼를 마크업 하기 위해 선택적으로 CBUFFER_START(name) .. CBUFFER_END 매크로를 사용할 수 있습니다.
- 사용법 및 문서:
- 플레이어 설정에 "Use DX11" 옵션이 있습니다; 이것이 설정되면 에디터와 플레이어는 DX11을 사용하려 할 것 입니다. 에디터가 DX11 모드에 있을 때는 제목 표시줄에 “
”이 나타납니다. - 문서의 “DirectX 11 사용” 페이지를 참조하십시오.
- 새로운 이미지 효과는 DX11을 활용합니다: 필드의 깊이, 카메라 모션 블러, 노이즈.
- “테셀레이션(Tessellation) 쉐이더” 표준 패키지에는 DX11 테셀레이션을 사용하는 여러 쉐이더가 있습니다.
- 플레이어 설정에 "Use DX11" 옵션이 있습니다; 이것이 설정되면 에디터와 플레이어는 DX11을 사용하려 할 것 입니다. 에디터가 DX11 모드에 있을 때는 제목 표시줄에 “
리눅스 출판
- 독립 실행형 플레이어를 32-bit (x86) 또는 64-bit (x86_64) 리눅스에 내보내기 합니다.
- 빌드 설정에서 "리눅스"를 타깃 플랫폼으로 선택합니다.
- Windows 상의 리눅스 플레이어를 빌드 한 후, 그것을 실행하려면 우선 리눅스 상에서 바이너리 실행 파일을 만들어야 합니다. 이것은, 실행 파일에 'chmod +x'을 수행하거나 오른쪽 마우스 버튼을 클릭하여 "어플리케이션의 수행 허용"을 선택하여 만들 수 있습니다.
- 지원되는 플랫폼
- 독립 실행형 플레이어는 업체가 제공하는 그래픽 드라이버를 가진 대부분의 현재 리눅스 시스템에서 실행 될 것입니다.
- 업체가 제공하는 드라이버를 갖춘 그래픽 카드에 대한 32 또는 64-bit Ubuntu 리눅스, 버전 10.10 (Maverick Meerkat) 또는 이후 버전에 대한 공식 지원이 제공될 것 입니다.
그래픽 기능
- 지형: 노멀 맵 & 사용자 지정 쉐이더로 지형 지원. 내장 쉐이더 네이처/지형/범프트 스페큘러 추가; "노멀 맵" 텍스처 슬롯을 지형 스플렛맵에 추가; 지형 설정에 Material 필드 추가.
- 3D (볼륨) 텍스처 지원, 현재 그것을 들여올 방법은 없지만, 스크립트로 만들 수 있고(Texture3D) 쉐이더(sampler3D and tex3D) 내에서 사용할 수 있습니다. SystemInfo.supports3DTextures 또한 가능.
- 모바일 장치에서 그림자를!
- 지향성 조명만 가능, 그림자 캐스케이드, 소프트 그림자 불가.
- GL_OES_depth_texture 확장자 필요. 특히, Tegra 2/3 기반의 장치에서는 지원되지 않음.
- 안드로이드에서는 최근 os의 Honeycomb 필요.
- 글꼴:
- 모든 플랫폼(모바일 포함) 상에서 동적 글꼴 렌더링의 동일한 결과 (FreeType을 통해).
- UnityGUI, GUIText & TextMesh의 문자열에서 단순한 html 스타일의 텍스트 마크업 지원으로 여러 글꼴 크기, 스타일, 색상을 지원.
- 이미지 효과 업데이트:
- 필드의 깊이 (Scatter), 기존의 필드의 깊이 3.4 효과의 개선된 버전. DX11 모드가 있어 밝은 부분에 bokeh 스프라이트를 표시합니다.
- 카메라 모션 블러는 말 그대로, 모션 블러를 기반으로 카메라 모션을 수행합니다. DX11-최적화 된 모드는 더 나은 품질을 제공합니다.
- Noise와 Grain이 더 멋진 필름 노이즈 시뮬레이션을 합니다 (또한 DX11-최적화 된 모드 있음).
- 블룸, Bloom 및 Lens 플레어의 개선된 버전. 새로운 "고품질" 모드는 수차(aberration), 반짝임, 고 주파수 부분에 대한 더 나은 처리를 시뮬레이션 합니다.
- 색상 보정 LUT 효과는 3D 텍스처를 사용하여 임의 색상 보정을 실행합니다.
- 엣지 감지 (기하구조) 효과는 새로운 "Sobel Depth Thin" 모드로 다른 깊이 기반 효과 (DOF, 모션 블러 등.)와 훌륭히 상호작용 할 수 있는 능력을 갖추었습니다.
- 이제 색상 보정 곡선(Color Correction Curves)은 포화와 불포화((de)saturation)를 지원하며 색상 키 보정에 대한 해결을 제공합니다.
- 큐브맵(Cubemaps):
- 새로운 큐브맵 생성(Generate Cubemap) 텍스처 들여오기 옵션은 이미지의 수직/수평 크로스 또는 열/행으로부터 큐브맵을 생성합니다.
- 빈틈없는 큐브맵 옵션은 각 면의 가장자리가 짝이 맞도록 해 줍니다. 또한 런타임 스크립팅 API, Cubemap.SmoothEdges.
- 큐브맵 에셋은 할당 시에 그들의 픽셀을 복사하는 대신에 에디터에서 그들의 원래의 텍스처를 참조합니다.
- 라이트매핑: "베이크 선택"은 더 이상 선택되지 않은 오브젝트의 라이트맵을 파괴하지 않습니다. 그 대신, 예상대로 선택한 오브젝트의 라이트맵을 업데이트 합니다.
- 라이트매핑: 라이트매핑 시 노멀맵을 고려하여, 라이트맵에 상세한 부분을 추가할 수 있게 해주고 듀얼 라이트맵 모드에서 근거리와 원거리 사이의 전환에 있어 시각적 어색함을 해소해 줍니다.
- 라이트매핑: 생성된 라이트맵 uvs가 어떤 경우에는 MAC과 Windows에서 다르게 보이는 문제를 해결.
- 텍스처 렌더링: RenderTextureFormat.ARGBFloat, RGFloat, RGHalf, RFloat, RHalf 포맷 추가.
- 이제 메쉬에서 비 삼각형 토폴로지가 가능합니다. 사용자는 스크립트로 선, 점 또는 쿼드 모양의 메쉬를 만들 수 있습니다. MeshTopology enum, Mesh.GetIndices, SetIndices, GetTopology 참조.
- 스킨드 메쉬 결과를 일반 메쉬로 "베이크" 하기 위해 SkinnedMeshRenderer.BakeMesh을 추가하였습니다. 사용자는 이것을 사용하여 반쯤 인스턴스 화 된 군중 렌터링 스킴을 구현할 수 있습니다.
- 그래픽: 독립 실행형 빌드에서 크기 조절이 가능한 창 추가; 플레이어 설정에서 크기조절 창(Resizable Window) 옵션 참조.
- LOD: 실행 시에 LOD의 구축/구성을 할 수 있게 해 주는 API 추가. 이제 LODGroup을 추가하고 UI을 사용하지 않고도 이를 구성할 수 있습니다.
- 슈리켄(Shuriken) 파티클 시스템:
- 월드 충돌 지원 - 월드 충돌은 고/중/저 품질로 가능합니다. 고품질은 모든 파티클을 레이캐스트(raycasts)하므로 많은 비용이 소모됩니다. 중/저 품질은 파티클의 일부를 추적하며, 나머지는 옛날 충돌을 재사용합니다. 이것은 대략적이기는 하지만, 대부분의 경우 많은 파티클이 존재하므로 시각적으로 양호하며 매우 잘 작동합니다. 레이케스트 예산은 품질 설정에서 정해집니다.
- 자동 시뮬레이션 컬링 지원. 파티클 시스템은 가시적이 된 경우에만 업데이트 됩니다. 이것을 자동지원 할 수 없을 경우, 슈리켄은 UI에서 그 이유를 바로 표시합니다.
- 외부 물리력 지원 - 파티클과 함께 윈드 존(Wind Xone) 사용
- 스프라이트에 대한 벤트(Bent) 노멀 지원
- 직계 자식으로 분류 및 렌더링 지원(통합 시스템에 대한 정렬 문제 해결).
- 쉐이더:
- 내장 매트릭스 변수 추가, UNITY_MATRIX_V (매트릭스 보기), UNITY_MATRIX_VP (view*projection).
- float4 unity_DeltaTime 추가, (dt, 1/dt, smoothdt, 1/smoothdt) 포함.
- 쉐이더 도움말 매크로 추가:
- UNITY_DECLARE_SHADOWMAP(tex), UNITY_SAMPLE_SHADOW(tex,uv), UNITY_SAMPLE_SHADOW_PROJ(tex,uv).
- UNITY_NEAR_CLIP_VALUE, D3D-에서 0.0으로 정의, GL-유사 플랫폼에서 -1.0으로 정의.
- 사용자가 플랫폼에서 어떤 쉐이더를 컴파일러가 사용하는지 결정하려면 UNITY_COMPILER_HLSL (d3d11, 360), UNITY_COMPILER_HLSL2GLSL (gles), UNITY_COMPILER_CG 사용.
- UNITY_INITIALIZE_OUTPUT(type,name)은 DX11 쉐이더 컴파일러가 "out" 매개변수의 전체 초기화가 필요할 경우 도와줍니다.
- OpenGL ES 2.0: 안드로이드에서 깊이 텍스처 지원.
- Scripting API: Texture.SetGlobalAnisotropicFilteringLimits 추가.
새 프로젝트 브라우저 (프로젝트 창 대체)
- 미리보기 아이콘으로 에셋 보기.
- 폴더 구조의 개요를 더 쉽게 파악할 수 있도록 폴더에 대한 별도의 트리 제공.
- 타입 및 에셋 라벨에 대해 드롭 리스트를 사용하여 에셋 검색
- 가장 자주 사용하는 검색을 손쉽게 사용할 수 있도록 검색을 즐겨찾는 목록에 저장.
- 가장 사용하는 폴더를 손쉽게 사용할 수 있도록 폴더를 즐겨찾기 목록에 드래그.
- 에셋 스토어의 검색과 에셋의 미리보기를 활성화.
- 프로젝트 브라우저를 창의 컨텍스트 메뉴(오른쪽 상단 코너)에 옛 스타일대로 하나의 행으로 레이아웃.
GUI 시스템의 재작성
- 현재의 GUI 시스템(OnGUI)의 코어를 재작성하고, 최적화하여 깨끗하게 정리하였습니다. 이제 메모리 사용을 줄어 유휴 메모리 수집 싸이클을 최소화 하였습니다. 일부 경우에서는, GUILayout 없이 10배까지 더 빨라지는 것을 목격하였고, 여러 경우 GUILayout을 사용 했을때에도 이전 버전보다는 빨라졌습니다.
- 주의: 이것은 향후 출시된 유니티 4.x에 포함된 "새 GUI"가 아닙니다. 이것은 현재의 GUI를 더욱 빠르게 만든 것 입니다.
여타의 기능
- 개발 플레이어 빌드에서 스크린 상에 오류 메시지를 표시하는 새 개발 콘솔 추가
- 안드로이드: Eclipse 프로젝트 생성 기능 추가.
- 안드로이드: APK 확장 파일에 대한 지원 (OBBs) - Google 플레이 스토어에서 50MB보다 큰 응용프로그램을 효과적으로 활성화.
- iOS: Screen.SetResolution이 이제 iOS에서도 작동.
- iOS: 타깃 해상도 플레이어 설정이 다중 iOS 장치상의 개발 워크플로우에 더 적합하도록 재 디자인되었습니다. 2개의 새로운 “자동 (최상의 성능)” 과 “자동 (최고 품질)” 설정으로 유니티 런타임이 가장 최적의 렌더링 해상도를 장치의 GPU 기능에 따라 선택할 수 있게 해 줍니다.
- 디버거: 이제 독립 실행형처럼 웹 플레이어를 부착하고 디버깅할 수 있습니다.
- 에디터: 인스펙터 내에서 새로운 컴포넌트 추가 드롭다운을 통해 게임 오브젝트에 컴포넌트와 스크립트를 더욱 쉽고 신속하게 추가할 수 있습니다.
- 에디터: 사용자 지정 클래스나 속성에 대한 당신만의 인스펙터 GUI을 만들고 이러한 클래스나 속성을 사용하는 모든 스크립트에서 사용될 수 있습니다.
- 글꼴: 사용자 글꼴은 이제 고정 그리드 대신 임의의 캐릭터 사각형을 사용할 수 있습니다.
- 글꼴: 이제 글꼴 캐릭터의 배치 속성을 스크립트로 사용할 수 있습니다.
- 글꼴: 들여오기를 한 글꼴을 이제 기어(gear) 메뉴에서 편집 가능한 사용자 지정 글꼴로 전환할 수 있습니다.
- 그라디언트 (슈리켄 에디터에서 알려짐)는 이제 스크립트에 사용이 가능합니다: Gradient, GradientColorKey, GradientAlphaKey.
- 네비게이션: NavMeshAgent는 회피 레벨의 우선순위화를 지원합니다.
- 네비게이션: NavMeshObstacle 컴포넌트 추가.
- 새 커서 API 도입:
- 커서 API가 소프트웨어와 하드웨어 커서를 모두 지원합니다.
- 다음 플랫폼에서 하드웨어 커서 지원: Windows, Mac OS X, Linux, Flash.
- 사용자 프로젝트의 플레이서 설정에서 기본 커서를 구성합니다.
- 라이선스: 새 구동 시스템 개발:
- 당신의 장비에서 라이선스를 스스로 제거할 수 있습니다!
- 지속 라이선스와 콘텐츠 업데이트
- 일정 라이선스 타입에 대한 유니티 계좌 로그인
- 일정 라이선스 타입에 대한 조사.
- 새 웹 플레이어 업데이트 메커니즘, 여러 개의 런타임 버전을 동시에 설치할 수 있게 해 줌:
- 베타 플러그 인을 설치하지 않고도 베타 런타임을 포함하는 베타 콘텐츠를 실행 할 수 있게 해 줍니다(베타 런타임의 자동으로 다운로드 됨).
- 켄텍스트 메뉴를 사용하여 선택적으로 베타 런타임을 사용하여 릴리즈 콘텐츠를 테스트 할 수 있게 해 줌(기본값은 릴리즈 런타임을 사용하여 플레이 백)
- 컨텍스트 메뉴를 사용하여, 플러그인 재 설치 없이 개발과 비개발 플레이어 사이의 전환을 허락합니다.
- 주의: 이것이 작동하려면, 이 빌드와 번들 된 웹 플러그인이 사용자 장치에 설치되어야 합니다.
- 플래시: 플래시 지원/비지원 API에 대한 어셈블리 검증. 만일 .NET 기능이나 API를 사용할 수 없을 경우, 컴파일 수행 전에 검증기가 로그를 남겨 사용자에게 통지할 것 입니다.
- 플러그인: 사용자가 네이티브 코드 플러그인에 사용할 수 있는 Texture.GetNativeTexturePtr() 추가. 비 OpenGL 플랫폼에서도 이제 텍스처를 바로 접속할 수 있습니다! 하위 레벨 네이티브 플러그인 인터페이스 문서의 페이지에 있는 예제에서 사용방법을 참조하십시오.
업그레이드 가이드
- 게임오브젝트(GameObjects)의 활성화 상태의 처리 방법을 변경하였습니다. 게임오브젝트의 활성화 상태는 이제 자식 게임오브젝트에 영향을 미치므로, 이제 게임오브젝트를 비활성화로 설정 하면 그의 전체 하위 계층조직이 비활성화 상태로 전환됩니다. 이는 사용자 프로젝트의 행태를 바꾸어 놓을 수 있습니다. GameObject.active와 GameObject.SetActiveRecursively()는 무용지물이 되었고, 그 대신 GameObject.activeSelf와 GameObject.activeInHierarchy getters와 GameObject.SetActive() 매소드를 사용합니다.
- 안드로이드: 안드로이드 입력자에 대한 X<->Y 축의 불합치를 제거하였습니다. 이제 별다른 작동 없이도 iOS 입력자와 합치해야 합니다. 코드 재작성이 필요합니다!
- 에디터: 선호 버전을 3.x에서 4.x로 재설정 하였습니다. 이는 사용자가 지정한 윈도우 레이아웃과 프로젝트 마법사 목록, 저장된 필터 등에 영향을 미칩니다.
- 에디터: 에셋을 들여오기 할 동안은 일관적이지 않을 것입니다. 예를 들면, 사용자가 텍스처를 후처리하고 그 에셋 경로를 질의할 경우, 빈 문자열을 반환할 것입니다. 에셋 후처리 이외의 에셋은 물론 아무때나 사용할 수 있습니다.
- iOS: 이제 iOS 센서가 스크린 방향을 따라갑니다. 더 이상 축의 재 매핑을 위해 복잡한 코드를 작성할 필요가 없습니다. 이는 Input.compensateSensors에 따라 끌 수 있습니다. 코드 재작성을 필요로 합니다!
- iOS: 타깃 해상도 플레이어 설정이 다중 iOS 장치상의 개발 워크플로우에 더 적합하도록 재 디자인되었습니다. 2 개의 새로운 “자동 (최상의 성능)” 과 “자동 (최고 품질)” 설정으로 유니티 런타임이 가장 최적의 렌더링 해상도를 장치의 GPU 기능에 따라 선택할 수 있게 해 줍니다. 이 변경에 맞추어 일부 사용자 맞춤 에디터 스크립트를 업데이트 해야 할 수 있습니다. 렌더링 해상도 또는 게임 스크립트에서 Screen.SetResolution API을 사용하여 변경해야 할 수 있습니다.
- iOS: 디바이스 SDK 플레이어 설정이 단순화 되어 이제 “Device SDK”와 “Simulator SDK” 단 2개의 입력항목만 포함하고 있습니다. 해당하는 에디터 API 입력항목 또한 변경되어, 이 변경에 맞추어 일부 사용자 맞춤 에디터 스크립트를 업데이트 해야 할 수 있습니다.
- iOS: 유니티 4.0에서는 ARMv6 장치에 대한 지원을 중단합니다 (iPhone의 1세대, iPhone 3G, iPod Touch 1/2 세대). 이는 기존 개발에 여러 방면으로 영향을 미칩니다:
- 타깃 플랫폼 설정이 유니티 에디터에서 삭제되었습니다. 이제 모든 유니티 iOS 응용 프로그램은 ARMv7 뿐 입니다. 해당되는 PlayerSetting.iOS 에디터 API 입력항목이 삭제되었습니다. 사용자의 에디터 스크립트도 이에 대해 변경을 해야 할 수 있습니다.
- 그래픽 API 레벨 (Open GL ES 1.1 또는 2.x) 선택이 별도의 그래픽 레벨 플레이어 설정으로 이동되었습니다. 이 설정은 안드로이드 플랫폼에 맞추어 졌습니다.
- 앱 스토어에 ARMv6+ARMv7 또는 ARMv6-전용 지원으로 이미 출시된 응용프로그램은 이제 타깃 iOS 버전 플레이어 설정이 “4.3” 또는 그 이상으로 설정된 경우 업데이트 할 수 있습니다.
- 모바일: 유니티 4.0은 모바일에서 진한 그림자를 지원합니다. 모바일에 대한 그림자는 기본 품질 설정에서 활성화 되어 있습니다. 그리고 프로젝트를 데스크 톱 플랫폼과 공유하게 되면, 프로젝트가 유니티 4.0으로 들여오기가 될 때 모바일 상에서 그림자가 그냥 나타날 수 있습니다. 모바일 상의 최적의 성능을 위해 조명/그림자 설정에 대한 일부 매뉴얼 작업이 필요할 수 있습니다.
- 런타임: DontDestroyOnLoad로 표시된 게임오브젝트는 레벨 로딩 시 더 이상 일시적인 비활성자(deactivate)가 아닙니다. 그들은 레벨을 로딩할 때 더 이상 OnDisable / OnEnable 호출을 받지 않을 것 입니다.
- 그래픽: 유니티 4.0에서 메쉬 들여오기 설정에 "읽기/쓰기 활성화" 옵션을 추가하였습니다. 이 옵션이 꺼지면, 유니티가 게임 내에서 메쉬 데이터의 복사본을 로딩하지 않을 수 있으므로 메모리를 절약합니다. 하지만 사용자가 런타임에 메쉬의 크기를 조절하거나 인스턴스화 할 경우, 사용자는 그 들여오기 설정에서 "읽기/쓰기 활성화" 옵션을 켜야 할 것 입니다. 그 이유는 일정하지 않은 크기 조정을 위해 메쉬 데이터를 메모리에 유지해야 하기 때문입니다. 일반적으로 우리는 이것을 빌드 시에 감지하지만, 메쉬가 런타임에 크기조정이나 인스턴스화가 될 때에는 수동으로 설정해야 합니다. 그렇지 않으면, 이는 게임 빌드에서 올바로 렌더링이 되지 않을 수 있습니다.
- 모델 들여오기: 유니티 4.0의 모델 들여오기(Model Importer)는 메쉬 최적화에서 더 향상되었습니다. 모델 들여오기의 "메쉬 최적화" 체크박스는 유니티 4.0에서 기본값으로 체크가 되어 있으며, 최적의 성능을 위해 사용자의 메쉬 내에서 버텍스(vertices)를 기록할 것 입니다. 사용자 메쉬의 버텍스 순서에 따라 사용자 프로젝트 내에서 후처리 코드나 효과가 있을 수 있으며, 이는 일부 변경에 의해 단절되었을 수 있습니다. 이런 경우, 메쉬 들여오기에서 "메쉬 최적화"를 비활성화 하십시오. 특히, 만일 사용자가 SkinnedCloth 컴포넌트를 사용하고 있다면, 메쉬 활성화는 사용자의 버텍스 무게 매핑을 변경시킬 것 입니다. 그러므로 만일 사용자가 3.5에서 들여온 프로젝트 내에서 SkinnedCloth을 사용한다면, 영향을 받는 메쉬에 대해서는 "메쉬 최적화"를 끄거나, 또는 새 버텍스 순서에 맞추어 버텍스 무게를 재구성해야 할 것입니다.
프로파일러 개선
- 안드로이드: 프로파일러 블럭이 렌더링 명령에서 EXT_debug_marker을 통해 렌더링 명령에서 마크업 되었습니다 (PerfHud와 같은 도구에 대해).
- GPU 프로파일러 상세 개체 뷰는 감소하는 GPU 시간에 따라 정렬됩니다.
- 복잡한 프로파일에 대한 메모리 사용과 UI 성능을 최적화.
- 스크립팅 API: Profiler.GetMonoHeapSize, GetMonoUsedSize.
- 작업량을 향상시키고 프로파일 데이터의 부족을 줄이기 위해 프로파일러 플레이어 연결에서 쓰레드를 실행하여 하였습니다.
에셋 파이프라인 개선
- AssetImporter에 userData 문자열 속성을 추가, 이것을 사용하여 에셋 당 데이터를 에셋 후처리에 전달.
- 수동 에셋 재들여오기(버텍스 메뉴를 통한)는, 캐시 서버에 그 결과가 이미 존재하는 경우에도 항상 재 들여오기를 실행합니다.
- 에셋 들여오기의 최적화된 파일 시스템 성능. 라이브러리/캐시 및 라이브러리/미리보기 폴더가 사라지고, 모든 들여온 결과는 라이브러리/메타데이터에 있습니다.
여타의 개선사항들
- 안드로이드: Screen.fullScreen을 통해 SYSTEM_UI_FLAG_LOW_PROFILE ("lights-out" 모드)에서 제어를 노출
- 안드로이드: Input.compenstateSensors에 대한 지원 추가.
- 안드로이드: ldpi/xhdpi 아이콘 이미지 지원 추가.
- 안드로이드: 키 저장과 키 비밀번호에 대한 비 US 문자의 지원을 추가.
- 안드로이드는 압축 버텍스 스트림을 사용합니다(사용할 수 있는 곳에 한함).
- 애니메이션: 이제 미리보기 창에서 메카님이 아닌 애니메이션을 미리보기 할 수 있습니다.
- 캐시 서버: 이제 32-bit 리눅스 빌드를 포함.
- 캐시 서버: 들여오기 설정을 변경하고 적용을 클릭하면 이제 사용이 가능한 경우 캐시 서버도 사용합니다.
- 캐시 서버: 에디터가 필요가 없을 경우에는 캐시 서버에 연결하지 않도록 합니다.
- 문서: 쉐이더 저작 문서 개선(내장 쉐이더가 파일, 사전 정의 쉐이더 전처리 매크로, DirectX 11 포함).
- 문서: 플러그 인에서 DirectX 11 렌더링을 시연하기 위해 확장된 하위 레벨 네이티브 플러그 인 인터페이스 예제.
- 에디터: 빌딩 설정 창에서, 이제 클릭 단 한번으로 모든 선택한 씬에 대해 활성화 된 상태를 변경할 수 있습니다(모든 씬의 선택은 Ctrl + A 사용).
- 에디터: 컴포넌트 컨텍스트 메뉴(기어 아이콘)에 위/아래로 이동, 복사 그리고 붙여넣기 항목 있음.
- 에디터: 조명 감지 씬 뷰 렌더링 모드가 없어짐; 라이드매핑 창 오버레이에서 감지 시각화
- 에디터: 이제 .unityPackage 파일을 프로젝트 뷰로 끌어놓아 들여오기 실행.
- 에디터: 씬 기즈모(Gizmo) 축 콘은 더 이상 카메라를 정투영(orthographic)으로 설정하지 않습니다. 중앙 큐브는 이제 정투영으로 토글합니다. 기즈모 아래 라벨도 이제 투시형(perspective)와 정투영(ortho) 사이를 토글합니다. Shift-클릭이나 마우스 중간 버튼으로 중앙 큐브를 클릭하면 "멋진" 투시형 뷰를 설정할 것이고, Shift-클릭이나 마우스 중간 버튼으로 콘을 클릭하여 정투영을 강제할 것 입니다.
- 에디터: 모바일 그래픽 에뮬레이션; 이제는 오직 OpenGL ES 1.1와 2.0 만 있음.
- 에디터: 라이트맵은 이제 사용 가능한 경우 모바일에 대해 "최고"의 압축 품질을 가질수 있습니다.
- 에디터: 컴포넌트 추가(Add Component) 드롭다운에 대해 컴포넌트 메뉴에서 메뉴 항목 추가
- 에디터: 사용 가능한 에뮬레이션 데이터가 없을 경우, 애니메이션 들여오기 설정을 보여주지 않습니다.
- 에디터: 들여쓰기 로직을 정리하여 LooksLikeInspector과 LooksLikeControls이 더욱 유사해 졌습니다.
- 에디터: symlinks in Windows에서 symlinks을 무시하여 OS X 빌드처럼 작동하게 했습니다.
- 에디터: CustomEditor가 예외 상황을 발생시킬 때나 레이아웃 그룹 앤딩(ending)이 빠져 있을 경우, 인스펙터 창이 무사히 회복합니다.
- 에디터: 게임오브젝트(GameObject)와 프리팹(Prefab) 인스펙터 아이콘이 오브젝트 상태를 표시합니다.
- 에디터: 축소된 콘솔 항목을 나타내는 카운터
- 에디터: 씬 뷰는 이제 현재의 뷰 도구(이동, 궤도, 확대, FPS) 커서로 보여주어 현재 발생되는 일을 강조합니다.
- 에디터: 유니티 전반에 걸친 새로운 아이콘들.
- 컴포넌트와 스크립트의 실행 순서가 이제 플레이어와 에디터 사이에 항상 같습니다.
- 에디터: 빛 선택기(picker) 아이콘(기즈모 아이콘)이 이제 빛의 색상(색조 및 채도)와 타입(점/지점/지향성/지향성, 주요/영역)을 반영합니다.
- 플래시: 스크립팅 전반; 더 나은 일반 지원.
- 플래시: Added FlashPlayer 11.3 및 11.4의 지원을 추가. 마우스 중간 버튼 클릭과 오른쪽 번튼 클릭으로 이 서브타깃 지원.
- 플래시: Enum.GetValues() 및 Enum.GetNames()에 대한 지원 추가.
- 플래시: 필드 반영의 서브셋(subset) 지원 추가
- 플래시: 런타임 스크립팅 API을 포함한 애니메이션 이벤트에 대한 전면적인 지원.
- 플래시: 초기화 시 검은 스크린 표시 시간을 감축.
- 플래시: 메모리 풋프린트(footprint) 감소.
- 플래시: 성능 향상.
- 플래시: 일반 타입의 정적 필드에 대한 지원 개선.
- 플래시: 배칭(batching) 지원을 구현. 배칭에 대한 런타임 스크립팅은 아직 지원하지 않음.
- 플래시: 타사의 프로파일러에 대한 swf 태그 입력.
- 플래시: 프레임 당 Stage3D 호출의 횟수 감소.
- 글꼴 렌더링: Font.RequestCharactersInTexture, Font.GetCharacterInfo 및 Font.textureRebuildCallback을 추가하여 스크립트 작성을 통해 동적 글꼴에 대한 전적인 컨트롤을 가능하게 하였습니다.
- 글꼴 렌더링: 글꼴 텍스처 재 빌드 콜백의 호출 회수 감소.
- 그래픽: GUITexture.border을 스크립트에 사용가능.
- 그래픽: "읽기/쓰기 활성화" 체크박스를 모델 들여오기 설정에 추가. 이것을 비활성화 하며 메쉬의 메모리 풋프린트를 감소시킵니다.
- 그래픽: 이제 Windows와 Mac에서 탄젠트 벡터의(tangent vectors) 동적 배칭 작동 & Mac now (이전에는 많은 드라이버 이슈로 비활성화 되었었음).
- 그래픽: 표면 쉐이더는 임의적 버텍스 입력 데이터 타입 사용 가능(appdata_full 대신); 이제 버텍스 변경자 매개변수(modifier parameter)의 타입이 사용됨.
- 그래픽: 쉐이더 속성이 그들 앞에 [HideInInspector]을 가질 수 있어, 인스펙터에 그들을 숨길 수 있음(코드에서 설정된 속성으로 유용함).
- 그래픽: 최적화 된 라이트 컬링; 사용자가 많은 베이크 된 라이트를 가지고 있을 경우 특히 현저함.
- 이미지 효과: 스크린 오버레이 효과가 고정된 "오버레이" 블렌드 모드에 영향을 미치고, 강도 슬라이드를 획득.
- 이미지 효과: 효과에 대한 일부 최적화.
- 이미지 효과: 인스펙터에서 버텍싱 효과가 더 나아짐.
- 이미지 효과: 블룸(Bloom)에서 버네팅(Vignetting) 이미지 효과로 색 수차(chromatic aberration) 이동.
- iOS: 트램펄린(trampoline)에서 파일을 분리하기 위해 iOS 뷰 처리를 추출.
- iOS: iOS5에서 재 방향설정(re-orientation)에 대한 요청을 추가하고, 자동 회전 방향이 변경되었을 경우 갱신.
- iOS 원격: 에디터에 보낸 터치 이벤트의 지연을 개선
- iOS: fog 성능 향상.
- Mac OS X: 설치 프로그램과 에디터에 대한 인증 사인을 획득하여 OS X 10.8 Mountain Lion에서 기본 보안 설정에서 실행 할 수 있게 합니다.
- Mac OS X 독립실행형: 256x256, 512x512 및 1024x1024 아이콘에 대한 지원 추가.
- Mac OS X 독립형 및 에디터: WWW 클래스는 시스템 설정에서 선택한 프록시를 올바르게 사용할 것 입니다.
- Mac OS X 웹 플레이어: 전체 화면 모드에서 시스템 스크롤 방향을 따름.
- 모바일: PowerVR 텍스처 압축 도구가 2.10.87.4981로 업데이트 됨.
- 모바일: RGBA16 텍스처 형식 도입.
- 모바일: TouchScreenKeyboard.wasCanceled 추가. iOS에서, "취소" 버튼이 추가되고, 안드로이드에서는 "뒤로" 버튼이 같은 목적으로 사용될 것 입니다.
- 모바일: TouchScreenKeyboard.text을 이제 에디트 필드에서 표시할 텍스트를 설정하는데 사용할 수 있습니다.
- 모바일: 스크립트에서 이제 ActivityIndicator을 시작/중단 할 수 있습니다.
- 모바일: SystemInfo.supportsVibration는 이제 실제 지원을 위해 장치를 질의할 수 있습니다.
- 모바일: OpenGL ES 버전 선택기를 이제 안드로이드/iOS가 공유합니다.
- 모바일: 동적 기하구조에 대한 일부 최적화.
- 모바일: OpenGL ES 2.0의 최대 텍스처 크기를 4096으로 증가하고 런타임에 GPU에 의해 부과된 텍스처 크기 제한의 처리를 추가하였습니다.
- 모바일: 이벤트 처리를 사용하는 스크립트에 대해 이를 활성화 하였습니다.
- MonoDevelop: 동작과 반응의 개선을 위해 Gtk+ 업데이트(OSX).
- NavMesh: 군중 회피(crowd avoidance) 개선. 이제 거리 대신 임펙트의 시간 예측으로 이웃의 우선 순위화.
- NavMesh: OffMeshLink에 NavMeshLayer의 선택에 대한 GUI가 있습니다.
- 프로파일러가 이제 편집기를 프로파일 할 수 있습니다.
- 런타임: 레벨을 비동기적으로 로딩할 경우 다른 로딩 작업에 의해 방해 받는 아주 드물게 발생하는 문제를 해결.
- 런타임: 인스턴스화가 이제는 스크립트 실행 순서를 따릅니다.
- 런타임: GameObjects marked DontDestroyOnLoad로 표시된 게임오브젝트는 이제 더 이상 레벨을 로딩할 때 일시적으로 비활성화 되지 않습니다. 이러한 방식으로 그들은 레벨을 로딩할 때도 호출을 받지 않습니다.
- 씬 뷰: 씬 기즈모 라벨 옆에 작은 아이콘을 표시하여 씬 뷰가 perspetive 또는 isometric 모드에 있는지를 보여줍니다.
- 씬 뷰: "Right"와 같이 축에 맞춘 뷰 일 경우, 항상 "Iso" 또는 "Persp"이 아니라는 것을 라벨에 보여줍니다.
- 씬 뷰 - Mac: 씬 뷰 스와이프 제스처 수학(swipe gestures math)를 씬뷰 기즈모로 만듭니다.
- 스크립팅: 사용자는 이제 자신만은 플랫폼 당 사용자 맞춤을 플레이어 설정에서 정의할 수 있습니다.
- 스크립팅: MonoBehaviours는 이제 이름공간 내에 있을 수 있습니다.
- 스크립팅: SkinnedMeshRenderer.rootBone는 이제 스크립트에서 사용할 수 있습니다.
- 스크립팅: 에디터 내에 있을 때 에디터에서 스크립트 할 수 있는 오브젝트를 에디터 내에서 생성할 수 있게 해 줍니다.
- 쉐이더: 베텍스 쉐이더 입력은 더 이상 사전 정의된 이름을 가진 struct에서 가져올 필요가 없습니다. 단지 적절한 문법을 사용하면 됩니다.
- 쉐이더: unity_CameraWorldClipPlanes 내장 쉐이더 변수 추가. 카메라의 월드 공간 클리핑 면을 포함합니다.
- 슈리켄: 콘 이미터(Cone emitters): 쉘(shell)로부터의 분출, 볼륨(volume)으로 부터의 분출과 무작위 방향의 통제를 지원합니다.
- 슈리켄: 파티클 시스템 렌더러에서 최대 4개까지의 메쉬를 지원. 메쉬의 선택은 무작위로 발생합니다.
- 슈리켄: 타입 당 최대 2개의 하위 이미터 지원 (이전에는 1개).
- 슈리켄: 파티클 스프라이트에 대한 동적 배칭(batching) 지원
- 슈리켄: 파티클 업데이트가 이제 LateUpdate 호출로 다중 쓰레드화 됩니다. 이는 일반적으로 더욱 향상된 성능을 가져옵니다.
- 슈리켄: 이제 클리핑 아티팩트(clipping artifacts)을 피하기 위해 사용할 수 있는 충돌 모듈 내 파티클의 반경 범위를 지정할 수 있습니다.
- 슈리켄: Simulate() 호출이 대부분의 시스템에서 훨씬 빨라졌습니다.
- 슈리켄: 스크립트에서 .randomSeed을 사용할 수 있습니다.
- 슈리켄: 스크립트에서 .particleSystem을 사용할 수 있습니다.
- 슈리켄: Improved API for Emit(count) API 개선 및 2개의 추가 Emit() 함수.
- 슈리켄: 성능 향상과 더 적은 메모리 사용을 위해 보드 전반적으로 최적화.
- Social API: 특정 리더보드(Leaderboard) UI을 ID + TimeScope에 기반하여 보여주기 위해 GameCenterPlatform 함수 추가.
- 섭스텐스: 섭스텐스 인스펙터를 떠날 때 섭스텐스의 재 들여오기의 고속 진행
- 섭스텐스: 에디터에서 더 빨라진 tweaking / import (이제 에디터에서 다중 쓰레드는 기본값으로 활성화).
- 웹 플레이어: 인터넷 익스플로러에서 HTTP 오류 처리가 더욱 견고하게 만들었습니다.
최적화
- 에디터: 로그 항목 개수로 콘솔 윈도우 메모리 사용을 최적화.
- 에디터: 많은 수의 루트 오브젝트에 대한 계층구조 뷰를 최적화.
- 에디터: DXT 압축 텍스처 최적화: 모든 CPU 코어를 이제 더욱 잘 활용합니다.
- 에디터: 플랫폼 전환 시 에셋을 재 들여오기 해야 하는지의 감지가 훨씬 빨라졌습니다.
- 에디터: 도메인 재로딩의 횟수를 감소하여 플레이 모드로의 진입을 더욱 가속화.
- 플래시: 배열 구조를 가져오거나 반환하는 함수 호출의 성능을 향상.
- 플래시: 획기적인 메모리 사용의 감소
- 플래시: Vector3와 같은 값의 유형에 대한 actionscript 오브젝트를 재활용하고, 그들의 복사해야 할 때와 복사하지 말아야 할 때를 스마트하게 결정하여 최적화를 이루었습니다.
- Mac OS X: ARB_map_buffer_range 및 APPLE_flush_buffer_range을 통한 동적 기하구조의 최적화.
- Meshes: Mesh.MarkDynamic; 사용자가 많은 경우 스크립트로부터 변경을 가하는 메쉬에 대해 이것을 사용.
- 모바일: RenderTexture.DiscardContents - EXT_discard_framebuffer 또는 명시적인 clear을 통한 이전 RT 내용 제거를 추가.
- 파티클: 프리패칭(prefetching)을 통한 기존 파티클 시스템의 최적화.
- 물리: 물리 시뮬레이션은 이제 Windows에서 SSE2을 사용하여 더 나은 성능을 제공하고 시뮬레이션이 Mac OS X와 일관적으로 진행되도록 만들어 줍니다.
- 렌더링: 포워드 렌더링에서 점 및 지점 라이트가 가위 사각형(scissor rectangle) 최적화를 사용합니다.
- 렌더링: 유니티는 강도가 0.01 이하인 라이트는 렌더링 하지 않습니다.
- 렌더링: 최적화 된 Color32 증식 (파티클, 라이트매핑, …).
- 스킨 메쉬: 정적 데이터(UVs 및 색상)을 별도의 버텍스 스트림에 유지하여 최적화 된 성능과 메모리 사용.
- 정적 배칭(batching): 지원하는 플랫폼에서 버텍스 데이터를 half-precision floats로 압축하고, 배치(batch) 된 기하구조를 그래픽 카드로 보낸 후에 로딩에서 제거하여 메모리를 절약하였습니다.
- 정적 배칭(batching): 최적화 된 정적 배칭(batching) 코드
- Threading: 최적화 된 다중 쓰레드 작업 스케줄러(스키닝(skinning), 메카님, 슈리켄, 쉐이더 컴파일, 텍스트 압축에 사용). 이는 이제 "더욱 효과적으로 다중 쓰레드화를 합니다".
문제 해결
- 안드로이드: 예외 상황 확인 추가 / 스크립트 기반의 JNI 호출 전파 (AndroidJava* / AndroidJNI*).
- 안드로이드: Loading a lot of assets through Resources.Load()을 통해 많은 에셋을 로딩할 경우 메모리가 새는 것과 같은 동작을 야기할 수 있음 - 이는 해결되었습니다.
- 안드로이드: libmono.so / libunity.so가 "unable to link library" 문제로 인해 로딩을 하지 못하는 드물게 발생하는 문제 해결.
- 안드로이드: 씬 에셋을 재 로딩 할 때, 로딩 시간이 매우 길어지는 경우를 해결
- 안드로이드: 자동 바이너리 스플리팅(APK 확장자 (.obb) 지원 목적) 이 Windows 에디터를 사용할 때 일부 파일을 잘못 누락하는 문제 해결.
- 안드로이드: 일부 안드로이드 장치에서 한국어 글꼴이 올바르게 렌더링 되지 않음.
- 안드로이드: PlayerPrefs 값이 잘못된 타입으로 질의되어, Java 예외와 응용프로그램을 종료를 야기.
- 안드로이드: Windows에서 JDK 설치를 검색할 때 추가적인 레지스트리 항목을 추가.
- 안드로이드: 32bit 디스플레이 버퍼를 선택할 경우, transparent 대신 RGBX32 요청.
- 안드로이드: 버텍스 프로그램에서 텍스처를 샘플링하는 쉐이더가 실패하는 mali와 ics에 대한 우회적 해결책.
- 안드로이드: Crash when OS 4.1/Jellybean 상에서 정지/재가동시 실패 발생 문제 해결.
- 안드로이드: 만일 시스템 환경 변수인 JAVA_TOOLS_OPTIONS이 설정 되었을 때, 이는 .apk이 사인 인증되는 것을 방지할 수 있다.
- 안드로이드: 웹캠(Webcam) 텍스처가 이제 LG Optimus 3D에서 작동 (OS 2.2 / Froyo).
- 안드로이드: 세로 거꾸로 방향이 .apk 빌딩 시 오류 발생.
- 안드로이드: EGL 컨텍스트 재생성의 전적 지원(정지/재가동, 또는 DisplayBuffer bit-depth 변경, 또는 안티앨리어싱(or anti-aliasing)).
- 안드로이드: System.Net.Sockets의 사용이 안드로이드 프로 라이선스에서만 가능하도록 강제하였습니다.
- 안드로이드: ARM Mali-400 GL ES 1.1 드라이버가 때때로 비활성화 된 버텍스 attrs을 참조하는 문제 (실패 발생)에 대한 우회적 문제해결 추가.
- 안드로이드: 스크립트 디버깅 yields/coroutines이 때로 실패를 발생시킬수 있음 - 이 문제의 해결.
- 안드로이드: Application.streamingAssetsPath이 jar 구획 문자 앞에 잘못된 사선 추가 (/!).
- 안드로이드: Window 상에서 인증 사인 된 APK의 구축 실패를 해결
- 안드로이드: 웹캠(Webcam) 해상도와 프레임 속도가 이제 더욱 정확 해 짐.
- 안드로이드: 웹캠이 이제 Ice Cream Sandwich와 JellyBean 장치에서 작동.
- 안드로이드: 웹캠이 이제 Motorola와 OMAP 장치에서 작동.
- 안드로이드: 응용프로그램을 멈출 때 마이크 공명이 이제 적절하게 릴리즈 됨.
- 안드로이드: 이제 오디오는 Kindle과 Nook에서 클릭 소음 없이 재생됩니다. 하지만 지연 문제는 여전히 상당합니다.
- 안드로이드: 이제 오디오의 재생과 레코드를 동시에 할 수 있습니다.
- 안드로이드: Gyro.attitude가 스크린 방향이나 장치의 자연적이 방향(전화/테블릿)을 보완해주지 않았습니다 - 이 문제 해결.
- 안드로이드: Application.Quit() 호출 바로 직후 응용프로그램을 재 시작하면 옛 프로그램의 종료와 새 프로그램의 시작이 경합을 할 수 있습니다.
- 안드로이드: Input.multiTouchEnabled이 스크린이 첫 터치를 수신하기 전에 false을 반환하였습니다.
- 안드로이드: AndroidManifest 내에 일부 태그가 required="false"가 되도록 변경.
- 안드로이드: 비 개발('릴리즈') 빌드가 kernel 3.4 또는 이후의 장치에서 로딩을 실패하는 문제 해결.
- 안드로이드: 가로 또는 세로 모드만 있는 Autorotation이 이제 manifest 에서도 시행됩니다.
- 안드로이드: 뒤로 버튼을 누르면 첫 번째 레벨을 로딩하는 동안 응용프로그램이 종료되니다.
- 안드로이드: GameView 화상도를 HVGA, WVGA, ...으로 다시 명명하고, WXGA 추가(1280x800).
- 안드로이드: 이제 런타임 클래스인 Ping이 작동합니다.
- 안드로이드: 내부 프로파일러에 PowerVR 성능 상태 추가.
- 안드로이드: 여러 개의 스크린 터치가 잘못된 터치 단계로 들어서게 하는 문제 해결(특히 낮은 프레임속도 상황에서).
- 안드로이드: 스크린 터치에 대한 감지 범위가 탭 횟수의 증가를 가져오는 스크린 터치에 대한 감지 범위를 해상도와 독립되게 하였습니다.
- 안드로이드: Kindle Fire에 카메라가 있다고 잘못 보고.
- 안드로이드: 장치를 landscapeRight으로 들고 있을 경우 시작 시 회전 문제를 해결.
- 안드로이드: 스크립트 코드를 구동하기 전에 장치가 수면 상태로 들어갈 수 있는 문제를 해결
- 안드로이드: 비디오 플레이백 동안 장치가 수면 상태로 들어가지 않게 하도록 하기 위해 전체화면 비디오에 기상(wake)의 락(lock) 추가
- 안드로이드: Kindle Fire HD에서 가로/뒤집힌 가로에서의 자동 회전 문제 해결.
- Android/iOS: 스크린 터치 문제의 해결로 인해 발생한 잘못된 마우스 상회(hover) 이벤트
- 안드로이드: UnityPlayer 클래스 로딩 시, javac의 충돌/실패를 야기할 수 있는 최적화 문제 해결.
- 안드로이드: SystemInfo.deviceUniqueIdentifier는 ANDROID_ID 또는 WiFi MAC 중 사용가능한 것으로, IMEI/MEID의 MD5 합게를 계산하여 익명화 하였습니다.
- 안드로이드: SystemInfo.deviceUniqueIdentifier는 manifest에 자동으로 올바른 인증을 추가하지 않았습니다.
- 안드로이드: 키스토어(keystore) 인증 생성을 위한 Bouncycastle로 전환.
- 안드로이드: Gingerbread 이전 장치에서 16bit DisplayBuffer는 더 이상 의무사항이 아닙니다.(또한, 32bits에서 16bits 버퍼로 후퇴하는 것도 무난하게 처리됩니다). 이전 장치에서 DisplayBuffer 알파의 활자 케이스(compositer) 문제를 우회 해결했습니다.
- 안드로이드: Ping이 정지할 수 없도록 하였습니다(5초 후 타임아웃).
- 안드로이드: JB (4.1)을 SDK API 목록에 추가.
- 안드로이드: 정지하지 않고 Kindle을 종료 했을 때 충돌 문제 해결.
- 안드로이드: 시스템 실행 중에 시간/날짜를 변경할 경우 ANR 발생.
- 안드로이드: FPS 범위 지원을 제공하지 않는 플랫폼에서 카메라 초기화 해결.
- 애니메이션: ModelImporter.generateAnimations을 bool로 제공하여, 에셋 파일에서 들여온 애니메이션에 대한 제어를 가능하게 하였습니다.
- 애니메이션: 프러스텀(frustum)이 없을 경우나 cullingType이 실행 시 AlwaysAnimate으로 전환했을 경우 애니메이션이 실행되지 않는 문제 해결.
- 오디오: 경로에 특수문자를 포함하고 있는 오디오 파일의 플레이 백 문제 해결.
- 오디오: 인스펙터에서 경로에 특수문자를 포함하고 있는 오디오 파일의 표시 문제 해결.
- 오디오: 에코 필터가 슬라이더를 일관적이지 않게 분산하는 문제 해결.
- 오디오: 트랙화 된 음악 파일 상의 반복 문제 해결.
- 오디오: 트랙화 된 음악 파일에 대한 길이 결정 문제 해결.
- 오디오: m_IgnoreListenerVolume 속성 해결 (예상하는 방식으로 작동하지 않았음).
- 오디오: MP3에서 AudioClip의 길이 속성이 좀 더 정확할 수 있도록 수정.
- 오디오/비디오: 잘못된 OGG 컨테이너 에셋의 들여오기를 무난하게 처리.
- 오디오: 클립을 읽기 콜백으로 사용할 경우 충돌 발생 문제 해결.
- 오디오: 특수 문자 처리에 관한 다양한 수정사항
- 오디오: waveform 미리보기의 잘못된 표시 해결.
- 오디오: 드물게 발생하는 교착상태 해결.
- 오디오: 배열의 인수가 클립 그 자체보다 더 길 경우 AudioClip SetData와 GetData 문제 해결.
- 에셋 들여오기: 실패한 들여오기에 대해 생성한 기본 에셋이 이제 올바르게 유지됩니다.
- 에셋스토어: 대형 패키지 다운로드시 발생하는 메모리 고갈 문제 해결.
- 오류보고서: 로그 파일이 존재함도 불구하고, 오류 보고 창에 표시되지 않는 문제 해결.
- 캐시 서버: 에셋 다운로드 시 연결 문제 해결.
- 캐시 서버: 여타 연결 문제 해결.
- 디버거: 다중 쓰레드 스크립트 코드 디버그 작업 시 정지/교착상태 문제 해결.
- 디버거: 일반 매소드의 디버그 평가시의 충돌 문제 해결.
- 문서: 스크립트가 History 페이지를 참조할 경우 현재상태를 다시 반영하도록 수정.
- 에디터: OnFocus 콜백에서 Close 호출 시 충돌 문제 해결.
- 에디터: GUI.Window에서 ObjectFields에 대해 오브젝트 선택기가 작동하지 않는 문제 해결.
- 에디터: 진한 스킨에서 일부 세로 맞춤이 잘못된 버튼의 문제 해결.
- 에디터: 3.4에 들여온 일부 프로젝트에서 프로젝트 뷰 내에 표시되는 EditorExtensionImpl 수정.
- 에디터: 출판된 웹 플레이어에 대한 제목으로 빌드 파일 이름 대신 프로젝트 이름을 사용할 것 입니다.
- 에디터: 빌드 설정에 있는 씬이 이제 더 이상 알파벳 순서로 재배열 되지 않습니다.
- 에디터: 이동은 오른쪽 버튼 클릭으로 취소 될 경우 이제 취소(Undo)가 작동합니다.
- 에디터: 배열의 크기 조정 시 오류 메시지 수정.
- 에디터: 에셋 직렬화(serialization)을 텍스트 모드로 변경 시 충돌 문제 해결.
- 에디터: 다운로드 진행 중에 플레이 모드를 빠져나올 경우 정지되는 문제 해결.
- 에디터: 여러 다른 타입의 ScriptableObjects 선택 시 충돌 문제 해결.
- 에디터: 씬 뷰는 주 카메라와 같은 렌더링 경로를 사용합니다. 혼선을 줄이기 위해서 입니다!
- 에디터: 품질 설정 UI에서 소프트 파티클 설정에 관한 힌트.
- 에디터: 에디터 창 GUI 코드 밖에서 사용할 때 Screen.width와 Screen.height이 훨씬 더 일관적으로 보고합니다.
- 에디터: 구체와 캡슐 충돌체가 중앙값으로 0,0,0을 사용하도록 하였습니다(이전에는 소수의 비정확성 때문에 정확하게 0이 아니었습니다.)
- 에디터: 글꼴 변경 시 TextMesh 인스펙터가 MeshRenderer의 재질(material)을 자동으로 변경하도록 만들었습니다.
- 에디터: 플레이 모드 진입 시 MovieTextures을 올바로 재설정 합니다.
- 에디터: 프로젝트 재 들여오기 실행 중 AudioClip의 들여오기를 실패할 경우 충돌 문제 해결.
- 에디터: 어떤 경우 모델 파일에 대한 인스펙터에서 "열기" 버튼을 사용할 경우 null 참조 문제를 해결했습니다.
- 에디터: 타깃 배열의 접속을 허락하지 않은 오류를 해결하였습니다.
- 에디터: 예외 발생 시 프로파일러가 심층 프로파일 수행 문제 해결.
- 에디터: DragPerform 이후 DragExited 동안 DnD 참조가 텅 비어 버리는 문제 해결.
- 에디터: 세로 스크롤바를 사용하기 때문에 가로 스크롤바가 필요할 경우 가시적인 rect 업데이트.
- 에디터: scrollview의 가식적인 rect을 설명하기 위한 스크롤 위치의 클램핑(Clamping).
- 에디터: scrollwheel을 사용할 때 스크롤 위치는 표시 사각형의 크기 밖의 값으로 반환하는 scrollview 해결.
- 에디터: null 문자열을 TextField로 전달 할 때 올바르게 처리.
- 에디터: 에디터에서 CTRL-B을 사용하여 디스플레이 해상도 대화창을 비활성화 했을 때 해상 창을 표시하지 않음.
- 에디터: EditorWindow.ShowPopup가 초기 위치인 0.0을 올바르게 렌더링 하지 않는 문제 해결.
- 에디터: 일부 인스펙터에서 빠진 굵은 글꼴 문제 해결(예: FBXImporter).
- 에디터: DrawGizmo에 대한 GizmoType.NotSelected 속성이 올바르게 작동하지 않습니다.
- 에디터: 이제 컴포넌트 메뉴에서 사용자 맞춤 이름공간(namespace)을 처리합니다.
- 에디터: 검색 모드에서 라이트 감지 모드 선택 가능.
- 에디터: 애니메이션 클립의 과도한 유입이 모델 들여오기 인스펙터를 혼란에 빠뜨리지 않습니다.
- 에디터: 모든 항목이 선택되었을 때 EnumMaskField가 값을 일관적으로 반환합니다.
- 에디터: Textfield 단어 래핑(wrapping) 문제 해결.
- 에디터: 인스펙터에서 충돌 열거(enumeration) 값의 이름 표시
- 에디터: 그물눈 문자 판독장치(retina) 디스플레이 Macbook 프로 상에서 에셋스토어 창의 문제 해결.
- 에디터: 플러그 인이 그 자신만의 네이티브 쓰레드를 만들었을 경우, 닫는 중에 정지하는 문제 해결.
- 에디터: 환영 스크린의 크기를 변경하려고 할 경우 이상한 그리기 행동을 수정.
- 에디터: GUI.color가 대해 제대로 재설정 됩니다.
- 에디터: 콘솔에서 메모리 고갈 문제를 야기하는 프로파일러 해결.
- 에디터: 유니티 패키지를 내보내기 할 때 보고 문제 개선.
- 에디터: iOS/안드로이드에 대한 AssetBundles 빌드로부터 로딩된 ARGB16가 잘못 로딩되는 문제 해결.
- 에디터: 플레이 모드 중 에디터를 종료할 때 더 이상 정지하지 않습니다.
- 에디터: 도메인 재로딩의 횟수를 줄여 플레이모드 진입을 더욱 빠르게 만들었습니다.
- 에디터: 인스펙터에서 MonoBehaviour이 누락될 경우 null 참조 예외 에러를 해결했습니다. 그 대신 인스펙터에 내장된 도움이 되는 경고를 표시합니다.
- 에디터: fbx 들여오기의 문제로 프리팹 인스턴스 변경이 일부 코너 케이스에서 다른 장치에 있는 다른 오브젝트에 적용되는 문제를 해결
- 에디터: 플레이 모드에서 나갈 경우 충돌을 발생시키는 OnDestroy에서의 LoadLevel 호출 문제 해결.
- 에디터: .meta 파일이 변경 될 경우 들여오기 설정이 업데이트 되지 않는 문제 해결.
- 에디터: 대형 프로젝트 폴더를 들여올 때 에셋 들여오기 파이프라인의 다양한 누수 문제 해결.
- 에디터: 프리팹 오버라이드 기록 문제로, 프리팹 배열이 비어 있고 그 크기값이 속성의 변경후 덮어 쓰여진 경우 변경사항이 배열의 요소에 반영되지 않는 문제를 해결했습니다.
- 에디터: 많은 fbx 파일 상의 들여오기 설정을 변경할 때 경고 문제 해결.
- 에디터: 프리팹이 에디트 모드에서 깨어나 컴포넌트를 추가/삭제 할 때 게임 오브젝트 인스펙터에서 프리팹 적용 버튼을 클릭할 때 발생하는 충돌 문제 해결.
- 에디터: 자식 프리팹 오브젝트를 드래그 할 때 드래그 앤 드롭 작동을 해결.
- 에디터: 조명 감지(Light Probe) 편집의 개선 editing: 그것들을 복제할 때 선택을 변경하지 마십시오; 편집 가능한 것을 베이크 된 것보다 우선 렌더링 하십시오.
- 에디터: Wireframe 및 Textured Wireframe 씬 뷰 모드는 실제 버텍스와 테셀레이션 쉐이더를 이제 고려합니다.
- 에디터: 알파 채널의 .EXR 파일의 들여오기를 수정.
- 에디터: 같은 DockArea 내에서 탭을 전환할 때 OnFocus/OnLostFocus을 구동합니다.
- 에디터: GameView이 초점 밖일 때 커서의 숨김이 불가.
- 에디터: 씬 뷰 오버레이에 의한 충돌 문제 해결.
- 에디터: 박스 충돌체의 핸들 함수가 박스 충돌체의 기즈모와 일치하지 않는 문제 해결.
- 에디터: 텍스트 필드는 Command + Backspace의 OS 표준 동작을 지원하여, 현재 라인의 시작 지점에서 커서 위치까지 모든 것을 삭제합니다.
- 에디터: LOD 그룹 인스펙터를 정리했습니다(버튼 맞춤, 텍스트 클리핑).
- 에디터: Unity 1.x GUI 컴포넌트가 씬 뷰에서 절대 보이지 않도록 합니다.
- 에디터: 일반 계산을 개선하기 위해 모델 들여오기 중의 계산 순서를 변경.
- 에디터: EditorUtility.CopySerialized은 이제 컴포넌트에 대해 올바르게 작동.
- 에디터: 생성된 OS X 아이콘이 종종 손상받는 문제 해결.
- 에디터: 루트 에셋 폴더에 .meta 파일이 있는 경우, 에디터가 프로젝트 열기에 실패하는 문제 해결.
- 에디터: 쉐이더 선택 메뉴를 최초가 가져올 때의 지연문제 해결(4.0: 매번 가져올때 마다 일정한 시간 소요).
- 에디터: 여러 오브젝트를 편집하고 배열의 크기를 조절할 때 가능한 충돌 문제 해결.
- 에디터: 렌더링 경로 씬 뷰 모드에서 쉐이더가 할 수 있는 것 이외에도 카메라의 렌더 경고를 고려하도록 수정.
- 에디터: 웹 플레이어 빌드 코드 수정; 이제 가장 바깥 디렉터리를 재생성 하려고 하지 않습니다(사용자는 현재 충분한 파일 시스템 접속 권한이 없을 수 있습니다).
- 에디터: cmd+c와 ctrl+c가 SelectableLabel에서 사용 가능.
- 에디터: SelectableLabel에 대한 자르기/붙이기 컨텍스트 메뉴 실행을 표시하지 않음.
- 에디터: OSX 상의 프레임에 대해 더 이상 팝업 창이 깜빡이지 않음.
- 에디터: 씬 뷰 내에서의 오디오 프리뷰가 이제 씬에서 오디오 리스너가 없어도 올바로 작동.
- 에디터: 들여오기 인스펙터가 지속적으로 재 페인트를 하는 문제를 해결.
- 에디터: 로컬 에셋을 표시하는 동안 에셋 스토아 그룹이 핵심 탐색 수정.
- 에디터: 윈도우 단독실행 아이콘 알파 문제 해결.
- 플래시: Replace는 더 이상 parens을 무시하지 않음.
- 플래시: 몇 몇 코드 전환 문제 해결.
- 플래시: NavmeshPath가 이제 올바르게 인스턴스화 됩니다.
- 플래시: 일부 쉐이더의 번역 수정 (e.g. 굴절 글래스(Refractive Glass)가 에러 발생했음).
- 플래시: AsyncOperation가 작동하도록 함.
- 플래시: long과 ulong에 의한 나누기 수정.
- 플래시: struct를 오브젝트 또는 인터페이스에 할당하는 것이 두 개의 복사본 대신에 같은 struct로 두 개의 포인터를 도입하는 문제 해결.
- 플래시: 일반적인 케이스를 지원하기 위해 몇 몇 코너 케이스 문제 해결.
- 플래시: 기본 constructor로 초기화 된 struct 내 DateTime 타입의 필드를 올바로 초기화.
- 플래시: .Length 에 대한 WWW 답변이 페이로드(payload)의 실제 길이와 일치하지 않을 때 메모리 손상 충돌 문제 해결.
- 플래시: byref으로 전달된 인수 상의 ++와 --을 지원하여, 그 결과를 배열에 저장합니다.
- 플래시: 마우스 표시에 관한 문제 해결.
- 플래시: ValueTypes에 대한 등식 비교 수정.
- 플래시: hashtable 비교 수정.
- 플래시: enum 비교 수정
- 플래시: enum에서 enum으로의 캐스트 수정.
- 플래시: TextArea 입력을 처리하는 키보드 입력 수정 (control, delete, space, 화살표 키).
- 플래시: 일반 콜렉션(Generic collections)이 이제 인터페이스와 동작합니다.
- 플래시: www.audioclip이 coroutine에서 사용될 때 충돌 문제 해결.
- 플래시: SweepTestAll이 이제 작동합니다.
- 플래시: UnityEngine.Flash.FlashPlayer에서 타깃 플레이어와 swf 버전의 검색이 가능합니다.
- 플래시: 사용자가 스택 공간을 다 사용하여, out of range 오류가 생기는 드물게 발생하는 문제 해결.
- 플래시: 무명의 위임(anonymous delegates) 문제 해결.
- 플래시: 위임 비교를 구현.
- 플래시: Double.TryParse 구현.
- 플래시: Input.inputString이 이제 동작합니다.
- 플래시: 잘못된 SWF 크기에서 컴파일러가 더 이상 충돌하지 않습니다.
- 플래시: 키 반복 작동.
- 플래시: Enum 값 타입에 대한 NewInstance 해결.
- 플래시: System.Array에 대한 getter/setter 생성 수정.
- 플래시: 비 개발 빌드에서 개발 빌드 워터마크를 표시하지 않습니다.
- 플래시: 무명의 위임(anonymous delegates) 문제 해결.
- 플래시: 문자열 마샬링(marshalling) 해결. 이제 일관적으로 UTF8.
- 플래시: 플래시 최대 텍스처 크기(2048*2048)보다 크게 생성된 동적 글꼴 텍스처 수정.
- 플래시: 동적 글꼴 생성에서 메모리가 버려지는 문제 해결.
- 플래시: 큐브 맴 샘플러에 대해 생성된 잘못된 agal 수정.
- 플래시: rtt 때문에 backbuffer가 지워지는 문제 해결.
- 플래시: float 나눗셈에 대한 type 추론 문제 해결.
- 플래시: 최종맵(finalizermaps)에서 머무는 오브젝트의 문제 해결.
- 플래시: MS 컴파일러에서 생성되었을 때 전환된 GetHashCode 코드가 무효화 되는 문제 해결.
- 플래시: Char.ConvertFromUtf32 구현
- 플래시: System.Convert에 대한 지원 개선
- 플래시: 추가적인 데이터 타입에 대한 TryParse 지원 추가.
- 글꼴 렌더링: TextField에 대해 사용자 맞춤 글꼴 크기를 사용했을 때 텍스트 커서의 위치 수정
- 글꼴 렌더링: 글자 엇물리기(kerning) 수정.
- 그래픽: OpenGL에서 일치하지 않는 GL.Begin/GL.End 한 쌍에서 가끔 발생하는 충돌 문제 해결.
- 그래픽: TrailRenderer 컬링 문제 해결.
- 그래픽: 빛을 던지는 그림자가 없을 경우 그림자의 거리에 기반한 배칭(batching)을 해체하지 않습니다.
- 그래픽: LineRenderer에 점을 추가할 때 라인 길이를 올바로 반영합니다.
- 그래픽: SubShader 태그 (렌더 큐 등.)는 이제 LOD를 올바로 반영합니다.
- 그래픽: 메쉬 렌더러를 비활성화 할때 일정하지 않게 크기가 조정된 메쉬에 의해 사용된 임시 메모리를 해제합니다.
- 그래픽: 동적 배칭(batching)이 씬에 라이트맵이 여러개 있을 때 보다 더 잘 작동합니다(배칭(batching)을 그리 많이 하지 않는 경우가 발생하기 전)
- 그래픽: Material.CopyPropertiesFromMaterial에서 메모리 누수 문제 해결.
- 그래픽: 지형과 쉐도우에서 드물게 발생하는 "invalid angle: inf" 에러 메시지 해결.
- 그래픽: 에디터 코드에서 작업한 카메라 pixelWidth/pixelHeight/aspect 질의가 매우 혼선을 가져오는 문제를 해결. 이전에는, 계산을 위해서 마지막으로 그려진 에디터 뷰의 크기를 사용했습니다. 이제, 일반 카메라에 대해서는, 게임 뷰 크기를 사용합니다.
- 그래픽: 슈리켄 메쉬 파티클에서, 소스 메쉬에 노멀이나 탄젠트가 없을 때 충돌하는 문제 해결.
- 그래픽: 정적으로 배치(batch) 된 메쉬가 이후 스크립트에 의해 수정될 경우 발생하는 에러 해결.
- 그래픽: 지연(Deferred) 렌더링 및 와이어프레임(wireframe) 씬 뷰 모드에서 발생하는 문제 해결.
- 그래픽: 에셋 번들에서 쉐이더에 발생하는 다양한 문제 해결. 예를 들면, 사용자가 실제로 나무가 있는 지형을 에셋 번들에 둘 수 있고, 그 빌보드 쉐이더는 다양한 테를 건너뛰지 않고도 작동할 것 입니다.
- 그래픽: 에디터가 "-nographics" 모드에 있을 때 모든 쉐이더를 게임 데이터 파일로 올바르게 포함합니다.
- 그래픽: 배치(batch)된 슈리켄 그리기 호출이 게임 뷰 상태 창에서 설명되어 있지 않습니다.
- 그래픽: 프로 버전의 에디터 라이선스가 아닌 곳에서 오클루젼 컬링 데이터를 로딩하지 마십시오.
- 그래픽: 지형 나무 프리팹이 없을 때 콘솔 에러 메시지 해결.
- 그래픽: vsync 사용시 Window 상에서 더 매끄러운 프레임 속도.
- 그래픽: 어떤 경우 Screen.resolutions이 새로고침 속도에서 0을 보고하는 문제 해결.
- 그래픽: 누락된 라이트맵을 로딩하는 첨가적인(additive) 씬을 사용할 때 충돌 문제 해결.
- 그래픽: 문법 에러가 있는 쉐이더를 로딩할 때 작은 메모리 누수 문제 해결; 부수적으로 쉐이더 로딩을 조금 더 신속하게 만들었습니다 ;)
- 그래픽: 에디터 스크립트에서 camera.Render을 호출할 때 어떤 경우 에러 메시지가 발생하는 문제 해결.
- 그래픽: 표면 쉐이더 최종색상(finalcolor) 변경자가 어떤 경우 잘못된 결과를 생산하는 문제 해결.
- 그래픽: Retina MacBookPros에서 OS X 드라이버 오류로 인해 최대 텍스처 크기를 4096으로 제한.
- 그래픽: Windows 독립 실행형 게임 창이 전체 데스크톱 스크린 크기에 도달할 수 없는 한계를 제거합니다.
- 그래픽: 리눅스에서, 낮은 해상도 블리츠(blit) 텍스처가 품질 설정 변경으로 인해 해체되는 문제 해결.
- 그래픽: 일부 OpenGL 시스템에서 지연 라이팅 깊이 버퍼 공유 문제의 우회 해결을 개선. 대부분의 경우, 일부 리눅스 GPU/드라이버에서 훨씬 더 빨라졌습니다.
- 그래픽: 실제적인 변화를 주기 위해 다양한 메쉬 압축 설정을 수정(이전에는, 항상 "낮은" 압축을 설정과 관계없이 사용).
- 그래픽: Direct3D 9에서 Fog 관련 일부 문제 해결; 일부 복잡한 쉐이더가 올바로 동작하지 않는 문제가 드물게 발생.
- 그래픽: 최초의 프레임에서 HDR 렌더링이 꺼지는 문제 해결.
- 그래픽: 렌더러 이전에 호출한 Camera.hdr가 틀린 값을 반환하는 문제를 해결.
- 그래픽: 오브젝트를 0 크기로 렌더링 할 경우 종종 에러가 발생하는 문제 해결
- IMGUI: GUIStyle.none을 사용할 때 BeginHorizontal가 콘텐츠/도구설명을 표시하지 않는 문제 해결.
- 이미지 효과: 이미지 효과 패키지를 들여오기 할 때 플래시 관련 경고 메시지 문제 해결.
- 이미지 효과: MSAA이 사용될 경우 Window 상에서 글로벌 포그 문제 해결.
- Input: OnMouseDown과 관련 콜백이 카메라로 잘못 보내져 RenderTextures로 렌더링 되는 문제 해결.
- Input: Gamepad 버튼이 이제 다시 올바로 초기화 됩니다.
- iOS: 네이티브 플러그 인이 이름에 "+"을 사용할 때 Xcode 충돌 문제 해결.
- iOS: 세로 방향으로 구동을 시작할 때 iPad 스플래시 처리 수정.
- iOS: 다양한 방향에 관한 사항 수정.
- iOS: 텍스처 아틀라스(atlas) 패딩 정정.
- iOS: 스키닝(skinning)이 UV을 손상시키는 문제 해결.
- iOS: 비디오를 재생하는 동안 앱의 중단 시 충돌 문제 해결
- iOS: 더 최신 iPhone4/4S 모델의 인식 수정.
- iOS: 스크립트 콜 최적화 설정이 "fast but no exceptions"으로 설정된 경우 발생하는 다양한 충돌 문제 해결.
- iOS: 스크린 상의 키보드를 감추었을 때 텍스트 영역의 작동을 수정.
- iOS: iOS6에서 첫 프레임 상의 Screen.orientation 수정.
- iOS: DisplayLink 모드와 iOS 네이티브 UI의 상호작동을 수정.
- iOS: 게임이 시작된 후 iOS 스플래시 이미지가 릴리즈 되지 않는 문제 해결.
- iOS: www.uploadProgress 지원 수정.
- iOS: 로딩 표시의 위치 수정.
- iOS: 작은 GPU 프로파일링 (내부 iPhone 프로파일러) 개선.
- iOS: Xcode 4.5에서 기본 라이선스 스플래시 문제 해결.
- iOS: 내부 클래스 내의 네이티브 매소드에 대한 지원 수정.
- iOS: 초기 방향 처리에 대한 추가적인 수정.
- iOS: 스크린 방향에 대한 입력 보완을 더 잘 작동시키기 위해 유니티의 원격 지원이 업데이트 되었습니다.
- iOS: iPad Mini에 대한 Screen.dpi 수정.
- 자바스크립트: 배열 인덱스에 대한 에러 확인 수정.
- 자바스크립트: 'not in' 연산자에 대한 회귀(regression) 수정. 연산자를 다시 도입했습니다.
- 자바스크립트: 다른 자바 방언과의 더 나은 호환성을 위하여 'for each' 문법 도입.
- 라이트매핑: Window와 Mac 사이의 "라이트 맵 UVs 생성" 차이 문제 해결!
- 라이트매핑: UV 스페이스 내 축첩된 삼각형의 처리 수정. 비스트(Beast)는 더 이상 "TexBakeSampleGenerator: 뒤집을 수 없는 메트릭스"를 분출하지 않습니다.
- 라이트매핑: 메쉬가 없는 프로토타입을 참조하는 나무 인스턴스는 제외
- 라이트매핑: 메쉬에 0..1 범위 밖의 UV가 있을 때, 메쉬에 UV가 없을 때 그리고 라이트 감지를 베이크 하려는 시도가 실패했을 때의 에러 메시지 개선.
- 라이트매핑: 컷아웃(cutout) 쉐이더가 있는 재질에 텍스처 타일링(tiling)을 고려합니다.
- 라이트매핑: 일부 분출형 매터리얼에 관한 문제 수정
- 라이트매핑: Mac에서 라이트맵이 저장되지 않은 씬을 베이킹 할 때 발생하는 무해한 에러 해결.
- LOD: 렌더러 대화창에 의해 발생한 이중 GPU 재페인트 오류 해결.
- 모바일: 더 나은 RenderTexture.DiscardContents 구현.
- 모바일: 일정하게 크기가 정해진 메쉬를 동적으로 배칭(batching) 할 때 잘못된 조명 수정.
- Mac OS X 에디터: OS X 10.8 Mountain Lion에서 여러 스크린 설정을 사용할 때 창의 초점 문제 해결.
- Mac OS X: 더블 클릭에 대한 Event.clickCount 작동이 이제 윈도우와 일치 합니다(MouseUp 이벤트에 대한 clickCount가 항상 1이 됨).
- Mac OS X: 실행 중에 시스템 클락이 변경될 때 유니티 콘텐츠를 정지시지 않습니다.
- Mac OS X: PlayerPrefs 키가 '@'을 포함할 때에도 이제 작동할 것 입니다.
- Mac OS X: 네이티브가 아닌 해상도의 웹컴 텍스처를 원하는 텍스처 크기를 골라 올바르게 수정하였습니다.
- Mac OS X: 이중-GPU Mac 모델 상의 일부 그래픽 문제를 해결. 예를 들면, 에디터 창이 이따름 모든 흰색으로 변함.
- Mac OS X: 프로파일링이 활성화 되었을 때 종료시 충돌 문제 해결.
- Mac OS X 독립실행형: OS X 아이콘 형식을 쓸 경우, 가끔 아이콘 그래픽이 부서지는 문제 해결.
- Mac OS X 독립실행형: Used OS X Lion 스타일 전체 화면 모드를 사용하여, 전체 화면 앱의 전면에 다른 창이 나타날 수 있게 해 주고, 창의 제목 표시줄에 있는 전체 화면 버튼을 클릭하여 전체 화면 모드에 들어갔다 나왔다 할 수 있게 해 줍니다(선택 사항).
- Mac OS X 독립실행형: GameCenter가 활성화 되었을 때 창의 감춤 수정.
- Mac OS X 독립실행형: 다른 창에서 키보드 이벤트를 받을 수 있고, 플러그 인을 사용하여 GameCenter와 같은 OS 서비스와의 더 나은 통합을 가능하게 하기 위하여 이벤트 처리를 변경하였습니다.
- Mac OS X 웹 플레이어: IME 지원을 모든 MAC 브라우저에서 작동할 수 있도록 하였습니다.
- Mac OS X 웹 플레이어: 브라우저가 백그라운드로 전환되거나 사용자가 다른 창/탭으로 전환할 때 초점 처리를 수정.
- Mac OS X 웹 플레이어: 메모리 누수 문제 해결.
- Mac OS X 웹플레이어: 창이 배경화면으로 갈 때 OnApplicationPause이 호출되는 문제 해결.
- Math: Plane.SameSide 등식의 부수적 에러 해결.
- Misc: Time.smoothDeltaTime을 개선하여 정지/비정지에 의해 영향을 받지 않게 했습니다.
- 네이티브 클라이언트: JPG 파일을 텍스처로 다운로드 수정.
- 네이티브 클라이언트:: 설정을 디스크로 쓰는 동안 플레이어가 닫혔을 때 설정 정보를 잃어버리는 문제 해결.
- 네이티브 클라이언트: 모노 DLLs 로딩 시에 데드락(deadlock) 문제 해결.
- 네이티브 클라이언트: Chrome 23의 빌드 및 실행 수정.
- NavMeshAgent : 씬에 navmesh가 없을 때 nextOffMeshLinkData 질의 시 충돌 문제 해결.
- NavMeshAgent: Resume이 updateRotation 설정을 손상하는 문제 해결.
- NavMeshAgent: 경로 요청 처리 큐의 순서 문제 해결.
- 물리: 충돌체의 중앙이나 크기가 변경될 경우 CCD가 충돌을 잘못 감지하는 문제 해결.
- 네트워킹: 호스트 목록 내 각 호스트에 대해 MasterServerEvent.HostListReceived가 트리거 되는 경우를 수정.
- 네트워킹: NAT 펀치쓰루(punchthrough)로 비밀번호로 보호된 서버로 연결하는데 발생하는 문제 해결.
- 플레이어: 다운로드를 중단할 때 WWW 클래스가 충돌을 유발할 수 있는 레이스 상태의 문제 해결.
- 물리: MeshCollider가 크기 0으로 조절될 경우 작동하지 않고, 다시 커지는 문제 해결.
- 물리: 중간 부분이 길이 0인 CapsuleColliders에 대한 Raycast가 올바르지 않는 값을 반환하는 문제 해결.
- 물리: Time.timeScale이 0일 경우 파괴된 콜라이더가 올바로 할당 해제되지 않는 문제 해결.
- 물리: 콜라이더가 리지드바디의 비활성화된 자식 게임 오브젝트일 경우 제대로 비활성화 될 수 있도록 수정.
- 물리: 두 트리거 간의 충돌이 일관성 있는 결과를 위해 두 트리거 모두와 두 리지드바디 모두에게 이벤트를 보내도록 수정.
- 물리: Time.timeScale이 0 일때 메모리 누수 문제 해결.
- 물리: 계층 구조를 회귀적으로 활성화 할때 활성화 순서 문제로 인해 어떤 경우에 랙 돌(rag doll)이 제대로 기능할 수 없도록 하는 문제 해결.
- 물리: 리지드바디 상호작동이 물리 시뮬레이션 결과에 영향을 미치는 문제 해결.
- 물리 의복(cloth): 탄젠트를 수정하여 오브젝트의 초기 회전과 일치하도록 했습니다.
- 프리팹: abstract 클래스를 참조하는 게임 오브젝트를 복제하여 더욱 신뢰성 있게 동작합니다.
- 프로파일러: 연결이 데이터에 맞출 수 없을 때 에디터나 플레이어가 정지하는 문제 해결.
- 프로파일러: 에디터가 후면(behind) 플레이어가 부족할 경우 정지하는 대신에 프로파일러를 건너 뛰도록 하였습니다.
- 프로파일러: GC 메모리가 호출의 계층구조를 상위로 올바로 전달하지 못합니다.
- ProfilerConnection: 프로파일러 sendbuffer가 플레이어에서 꽉 찰 경우 무한 룹의 정지상태에 있는 문제 해결.
- 씬 뷰: 사용자 컨트롤로부터 씬 에디터 카메라가 잠기는 문제 해결
- 스크립팅: EditorGUI.IntSlider에 오버로드를 추가하여 SerializedProperties을 가져올 수 있게 했습니다.
- 스크립팅: material.GetFloat(null)을 호출했을 때 충돌 문제를 해결.
- 스크립팅: AddComponent 가 컴포넌트를 생성하려고 하는 동안 자신을 파괴할 때 생기는 충돌 문제 해결.
- 스크립팅: 리소스를 들여오기 전에 Resources.Load 호출하면 발생하는 충돌 문제 해결.
- 스크립팅: UnloadUnusedAssets에 의해 AssetBundle.LoadFromFile가 로드 해제되는 경우 발생하는 문제 해결.
- 스크립팅: GameObject.Find는 이제 같은 이름의 오브젝트의 자식을 그 이름의 자식이 없는 다른 오브젝트로 올바로 인식할 것 입니다.
- 스크립팅: 게임 오브젝트가 그 위에서 SendMessage을 호출하는 동안 파괴될 때 발생하는 충돌 문제 해결.
- 스크립팅: 플레이어에 대하여 속성이 #if로 제외될 수 없는 경우 발생하는 스크립트 정렬화(serialization) 문제 해결.
- 정렬화: 웹플레이어가 아닌 타깃에 대하여, 리소스 폴더 아래 배치되어 (암시적으로) 에셋을 참조하는 씬은 이제 항상 해당 씬으로 에셋을 같이 배치하도록 할 것 입니다(resources.assets 내가 아닌).
- 쉐이더: 포그 쉐이더 변수(unity_FogColor 등.)는 그것이 꺼졌을 때 포그를 생산하지 않도록 설정되었습니다.
- 쉐이더: round() 및 trunc() HLSL 함수는 이제 모바일에 대해 쉐이더를 컴파일 할 때 지원됩니다.
- 쉐이더: Updated HLSL-to-GLSL 쉐이더 컴파일러를 업데이트 하고, 복잡한 모바일 쉐이더를 수정하였습니다(예: 트리 생성자들, 또는일부 모바일 GPU 상에서의 가장자리 감지 이미지 효과).
- 쉐이더: 사용자 지정 지향성 라이트맵 조명 기능을 사용할 일부 경우 컴파일 에러를 해결.
- Shadows: 빛의 방향이 카메라의 프러스텀(frustum) 면과 정확하게 일치될 때 그림자 캐스터 컬링(caster culling) 수정.
- 슈리켄: 파티클 시스테의 무작위성 수정. 곡선과 값 사이의 무작위를 사용할 때 매개변수 사이에 상관관계가 훨씬 덜 가시적이어야 합니다.
- 슈리켄: 비활성화 된 UI 모듈, 기즈모 크기 변경 문제, 스크러빙(scrubbing) 시 시뮬레이션 미리보기 문제 등은 제거할 수 없습니다.
- 슈리켄: 하위 에디터 메모리 누수와 가끔 충돌이 발생하는 문제 해결.
- 슈리켄: 메쉬가 유효하지 않을 때 이미터를 불량 상태로 두는 것 보다 무난하게 처리합니다.
- 슈리켄: 메쉬 파티클을 UV 없이 사용하는 경우 충돌 문제 해결.
- 표준 에셋: 프로젝트는 가작 작지만 압축이 되지 않은 텍스처를 사용합니다. 먼 거리에서 볼때 아티팩트(artifact)을 피합니다.
- 섭스텐스는 이제 iOS 사각형이 아니 지원되지 않는 PVRTC을 처리합니다.
- 섭스텐스: 지원되지 않는 플랫폼 상의 베이킹 이슈를 수정(안드로이드, iOS, 플래시).
- 섭스텐스: 프로젝트를 들여오고 색상 공간을 변환할 때 에디터에서 낮은 메모리 소비.
- 섭스텐스: 비트맵 입력에서 섭스텐스의 런타임 재 생성 수정.
- 섭스텐스: "모든 출력 생성"은 이제 인스펙터에서 생성된 모든 텍스처를 보여줍니다.
- 섭스텐스: 인스펙터에서 섭스텐스 복제를 수정.
- 섭스텐스: 비트맵 내보내기 수정.
- 섭스텐스: 로그에서 나타나는 문제 있는 여러 에러메시지를 수정.
- 지형: 지형의 풀을 음수 크기로 페인팅 할 경우와 일부 나무 모듈을 추가할 때 에러메시지 수정.
- 지형: 지형 레더러는 더 이상 렌더링 검색 중에 잘못된 메모리 접근 에러를 발생시키지 않습니다.
- Time: 단독 정지 시 timescale 수정.
- UV 생성은 버텍스의 크기조절 전에 실행됨으로 이제 플랫폼 간에 더욱 결정론적이 되었습니다.
- UnityObject: 이 기본 탬플릿은 이제 https 상에서 잘 작동합니다.
- UnityObject: 오프라인에서 로컬로 빌드를 실행하여도 기본 템플릿을 손상하지 않습니다.
- WebCamTextures: 웹 캠을 사용하는 동안 사용가능한 장치의 목록을 질의할 때 발생하는 에러 메시지를 해결
- 웹 플레이어: 플레이어 URL에서 url 매개변수에 사선 캐릭터가 있을 경우, Application.dataPath는 바로 작동하지 않을 것 입니다.
- 웹플레이어: 플러그 인 티킹(ticking) 루틴을 변경. 이는 더 단순하고 에러 가능성이 적습니다.
- 웹플레이어: 내장 리소스를 업데이트 했습니다. 이제 "유니티 4 베타로 만든 게임목록"과 "유니티 4 베타" 플러그 인 사이에 구분이 있습니다.
- 웹플레이어: IE9에서 플러그인을 실행 할 때 발생하는 다양한 충돌을 해결.
- 웹플레이어: 이제 충돌 로그에 stacktrace가 포함됩니다.
- 웹플레이어: Firefox에서 프로세스 내 실행 시 시작에서 메모리 오버라이트(overwrite) 문제 해결.
- WWW 클래스: http 인코딩 머리글에 더 많은 매개변수가 포함될 경우, 텍스트 인코딩 구문해석 문제 해결.
- 윈도우: 스크립트에서 StackOverflowException 처리 개선.
- 윈도우: 라틴이 아닌 캐릭터가 경로 내 존재할 때 64-bit 플레이어가 시작하지 않은 문제 해결.
- 윈도우 에디터: 파일 상의 작업이 실패할 경우, "실패: 그 작업을 성공적으로 완료하였습니다"는 더 이상 표시되지 않아야 합니다.
- 윈도우 에디터: 확장된 유닉스 파일 속성을 포함하는 .unitypackage 파일의 추출을 수정.
- 윈도우 에디터: 에셋 스토어 창이 이제 OpenGL 모드에서도 올바로 작동합니다.
변경사항
- 안드로이드: 새로운 Unity3d 스플래시 스크린.
- 안드로이드: 비디오 플레이어 활동이 제거되었습니다. 전체화면 비디오가 여전히 지원되지만 별도의 활동은 아닙니다.
- 안드로이드: "Google Play OBB Downloader"가 이제 에셋스토어에서 사용가능합니다. 그 플러그인은 이제 APK 확장 파일의 자동 다운로드를 지원하지 않는 장치에서 사용할 수 있습니다..
- 안드로이드: "Google 플레이 응용프로그램 라이선스 검증"이 이제 에셋 스토어에서 사용 가능합니다. 그러므로 표준 배포에는 더 이상 포함되지 않습니다.
- 안드로이드: 안드로이드 입력에 대해 X<->Y 축 비일치를 제거하였습니다. 이제 구입한 그대로의 상태에서 iOS 입력과 일치해야 합니다. 코드 재작성이 필요합니다!
- 에디터: 이제 DX9을 지원하는 GPU를 필요로 합니다 (2004년 이후 거의 모든 것).
- 에디터: PreferenceItem 속성은 이제 private static 매소드에 작동합니다.
- 에디터: 새 기본 윈도우 레이아웃 추가.
- 에디터: OpenGL ES 1.1 그래픽 에뮬레이선에 있을 때, 최대 텍스처 크기가 이제 1024에서 2048로 증가.
- 에디터: GUI 텍스트에 의해 생성된 임시 메쉬는 게임 뷰 내 버텍스 버퍼 수/크기 통계에서 제외됩니다.
- 에디터: 필요한 경우, 대화창 빌드는 이제 "Build" 또는 "Build & Run"을 클릭하면 자동으로 "플랫폼 전환"을 실행합니다(일부에서 만나는 클래스 레이아웃 빌드 에러를 해결합니다).
- 에디터: 지형 상세사항(Terrain Detail) 마법사에서 양수 값을 강제합니다.
- 에디터: OSX에서 여러 에디터가 같은 프로젝트를 여는 것을 방지합니다.
- 플래시: Flash Player 11.0과 Flash Player 11.1에 대한 지원을 제거하였습니다; 이 플레이어는 양쪽 모두 메모리 opcode에 심각한 문제를 가지고 있습니다. 유니티는 이제 타깃 플레이어로 플레시 11.2을 기본값으로 정하고 있습니다.
- 플래시: GrabPass 쉐이더 비활성화; 이들은 이제 렌더링 대신에 유니티의 비-프로처럼 작동합니다.
- 플래시는 Stage3D의 한계 때문에 GrabPass을 지원할 수 없습니다.
- 게임 오브젝트: 활성화 상태는 이제 회귀적입니다. 만일 게임 오브젝트가 비활성화라면, 모든 자식들이 이 상태를 상속받을 것 입니다.
- GameObject.active는 사용자에게 새로운 작동을 알 수 있도록 하기 위해 퇴화됩니다. 그 대신 GameObject.SetActive() 또는 GameObject.activeInHieararchy 을 사용해야 합니다.
- 그래픽: 하위 레벨 렌더링 API는 (그래픽 및 GL 클래스) 더 이상 프로 라이선스를 필요로 하지 않습니다.
- 그래픽: 메쉬 상의 Get/SetTriangleStrip을 폐기된 것으로 표시
- 입력: R윈도우 창의 입력 축 할당에 대한 지원을 제거(에서만 사용 가능해 왔음).
- iOS: Xcode 트램펄린(trampoline)에서 유니티-iPhone-시뮬레이터를 제거하였습니다. 이제 특정 시뮬레이터에 관한 변경은 Unity-iPhone 빌드 타깃에 직접 베이크 됩니다. 이는 장치와 시뮬레이터 SDK 사이에 전환을 한 후에서 Xcode 프로젝트의 재 빌드를 요합니다.
- iOS: PVRTC 압축기가 업데이트 됨.
- iOS: iOS 6.0 OS 타깃 추가.
- iOS: SystemInfo.deviceModel는 이제 리비전 번호를 포함한, 장치 이름 전체를 반환합니다.
- iOS: Exposed AOT.MonoPInvokeCallbackAttribute 사용자 지정 속성을 보여줍니다다. 정적 매소드에만 해당이 되지만 네이티브 함수에 관리 위임을 전달하는 것이 이제 가능합니다.
- iOS: PVRTC 압축기가 imgtec 3.0@2144429으로 업그레이드.
- iOS: Gyro 및 다른 센서 구현이 트렘펄린(trampoline)으로 이동되었습니다. 사용자 맞춤에 대한 가능성을 더욱 더 확장 제공합니다.
- iOS: 이제 iOS 센서가 스크린 방향을 따라갑니다. 축 재매핑을 위한 복잡한 코드는 더 이상 필요하지 않습니다! Input.compensateSensors을 통해 이 기능을 끌 수 있습니다. 코드 재작성이 필요합니다!
- iOS: 필요하지 않은 지연의 한 프레임을 제거(presentRenderBufer를 Repaint의 끝으로 이동).
- iOS: iPad Mini 및 iPad 4gen을 iPhoneGeneration에 추가.
- 프리팹은 이제 인스턴스화에서 인스턴스로 복사되는 활성 상태를 가질 수 있습니다.
- 모델: ARMv6은 이제 더 이상 지원하지 않습니다.
- 모델 들여오기: 모델 들여오기는 더 이상 삼각형 스트립(stripes)가 아니고 메쉬 GPU 최적화가 활성화 되었을 때 버텍스 캐시 최적화를 합니다. GPU 최적화는 기본값으로 켜져 있습니다.
- 모델 들여오기: 새 애니메이션 들여오기 코드를 사용할 때, 유니티는 더 이상 SkinnedMeshRenderer을 새로운 뼈대로 이동하려 하지 않을 것 입니다.
- 네이티브 클라이언트: NaCl은 이제 그 자신만의 BuildTarget이며, 웹플레이어 빌드 타깃 내 체크박스가 아닙니다.
- NavMeshAgent: 오디오 우선순위와 같이 회피 우선순위도 일관적 되도록 하였습니다: 가장 중요 = 0. 가장 덜 중요 = 99. 기본 = 50. 옛날 씬을 로딩할 경우, 에이전트 회피 우선순위를 기본값으로 재설정할 것 입니다(50).
- 스크립팅: 에디터 API에서 SceneView.RenderMode 제거(문서화는 되지 않았으나, 공식적). 그 대신 DrawCameraMode을 사용하십시오.
- 스크립팅: 개발 플레이어는 잘못된 쓰레드(또는 명시적 오브젝트 초기화를 사용하여)에서 스크립트 API을 사용할 경우 경고를 발생합니다.
- 스크립팅: OnEnable은 더 이상 Awake의 실행 순서를 변경하지 않습니다. 스크립트에 대한 실행 순서는 이제 훨씬 더 일관적 입니다. OnEnable에 대한 호출은 항상 Awake 바로 뒤에 옵니다.
- 섭스텐스: "베이크 후 유지"와 "베이크 후 버리기" 로드 작동을 추가하여, 지원되는 플랫폼 상에서 비트맵의 베이킹을 가능하게 해 줍니다.
- UnityObject: 쇠퇴하여, WebPlayer 빌드 시 더 이상 사용되지 않을 것 입니다.
- UnityOject2: 이제 웹 플레이어 빌드 시 스크립트를 설치하며, UnityObject을 대신하여 개발자에게 더 많은 융통성을 제공합니다.














