SlideShare a Scribd company logo
1 of 46
쪼꼬두유의
UNITY5 사용기
3월 21일 데브루키
1. 실행화면
2. 버전업 되면서 다른 점
3. 사용하면서 발견한 버그들..
4. 후기
5. Q&A
1 실행화면
첫 실행 화면
1 실행화면
Project 선택화면
1 실행화면
Project 생성화면
1 실행화면
원래 그랬는지는 기억이 안나지만 Project Name으로 폴더가 한 개 더 생기니 큰 범주만 클릭하면 됩니다.
1 실행화면
첫 화면
1 실행화면
하늘이 좀 예뻐졌고 기본으로 Directional Light가 추가 되었습니다
2 버전업 되면서 다른 점
기본 추가 되어있는 Directional Light의 transform을 살짝 만져주면 노을하늘로 만들 수 있습니다.
2 버전업 되면서 다른 점
기본 추가 되어있는 Directional Light의 transform을 살짝 만져주면 노을하늘로 만들 수 있습니다.
← 요기 해
※주의 : Light의 위치랑은 상관이 없습니다.
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
1. 각 State에 scripts를 붙일 수 있게
되었습니다.
Script를 생성하면
OnStateEnter
OnStateUpdate
OnStateExit
OnStateMove
OnStateIK
함수를 자동 생성해 작성만 하면 됩니다.
1
2
if(animator.GetCurrentAnimatorStateInfo(0).isName("Idle") )
DoStuff() 이런 코드는 안녕~
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
2. State Machine의 복잡도를 줄이기 위해 Entry노드와 Exit노드가 추가되었습니다.
Entry부터 분기가 가능하기 때문에 복잡도를 줄일 수 있게 되었습니다.
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
3. 에디터 스크립트를 통해 애니메이션 에셋을 생성할 수 있게 되었습니다.
근데 썩 깔끔해 보이지는 않네요... 뭐 이렇게 쓴답니다...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Creates the controller
var controller =
UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath ("Assets/Mecanim/StateMachineTransitions.controller");
// Add parameters
controller.AddParameter(“TransitionNow”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger);
controller.AddParameter(“Reset”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger);
controller.AddParameter(“GotoB1″, UnityEditor.Animations.AnimatorControllerParameterType.Trigger);
controller.AddParameter(“GotoC”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger);
// Add StateMachines
var rootStateMachine = controller.layers[0].stateMachine;
var stateMachineA = rootStateMachine.AddStateMachine(“smA”);
var stateMachineB = rootStateMachine.AddStateMachine(“smB”);
var stateMachineC = stateMachineB.AddStateMachine(“smC”);
// Add States
var stateA1 = stateMachineA.AddState(“stateA1″);
var stateB1 = stateMachineB.AddState(“stateB1″);
var stateB2 = stateMachineB.AddState(“stateB2″);
stateMachineC.AddState(“stateC1″);
var stateC2 = stateMachineC.AddState(“stateC2″);
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
3. 에디터 스크립트를 통해 애니메이션 에셋을 생성할 수 있게 되었습니다.
근데 썩 깔끔해 보이지는 않네요... 뭐 이렇게 쓴답니다...
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Add Transitions
var exitTransition = stateA1.AddExitTransition();
exitTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “TransitionNow”);
exitTransition.duration = 0;
var resetTransition = stateMachineA.AddAnyStateTransition(stateA1);
resetTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “Reset”);
resetTransition.duration = 0;
var transitionB1 = stateMachineB.AddEntryTransition(stateB1);
transitionB1.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “GotoB1″);
stateMachineB.AddEntryTransition(stateB2);
stateMachineC.defaultState = stateC2;
var exitTransitionC2 = stateC2.AddExitTransition();
exitTransitionC2.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “TransitionNow”);
exitTransitionC2.duration = 0;
var stateMachineTransition = rootStateMachine.AddStateMachineTransition(stateMachineA, stateMachineC);
stateMachineTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “GotoC”);
rootStateMachine.AddStateMachineTransition(stateMachineA, stateMachineB);
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
4. 더 자연스러운 BlendShape 애니메이션이 가능해졌습니다
직접 weight를 조절해서 사용 할 수 있습니다.
2 버전업 되면서 다른 점
http://jinhomang.tistory.com/89
Mecanim Update
5. Root Motion Authoring(in
generic mode)를 직접 제작할
수 있습니다.
6. 그 밖에 프리뷰 카메라를 개선하고
파라미터에 대한 runtime 접근을
가능하게 했으며 gizmo를 추가하
였고 기타등등의 최적화를 진행하였
다고 합니다.
2 버전업 되면서 다른 점
http://blogs.unity3d.com/2015/02/17/production-workflow-improvements/
제작 워크플로우 개선
1. 모든 Object를 Scene에 저장하지 않습니다.
Unity5 이전에는 열고 닫기만 해도 id가 바뀌거나 속성
이 바뀌었기 때문에 충돌이 빈번했습니다.
하지만 이제는 인스턴스의 수정 내용을 포함한 prefab
object와 신에서 참조되는 오브젝트의 경우만 저장하게
됩니다.
또한 라이트맵핑에 관한 충돌을 줄이기 위해서 별도의 에
셋으로 저장되기 때문에 다른 사람이 라이트맵을 굽고 저
장했다고 해 씬이 충돌나지 않고 라이트맵핑 에셋만 수
정하면 됩니다.
게다가 이제는 scene merging tool을 제공합니다!!
Unity5Unity5 이전
2 버전업 되면서 다른 점
http://blogs.unity3d.com/2015/02/17/production-workflow-improvements/
제작 워크플로우 개선
2. Tracking scene dirty scene
윈도우의 도킹 포지션의 변경이나 특정 에셋을 인스펙팅하는 행위 등등은 scene의 dirty를 만들어 내는데
Unity5부터는 dirty를 undo시스템에서 컨트롤 하게 되었습니다. UndoManager가 판단하기에 동작이
scene에 관계된 것이면 dirty스택에 하나 추가하고 아닌 경우에는 dirty를 추가 하지 않는 식으로 관리를
하게 되었습니다.
3. 그 밖에 Audio Clip 다중 선택 편집이 가능해지고 FBX파일의 스케일 설정이 제대로 적용
되고 64비트 대응을 시작합니다.
4. Transform을 제외한 getter가 없어졌습니다.
GetComponent<>()를 이용하여 접근해야 합니다.
이전버전에서 Unity5프로젝트로 변경한다면 자동으로 컨버팅해줍니다. 친절한 Unity5
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-AI.html
AI Update
1. Navmesh외형이 파티셔닝 변경으로 인해 다르게 보일 수 있습니다.
2. NavMeshAgent의 목적지를 설정하는 행위 자체를 통해서는 ‘Stop’호출한 후의 에이전트를
재시작되지 않습니다. Resume을 호출해야 합니다.
3. NavMeshAgent.updatePosition이 fales인 상태에서는 에이전트 위치가 변경되지
않습니다.
4. NavMeshObstacle 컴포넌트의 기본 모양은 박스입니다.
Curving avoidance로 캡슐도 적용할 수 있습니다.
5. 이전버전의 Navmesh는 지원되지 않습니다 업데이트 하고 사용하세요.
홈페이지에서 Rebake Sample code를 제공하고 있습니다. 참고하세요!
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Animation.html
Animation Update
1. UnityEditiorlnternal로 접근하였던 것을 UnityEditor.Animations으로 접근해야 합
니다.
UnityEditorInternal.BlendTree -> UnityEditor.Animations.BlendTree
UnityEditorInternal.AnimatorController -> UnityEditor.Animations.AnimatorController
UnityEditorInternal.StateMachine -> UnityEditor.Animations.AnimatorStateMachine
UnityEditorInternal.State -> UnityEditor.Animations.AnimationState
UnityEditorInternal.AnimatorControllerLayer ->
UnityEditor.Animations.AnimatorControllerLayer
2. 또한 대부분의 Acessor들은 배열으로 바뀌었습니다.
UnityEditorInternal.AnimatorControllerLayer layer =
animatorController.GetLayer(index) ->
UnityEditor.Animations.AnimatorControllerLayer layer =
animatorController.layers[index];
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html
Audio Update
1. 3D Audio플래그가 없어졌습니다.
Audio Source에 Spatial Blend 슬라이더를 통해서 3D로 사운드 모핑이 가능합니다.
또한 2D Audio가 default입니다.
2. 오디오 데이터를 미리 로드 할지 안 할지 정할 수 있게 되었습니다.
1. 요구가 있을 때 로딩할 수 있게 되면서 메모리 사용량을 유지하는데 도움이 됩니다.
3. 모든 Audio Clip은 다중편집이 가능합니다.
4. Audio Cilp이 재생되지 않아도 AudioSource.UnPause()할 수 있게 되었습니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html
Audio Update
5. Audio Mixer기능이 생겼습니다.
많은 AudioSource를 가지면 CPU부담을 주게 되는데 Audio Mixer기능을 통한 그룹을 설정
하게 되면 CPU의 부담을 줄일 수 있습니다. 하지만 Audio Mixer는 스크립트 기반 이펙트를
지원하지 않습니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html
Audio Update
6. Audio Setting이 바뀌었습니다.
Real voice count와 virtual voice count를 설정할 수 있습니다. Real voice count는 얼마나 많은 소
리가 동시에 들리는지를 명시하므로, CPU의 소모량과 연관이 있습니다. Virtual voice count는 전체적으로
얼마나 많은 소리가 관리될 수 있는지를 정의합니다. Real voice count가 제한보다 클 경우에는 가장 작게
들리는 소리들은 소리가 커지거나 아니면 다른 큰 소리들이 재생을 멈추기 전까지 재생을 하지 않습니다.
Virtual voice count가 제한보다 클 경우에는 가장 작게 들리는 소리들이 멈추게 됩니다.
7. AudioSetting의 setter들은 사라질 예정이라고 합니다.
대신에 AudioConfiguration이라는 구조체를 사용해 값을 변경해 주어야 합니다.
값을 가져오는 방법은 AudioSettings.GetConfiguration()을 통해야 합니다.
값을 가져온 뒤에는 AudioSetting.Reset()함수를 사용해 설정에 따라 BOOL값을 RETURN합니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html
Audio Update
8. 이어폰이나 HDMI 등을 연결하면서 발생하는 외부이벤트로 인해서 오디오 설정에 변경이 일
어나게 되면 AudioSetting.OnAudioConfigurationChanged(bool
deviceChanged)함수가 invoke됩니다. deviceChange인자는
AudioSetting.Reset()에 의한 것이면 false, 외부환경에 의한 것이면 true를 반환
합니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-BakedDataFormats.html
Baked Data format changes
1. Backed Occlusion Culling data format 이 변경되었습니다.
2. Backed Lighting data format 도 변경되었습니다.
모두 다시 구워주셔야 합니다
근데 이게 듣자하니 라이트에 버그가 있다고 합니다?!?!?!?
UnityPackage format change
1. 뭔가 포멧이 바꼈대요 근데 설명은 안해줌...
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Plugins.html
Plugins Update
1. 이제 Plugin 폴더에 넣지 않아도 됩니다.
정확히 넣으면 속성값을 알아서 지정해 준다고는 합니
다. 기본값은 Any Platform.
2. 32bit 네이티브 플러그인은 64비트 에디터
에서는 작동하지 않습니다.
두가지 버전을 모두 갖고 있다면 각각 다른폴더에 넣고
임포트 세팅을 할때 적절히 선택하면 됩니다. 32bit
버전 플러그인을 64bit에디터에서 사용하려면 별도의
인스톨러를 사용해야 합니다.
3. Native Auidio Plugin은 접두어로 대소문자
상관 없이 audioplugin이 붙어있다면 자동
으로 스캔돼서 오디오 믹서를 통해 사용 할 수
있게 되었습니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html
Physics Update
1. PhysX2.8.3 버전에서 PhysX3.3으로 업그레이드를 했다고 합니다.
그래서 Unity4버전과 100% 호환되지 않는 점이 생겼습니다. 셀프 수정거리가 있을겁니다.
2. Adaptive force 기능을 켜고 끌 수 있게 되었습니다.
Default는 off라고 합니다. (Edit – Project Setting – Physics)
3. Static collider 이동에 대한 비용을 줄였습니다.
Dynamic collider와 데이터 구조가 같아져서 전보다 메모리를 덜 차지 하지는 않지만 이동해도 큰 부하가 걸
리지 않습니다.
4. Continuous Collision Detection 성능이 개선되었습니다.
RigidBody 스크립트에서 상황에 따라 맞게 적용하면 됩니다.
5. Mesh Collider 스케일링 비용을 줄였습니다.
PhysX3 덕분에 실시간 스케일링이라도 비용이 없다고 합니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html
Physics Update
6. 새로운 Cloth 컴포넌트가 생겼습니다.
메인 물리 업데이트 로직과는 분리되어 있지만,
그대신 더 빠르고 멀티스레드가 가능하고 안정
적이게 되었습니다. 특정 콜라이더를 등록하면
Cloth의 물리에 영향을 받습니다.
찢어짐 효과가 더 이상 지원되지 않고 천에
압력을 적용할수 없습니다 또 천에 콜라이더를
추가하거나 천의 scene안의 강체들에게 힘
을 적용할 수 없습니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html
Physics Update
7. 새로운 Vehicle 컴포넌트가 생겼습니
다.
Wheel Collider 컴포넌트가 좀더 현실적인
물리가 가능하게 되었습니다.
2 버전업 되면서 다른 점
Wheel Collider Component
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html
Physics Update
8. Smooth sphere collision속성이 terrain과 mesh에서 모두 사라집니다.
9. Spring범위가 넓어졌습니다.
10. Terrain physics setting이 바뀌었습니다.
TerrainCollider.shadermaterial과 TerrainCollider.material을 사용하세요.
11. Collider가 두개 붙어있다면 이제는 한번만 체크합니다.
12. Convex모양에서만 trigger를 사용할 수 있습니다.
MeshCollider는 covex일 경우에만 isTrigger가 지원되고, TerrainCollider는 isTrigger 플래그를 지원
하지 않습니다.
13. Kinematic이 적용되지 않는 물체는 더 이상 convex collider를 사용 할 수 없습니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html
Physics Update
14. Ragdoll 설정이 많이 바뀌었습니다.
Angular Y Limit과 Angular Z Limit의 각도가 최소한 5~15도를 유지해야 합니다. 0~5 사이의 각도를
사용하려면 0도를 사용하세요.
Enable Preprocessing을 false로 설정하세요. Blow up을 방지 할 수 있습니다.
Ragdoll의 안정성을 위해서 ConfigurableJoint.projectionMode 또는
CharacterJoint.enableProjection을 사용해 projection을 활성화 해주세요.
Joint의 지연이 생긴다면 Solver Iteration Count을 10~20으로 올려주세요. (Edit -> Project
Setting -> Physics)
Kinematic 바디에 대해서 transform으로 접근하지 마세요. Solver가 안좋은 결과를 만들어낼 수 있습니다.
MovePosition, MoveRotation, Move를 사용해주세요.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html
Shader Update
1. 조명강도 x2를 적용하면 안됩니다.
자동으로 해준다고 합니다. 다만 애니메이션에는 영향을 주지 않기 때문에 조명 강도를 애니메이션 했다면 셀프
로 하셔야합니다.
커스텀 쉐이더의 경우에는 *2를 직접 제거하셔야 합니다.
2. Built-in lighting pipeline은 몇몇 경우에서 texture coordinate 또는 ALU
instruction제한에 걸릴 수 있습니다. 이럴경우에는 #pragma target 3.0을 추가하세
요 (참조링크 : http://docs.unity3d.com/Manual/SL-ShaderPrograms.html)
3. Non-Uniform mesh를 사용하기 위해서는 버텍스 셰이더에서 노멀과 탄젠트 벡터를 정규
화 해야 합니다.
4. WindowPhone8과 콘솔에서 안개를 사용 할 수 있게 되었습니다.
직접 작성한 쉐이더에서 안개가 필요하다면 #pragma multi_compile_fog와 안개 관련 매크로들을 추가
해야 합니다. 내장 코드를 참조하라고 합니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html
Shader Update
5. 불투명 surface shader는 알파체널값으로 1.0(“White”)를 출력합니다.
원치 않는다면 #prgma surface 라인에서 “keepalpha”옵션을 사용하세요.
6. Forward renderloop에서 material index로 정렬하지 않습니다.
오브젝트들이 서로 상관없이 렌더링 되기 때문에 성능이 향상됩니다.
7. 고정함수(fixed function) 쉐이더에서 지원하던 기능 몇 개가 없어졌습니다.
Uv좌표설정(TexGen), uv변환행렬, SetTexture combiner mode 제거
이전버전에서 사용했다면 바꾸셔야합니다 warning이 떠요.
고정함수 쉐이더에 이점이 없기 때문에 뺐다고 합니다.
8. Forward rendering시 index순서대로 그리지 않게 돼 속도가 더욱 빨라졌습니다.
9. Programmerble과 fixed function shader 혼용이 불가능합니다.
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html
Shader Update
10. D3D9 쉐이더 컴파일러는 CG2.2에서 HLSL로 바뀌었습니다.
Output 변수를 UNITY_INITIALIZE_OUTPUT매크로를 사용해서 완전히 초기화 시켜야 합니다. 또한
float2(4요소값.xyz) 형식으로 바꿔야 합니다.
float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal * unity_Scale.w); ->
float3 norm = normalize(mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal));
11. Unity_Scale shader 속성이 없어졌습니다.
이전버전이 메모리 오버헤드를 불러일으켰다고 없애버리고 모든 행렬을 shader로 넘기면서 이제는 GPU에서 수
행됩니다. 때문에 어떤 경우에는 더 비용이 발생 할 수 있습니다.
temp.xyzw = v.vertex.xzxz * unity_Scale.xzxz * _WaveScale4 + _WaveOffset ->
float4 wpos = mul (_Object2World, v.vertex);
temp.xyzw = wpos.xzxz * _WaveScale4 + _WaveOffset;
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html
Shader Update
12. Forward rendering 된 directional 그림자는 이제 shadow collection패스로 분리되
지 않습니다.
카메라의 depth texture 에 의해 deferred lighting처럼 계산됩니다.
그러니깐 모두 LightMode=ShadowCollector는 지워주세요. 셀프로
Depth texture는 더 이상 shader replacement 에서 그려지지 않습니다
이제는 shadowCaster shader passes에서 그려집니다.
Camera-DepthTexture.shader는 이제 아무일도 하지 않게 되었습니다.
Shadow shader는 back culling을 더 이상 하지 않습니다.
2 버전업 되면서 다른 점
Splash Image Update
iphone
android
2 버전업 되면서 다른 점
http://docs.unity3d.com/Manual/UpgradeGuide5-Misc.html
그 외...
Other script API changes
that cannot be upgraded
automatically. 이라고 합니다….
3
먼저
개인적인 의견이 들어가 있으며 제 컴퓨
터에서만 그랬을 수도 있습니다.
개개인의 컴퓨터 사양에 따라 상태에
따라 다른 버그가 나타날 수도 제가 언급
한 버그가 나타나지 않을 수도 있습니다.
몇몇 버그는 진짜야… 인터넷에서 주워옴…
사용하면서 발견한 버그들..
사용하면서 발견한 버그들..
UnityVS 연동 문제
Import package 안에 있었는데 이게
없어짐…
그래서 억지로 unitypackage를 찾아서
import 해줘야 함.
요 녀석 있는 위치에 가서 unitypackage
를 검색하면 바로 나옴
클릭해서 셀프 import
3
사용하면서 발견한 버그들..
Light probes 밝기 버그?
Unity5 이전버전 Unity5
Surface shader는 무리없이 구동되지만 4.x버전보다는 밝아지는 버그가 있다고 합니다.
유니티측에서도 문제를 인지하고 있다고 하니 좀 더 지켜봐야 할 것 같습니다.
3
사용하면서 발견한 버그들..
Light probes 밝기 버그?
편법으로 light map snap shot을 덮어 쓰는 방식으로 해결하신 분도 있다고 합니다.
Light probe 밝기 기준으로 light map을 한번 굽고 light snap shot 파일을 따로 복사
해두었다가, static 배경 밝기 기준으로 light map을 최종적으로 구워준 뒤 미리 복사해 둔
light map snap shot 파일로 대체하는 방법이라고 합니다.
귀찮네요... Unity에서 바꿔주길 기대해봅니다...
Light 버그?
Light probe와 별개로 lightmap texture가 날아가는 현상이 가끔 나타난다고 합니다.
3
사용하면서 발견한 버그들..
ios 빌드시 프레임 떨어짐
안드로이드는 별 말이 없네요... ios는 unity5로 업데이트시 프레임이 많이 떨어진다고 합니다.
왠지는 저도...
UI Text 깨짐 문제
UI Text를 사용하다보면 가끔 텍스트가 제대로 나오지 않고 깨지는 경우가 있는데 play하면 제
대로 나오거나 아니면 다시 텍스트를 작성하거나 크기를 조절하면 해결됨...
3
4 후기
생각보다는 버그가 별로 없는 편안한 예쁜 툴
이라고 생각합니다.
아직 5.0.0버전이라 버그픽스도 한 개도 안됐구요.
더 나아질 테니 다들 유니티 파주세요…
제가 좀 자료 좀 참고하게요…
아 UGUI도 엄청 편해요 NGUI보다.
근데 자료가 별로 없어서 고민이네요.
여러분 유니티 하세요 두 번하세요.
전체적으로 모던해지고 예뻐졌어요…
Q&A
THANK YOU

More Related Content

What's hot

유니티에서 MMD 사용해보기
유니티에서 MMD 사용해보기유니티에서 MMD 사용해보기
유니티에서 MMD 사용해보기flashscope
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기JP Jung
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화 tartist
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011devCAT Studio, NEXON
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred RenderingKWANGIL KIM
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례SangYun Yi
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)ozlael ozlael
 
NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트재철 황
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료Je Lyoung Kim
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 
리얼타임 렌더링에 대해
리얼타임 렌더링에 대해리얼타임 렌더링에 대해
리얼타임 렌더링에 대해필성 권
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)Bongseok Cho
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 
09_motionblur
09_motionblur09_motionblur
09_motionblurnoerror
 
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010devCAT Studio, NEXON
 

What's hot (20)

유니티에서 MMD 사용해보기
유니티에서 MMD 사용해보기유니티에서 MMD 사용해보기
유니티에서 MMD 사용해보기
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011
 
Motion blur
Motion blurMotion blur
Motion blur
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
 
gv004 ver0.1
gv004 ver0.1gv004 ver0.1
gv004 ver0.1
 
NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 
리얼타임 렌더링에 대해
리얼타임 렌더링에 대해리얼타임 렌더링에 대해
리얼타임 렌더링에 대해
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 
09_motionblur
09_motionblur09_motionblur
09_motionblur
 
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
배정섭, 쉽고 빠르게 매력적인 모션 제작하기 tip, NDC2010
 

Similar to Unity5 사용기

PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)YOUNGJO CHO
 
Umg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation BoxUmg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation Box대영 노
 
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트KIMHYUNWOO22
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기NAVER D2
 
Vue guide v0.1
Vue guide v0.1Vue guide v0.1
Vue guide v0.1DataUs
 
Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Bansook Nam
 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental systemJaehoon Oh
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기NAVER D2
 
Modularization with Dynamic Feature Module
Modularization with Dynamic Feature ModuleModularization with Dynamic Feature Module
Modularization with Dynamic Feature ModuleNAVER Engineering
 
[141] react everywhere
[141] react everywhere[141] react everywhere
[141] react everywhereNAVER D2
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용지원 이
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료JUNPIL PARK
 
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 [숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 Soongsil University
 
Side Effect in Compose (Android Jetpack)
Side Effect in Compose (Android Jetpack)Side Effect in Compose (Android Jetpack)
Side Effect in Compose (Android Jetpack)SSLEE14
 
권기훈_포트폴리오
권기훈_포트폴리오권기훈_포트폴리오
권기훈_포트폴리오Kihoon4
 

Similar to Unity5 사용기 (20)

PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
 
Umg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation BoxUmg ,이벤트 바인딩, Invaidation Box
Umg ,이벤트 바인딩, Invaidation Box
 
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
제 1회 미래 모빌리티 디자인 경진대회 사용설명서_오토이펙트
 
[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기[152] 웹브라우저 감옥에서 살아남기
[152] 웹브라우저 감옥에서 살아남기
 
Vue guide v0.1
Vue guide v0.1Vue guide v0.1
Vue guide v0.1
 
Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지Android와 Flutter 앱 개발의 큰 차이점 5가지
Android와 Flutter 앱 개발의 큰 차이점 5가지
 
Legacy code refactoring video rental system
Legacy code refactoring   video rental systemLegacy code refactoring   video rental system
Legacy code refactoring video rental system
 
[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기[1A4]자바스크립트 라이브러리 개발 운영 경험기
[1A4]자바스크립트 라이브러리 개발 운영 경험기
 
deview2014
deview2014deview2014
deview2014
 
Modularization with Dynamic Feature Module
Modularization with Dynamic Feature ModuleModularization with Dynamic Feature Module
Modularization with Dynamic Feature Module
 
[141] react everywhere
[141] react everywhere[141] react everywhere
[141] react everywhere
 
React Everywhere
React EverywhereReact Everywhere
React Everywhere
 
GEF
GEFGEF
GEF
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용Vert.x 세미나 이지원_배포용
Vert.x 세미나 이지원_배포용
 
주키퍼
주키퍼주키퍼
주키퍼
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료
 
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 [숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
 
Side Effect in Compose (Android Jetpack)
Side Effect in Compose (Android Jetpack)Side Effect in Compose (Android Jetpack)
Side Effect in Compose (Android Jetpack)
 
권기훈_포트폴리오
권기훈_포트폴리오권기훈_포트폴리오
권기훈_포트폴리오
 

More from 은아 정

git의 브렌치 관리 방법
git의 브렌치 관리 방법git의 브렌치 관리 방법
git의 브렌치 관리 방법은아 정
 
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"은아 정
 
C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)은아 정
 
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용은아 정
 
2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기은아 정
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"은아 정
 
2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유은아 정
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기은아 정
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴은아 정
 
페차쿠차2014 1
페차쿠차2014 1페차쿠차2014 1
페차쿠차2014 1은아 정
 

More from 은아 정 (11)

git의 브렌치 관리 방법
git의 브렌치 관리 방법git의 브렌치 관리 방법
git의 브렌치 관리 방법
 
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
2016 페차쿠차 "cppcheck, effective c++과 함께하는 bts"
 
C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)
 
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
2016.02.20 어쩌다보니 cocos2d x 사용하게 된 이야기 업로드용
 
2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기2015.12.05 쪼꼬두유 방황기
2015.12.05 쪼꼬두유 방황기
 
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
2015 데브루키 페차쿠차 "Rim Light(림라이트) 만들기"
 
2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유2015.08.01 회사원쪼꼬두유
2015.08.01 회사원쪼꼬두유
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
 
페차쿠차2014 1
페차쿠차2014 1페차쿠차2014 1
페차쿠차2014 1
 
C++ stl
C++ stlC++ stl
C++ stl
 

Unity5 사용기

  • 2. 1. 실행화면 2. 버전업 되면서 다른 점 3. 사용하면서 발견한 버그들.. 4. 후기 5. Q&A
  • 6. 1 실행화면 원래 그랬는지는 기억이 안나지만 Project Name으로 폴더가 한 개 더 생기니 큰 범주만 클릭하면 됩니다.
  • 8. 1 실행화면 하늘이 좀 예뻐졌고 기본으로 Directional Light가 추가 되었습니다
  • 9. 2 버전업 되면서 다른 점 기본 추가 되어있는 Directional Light의 transform을 살짝 만져주면 노을하늘로 만들 수 있습니다.
  • 10. 2 버전업 되면서 다른 점 기본 추가 되어있는 Directional Light의 transform을 살짝 만져주면 노을하늘로 만들 수 있습니다. ← 요기 해 ※주의 : Light의 위치랑은 상관이 없습니다.
  • 11. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 1. 각 State에 scripts를 붙일 수 있게 되었습니다. Script를 생성하면 OnStateEnter OnStateUpdate OnStateExit OnStateMove OnStateIK 함수를 자동 생성해 작성만 하면 됩니다. 1 2 if(animator.GetCurrentAnimatorStateInfo(0).isName("Idle") ) DoStuff() 이런 코드는 안녕~
  • 12. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 2. State Machine의 복잡도를 줄이기 위해 Entry노드와 Exit노드가 추가되었습니다. Entry부터 분기가 가능하기 때문에 복잡도를 줄일 수 있게 되었습니다.
  • 13. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 3. 에디터 스크립트를 통해 애니메이션 에셋을 생성할 수 있게 되었습니다. 근데 썩 깔끔해 보이지는 않네요... 뭐 이렇게 쓴답니다... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 // Creates the controller var controller = UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath ("Assets/Mecanim/StateMachineTransitions.controller"); // Add parameters controller.AddParameter(“TransitionNow”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger); controller.AddParameter(“Reset”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger); controller.AddParameter(“GotoB1″, UnityEditor.Animations.AnimatorControllerParameterType.Trigger); controller.AddParameter(“GotoC”, UnityEditor.Animations.AnimatorControllerParameterType.Trigger); // Add StateMachines var rootStateMachine = controller.layers[0].stateMachine; var stateMachineA = rootStateMachine.AddStateMachine(“smA”); var stateMachineB = rootStateMachine.AddStateMachine(“smB”); var stateMachineC = stateMachineB.AddStateMachine(“smC”); // Add States var stateA1 = stateMachineA.AddState(“stateA1″); var stateB1 = stateMachineB.AddState(“stateB1″); var stateB2 = stateMachineB.AddState(“stateB2″); stateMachineC.AddState(“stateC1″); var stateC2 = stateMachineC.AddState(“stateC2″);
  • 14. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 3. 에디터 스크립트를 통해 애니메이션 에셋을 생성할 수 있게 되었습니다. 근데 썩 깔끔해 보이지는 않네요... 뭐 이렇게 쓴답니다... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 // Add Transitions var exitTransition = stateA1.AddExitTransition(); exitTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “TransitionNow”); exitTransition.duration = 0; var resetTransition = stateMachineA.AddAnyStateTransition(stateA1); resetTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “Reset”); resetTransition.duration = 0; var transitionB1 = stateMachineB.AddEntryTransition(stateB1); transitionB1.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “GotoB1″); stateMachineB.AddEntryTransition(stateB2); stateMachineC.defaultState = stateC2; var exitTransitionC2 = stateC2.AddExitTransition(); exitTransitionC2.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “TransitionNow”); exitTransitionC2.duration = 0; var stateMachineTransition = rootStateMachine.AddStateMachineTransition(stateMachineA, stateMachineC); stateMachineTransition.AddCondition(UnityEditor.Animations.AnimatorConditionMode.If, 0, “GotoC”); rootStateMachine.AddStateMachineTransition(stateMachineA, stateMachineB);
  • 15. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 4. 더 자연스러운 BlendShape 애니메이션이 가능해졌습니다 직접 weight를 조절해서 사용 할 수 있습니다.
  • 16. 2 버전업 되면서 다른 점 http://jinhomang.tistory.com/89 Mecanim Update 5. Root Motion Authoring(in generic mode)를 직접 제작할 수 있습니다. 6. 그 밖에 프리뷰 카메라를 개선하고 파라미터에 대한 runtime 접근을 가능하게 했으며 gizmo를 추가하 였고 기타등등의 최적화를 진행하였 다고 합니다.
  • 17. 2 버전업 되면서 다른 점 http://blogs.unity3d.com/2015/02/17/production-workflow-improvements/ 제작 워크플로우 개선 1. 모든 Object를 Scene에 저장하지 않습니다. Unity5 이전에는 열고 닫기만 해도 id가 바뀌거나 속성 이 바뀌었기 때문에 충돌이 빈번했습니다. 하지만 이제는 인스턴스의 수정 내용을 포함한 prefab object와 신에서 참조되는 오브젝트의 경우만 저장하게 됩니다. 또한 라이트맵핑에 관한 충돌을 줄이기 위해서 별도의 에 셋으로 저장되기 때문에 다른 사람이 라이트맵을 굽고 저 장했다고 해 씬이 충돌나지 않고 라이트맵핑 에셋만 수 정하면 됩니다. 게다가 이제는 scene merging tool을 제공합니다!! Unity5Unity5 이전
  • 18. 2 버전업 되면서 다른 점 http://blogs.unity3d.com/2015/02/17/production-workflow-improvements/ 제작 워크플로우 개선 2. Tracking scene dirty scene 윈도우의 도킹 포지션의 변경이나 특정 에셋을 인스펙팅하는 행위 등등은 scene의 dirty를 만들어 내는데 Unity5부터는 dirty를 undo시스템에서 컨트롤 하게 되었습니다. UndoManager가 판단하기에 동작이 scene에 관계된 것이면 dirty스택에 하나 추가하고 아닌 경우에는 dirty를 추가 하지 않는 식으로 관리를 하게 되었습니다. 3. 그 밖에 Audio Clip 다중 선택 편집이 가능해지고 FBX파일의 스케일 설정이 제대로 적용 되고 64비트 대응을 시작합니다. 4. Transform을 제외한 getter가 없어졌습니다. GetComponent<>()를 이용하여 접근해야 합니다. 이전버전에서 Unity5프로젝트로 변경한다면 자동으로 컨버팅해줍니다. 친절한 Unity5
  • 19. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-AI.html AI Update 1. Navmesh외형이 파티셔닝 변경으로 인해 다르게 보일 수 있습니다. 2. NavMeshAgent의 목적지를 설정하는 행위 자체를 통해서는 ‘Stop’호출한 후의 에이전트를 재시작되지 않습니다. Resume을 호출해야 합니다. 3. NavMeshAgent.updatePosition이 fales인 상태에서는 에이전트 위치가 변경되지 않습니다. 4. NavMeshObstacle 컴포넌트의 기본 모양은 박스입니다. Curving avoidance로 캡슐도 적용할 수 있습니다. 5. 이전버전의 Navmesh는 지원되지 않습니다 업데이트 하고 사용하세요. 홈페이지에서 Rebake Sample code를 제공하고 있습니다. 참고하세요!
  • 20. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Animation.html Animation Update 1. UnityEditiorlnternal로 접근하였던 것을 UnityEditor.Animations으로 접근해야 합 니다. UnityEditorInternal.BlendTree -> UnityEditor.Animations.BlendTree UnityEditorInternal.AnimatorController -> UnityEditor.Animations.AnimatorController UnityEditorInternal.StateMachine -> UnityEditor.Animations.AnimatorStateMachine UnityEditorInternal.State -> UnityEditor.Animations.AnimationState UnityEditorInternal.AnimatorControllerLayer -> UnityEditor.Animations.AnimatorControllerLayer 2. 또한 대부분의 Acessor들은 배열으로 바뀌었습니다. UnityEditorInternal.AnimatorControllerLayer layer = animatorController.GetLayer(index) -> UnityEditor.Animations.AnimatorControllerLayer layer = animatorController.layers[index];
  • 21. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html Audio Update 1. 3D Audio플래그가 없어졌습니다. Audio Source에 Spatial Blend 슬라이더를 통해서 3D로 사운드 모핑이 가능합니다. 또한 2D Audio가 default입니다. 2. 오디오 데이터를 미리 로드 할지 안 할지 정할 수 있게 되었습니다. 1. 요구가 있을 때 로딩할 수 있게 되면서 메모리 사용량을 유지하는데 도움이 됩니다. 3. 모든 Audio Clip은 다중편집이 가능합니다. 4. Audio Cilp이 재생되지 않아도 AudioSource.UnPause()할 수 있게 되었습니다.
  • 22. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html Audio Update 5. Audio Mixer기능이 생겼습니다. 많은 AudioSource를 가지면 CPU부담을 주게 되는데 Audio Mixer기능을 통한 그룹을 설정 하게 되면 CPU의 부담을 줄일 수 있습니다. 하지만 Audio Mixer는 스크립트 기반 이펙트를 지원하지 않습니다.
  • 23. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html Audio Update 6. Audio Setting이 바뀌었습니다. Real voice count와 virtual voice count를 설정할 수 있습니다. Real voice count는 얼마나 많은 소 리가 동시에 들리는지를 명시하므로, CPU의 소모량과 연관이 있습니다. Virtual voice count는 전체적으로 얼마나 많은 소리가 관리될 수 있는지를 정의합니다. Real voice count가 제한보다 클 경우에는 가장 작게 들리는 소리들은 소리가 커지거나 아니면 다른 큰 소리들이 재생을 멈추기 전까지 재생을 하지 않습니다. Virtual voice count가 제한보다 클 경우에는 가장 작게 들리는 소리들이 멈추게 됩니다. 7. AudioSetting의 setter들은 사라질 예정이라고 합니다. 대신에 AudioConfiguration이라는 구조체를 사용해 값을 변경해 주어야 합니다. 값을 가져오는 방법은 AudioSettings.GetConfiguration()을 통해야 합니다. 값을 가져온 뒤에는 AudioSetting.Reset()함수를 사용해 설정에 따라 BOOL값을 RETURN합니다.
  • 24. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Audio.html Audio Update 8. 이어폰이나 HDMI 등을 연결하면서 발생하는 외부이벤트로 인해서 오디오 설정에 변경이 일 어나게 되면 AudioSetting.OnAudioConfigurationChanged(bool deviceChanged)함수가 invoke됩니다. deviceChange인자는 AudioSetting.Reset()에 의한 것이면 false, 외부환경에 의한 것이면 true를 반환 합니다.
  • 25. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-BakedDataFormats.html Baked Data format changes 1. Backed Occlusion Culling data format 이 변경되었습니다. 2. Backed Lighting data format 도 변경되었습니다. 모두 다시 구워주셔야 합니다 근데 이게 듣자하니 라이트에 버그가 있다고 합니다?!?!?!? UnityPackage format change 1. 뭔가 포멧이 바꼈대요 근데 설명은 안해줌...
  • 26. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Plugins.html Plugins Update 1. 이제 Plugin 폴더에 넣지 않아도 됩니다. 정확히 넣으면 속성값을 알아서 지정해 준다고는 합니 다. 기본값은 Any Platform. 2. 32bit 네이티브 플러그인은 64비트 에디터 에서는 작동하지 않습니다. 두가지 버전을 모두 갖고 있다면 각각 다른폴더에 넣고 임포트 세팅을 할때 적절히 선택하면 됩니다. 32bit 버전 플러그인을 64bit에디터에서 사용하려면 별도의 인스톨러를 사용해야 합니다. 3. Native Auidio Plugin은 접두어로 대소문자 상관 없이 audioplugin이 붙어있다면 자동 으로 스캔돼서 오디오 믹서를 통해 사용 할 수 있게 되었습니다.
  • 27. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html Physics Update 1. PhysX2.8.3 버전에서 PhysX3.3으로 업그레이드를 했다고 합니다. 그래서 Unity4버전과 100% 호환되지 않는 점이 생겼습니다. 셀프 수정거리가 있을겁니다. 2. Adaptive force 기능을 켜고 끌 수 있게 되었습니다. Default는 off라고 합니다. (Edit – Project Setting – Physics) 3. Static collider 이동에 대한 비용을 줄였습니다. Dynamic collider와 데이터 구조가 같아져서 전보다 메모리를 덜 차지 하지는 않지만 이동해도 큰 부하가 걸 리지 않습니다. 4. Continuous Collision Detection 성능이 개선되었습니다. RigidBody 스크립트에서 상황에 따라 맞게 적용하면 됩니다. 5. Mesh Collider 스케일링 비용을 줄였습니다. PhysX3 덕분에 실시간 스케일링이라도 비용이 없다고 합니다.
  • 28. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html Physics Update 6. 새로운 Cloth 컴포넌트가 생겼습니다. 메인 물리 업데이트 로직과는 분리되어 있지만, 그대신 더 빠르고 멀티스레드가 가능하고 안정 적이게 되었습니다. 특정 콜라이더를 등록하면 Cloth의 물리에 영향을 받습니다. 찢어짐 효과가 더 이상 지원되지 않고 천에 압력을 적용할수 없습니다 또 천에 콜라이더를 추가하거나 천의 scene안의 강체들에게 힘 을 적용할 수 없습니다.
  • 29. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html Physics Update 7. 새로운 Vehicle 컴포넌트가 생겼습니 다. Wheel Collider 컴포넌트가 좀더 현실적인 물리가 가능하게 되었습니다.
  • 30. 2 버전업 되면서 다른 점 Wheel Collider Component
  • 31. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html Physics Update 8. Smooth sphere collision속성이 terrain과 mesh에서 모두 사라집니다. 9. Spring범위가 넓어졌습니다. 10. Terrain physics setting이 바뀌었습니다. TerrainCollider.shadermaterial과 TerrainCollider.material을 사용하세요. 11. Collider가 두개 붙어있다면 이제는 한번만 체크합니다. 12. Convex모양에서만 trigger를 사용할 수 있습니다. MeshCollider는 covex일 경우에만 isTrigger가 지원되고, TerrainCollider는 isTrigger 플래그를 지원 하지 않습니다. 13. Kinematic이 적용되지 않는 물체는 더 이상 convex collider를 사용 할 수 없습니다.
  • 32. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Physics.html Physics Update 14. Ragdoll 설정이 많이 바뀌었습니다. Angular Y Limit과 Angular Z Limit의 각도가 최소한 5~15도를 유지해야 합니다. 0~5 사이의 각도를 사용하려면 0도를 사용하세요. Enable Preprocessing을 false로 설정하세요. Blow up을 방지 할 수 있습니다. Ragdoll의 안정성을 위해서 ConfigurableJoint.projectionMode 또는 CharacterJoint.enableProjection을 사용해 projection을 활성화 해주세요. Joint의 지연이 생긴다면 Solver Iteration Count을 10~20으로 올려주세요. (Edit -> Project Setting -> Physics) Kinematic 바디에 대해서 transform으로 접근하지 마세요. Solver가 안좋은 결과를 만들어낼 수 있습니다. MovePosition, MoveRotation, Move를 사용해주세요.
  • 33. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html Shader Update 1. 조명강도 x2를 적용하면 안됩니다. 자동으로 해준다고 합니다. 다만 애니메이션에는 영향을 주지 않기 때문에 조명 강도를 애니메이션 했다면 셀프 로 하셔야합니다. 커스텀 쉐이더의 경우에는 *2를 직접 제거하셔야 합니다. 2. Built-in lighting pipeline은 몇몇 경우에서 texture coordinate 또는 ALU instruction제한에 걸릴 수 있습니다. 이럴경우에는 #pragma target 3.0을 추가하세 요 (참조링크 : http://docs.unity3d.com/Manual/SL-ShaderPrograms.html) 3. Non-Uniform mesh를 사용하기 위해서는 버텍스 셰이더에서 노멀과 탄젠트 벡터를 정규 화 해야 합니다. 4. WindowPhone8과 콘솔에서 안개를 사용 할 수 있게 되었습니다. 직접 작성한 쉐이더에서 안개가 필요하다면 #pragma multi_compile_fog와 안개 관련 매크로들을 추가 해야 합니다. 내장 코드를 참조하라고 합니다.
  • 34. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html Shader Update 5. 불투명 surface shader는 알파체널값으로 1.0(“White”)를 출력합니다. 원치 않는다면 #prgma surface 라인에서 “keepalpha”옵션을 사용하세요. 6. Forward renderloop에서 material index로 정렬하지 않습니다. 오브젝트들이 서로 상관없이 렌더링 되기 때문에 성능이 향상됩니다. 7. 고정함수(fixed function) 쉐이더에서 지원하던 기능 몇 개가 없어졌습니다. Uv좌표설정(TexGen), uv변환행렬, SetTexture combiner mode 제거 이전버전에서 사용했다면 바꾸셔야합니다 warning이 떠요. 고정함수 쉐이더에 이점이 없기 때문에 뺐다고 합니다. 8. Forward rendering시 index순서대로 그리지 않게 돼 속도가 더욱 빨라졌습니다. 9. Programmerble과 fixed function shader 혼용이 불가능합니다.
  • 35. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html Shader Update 10. D3D9 쉐이더 컴파일러는 CG2.2에서 HLSL로 바뀌었습니다. Output 변수를 UNITY_INITIALIZE_OUTPUT매크로를 사용해서 완전히 초기화 시켜야 합니다. 또한 float2(4요소값.xyz) 형식으로 바꿔야 합니다. float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal * unity_Scale.w); -> float3 norm = normalize(mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal)); 11. Unity_Scale shader 속성이 없어졌습니다. 이전버전이 메모리 오버헤드를 불러일으켰다고 없애버리고 모든 행렬을 shader로 넘기면서 이제는 GPU에서 수 행됩니다. 때문에 어떤 경우에는 더 비용이 발생 할 수 있습니다. temp.xyzw = v.vertex.xzxz * unity_Scale.xzxz * _WaveScale4 + _WaveOffset -> float4 wpos = mul (_Object2World, v.vertex); temp.xyzw = wpos.xzxz * _WaveScale4 + _WaveOffset;
  • 36. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Shaders.html Shader Update 12. Forward rendering 된 directional 그림자는 이제 shadow collection패스로 분리되 지 않습니다. 카메라의 depth texture 에 의해 deferred lighting처럼 계산됩니다. 그러니깐 모두 LightMode=ShadowCollector는 지워주세요. 셀프로 Depth texture는 더 이상 shader replacement 에서 그려지지 않습니다 이제는 shadowCaster shader passes에서 그려집니다. Camera-DepthTexture.shader는 이제 아무일도 하지 않게 되었습니다. Shadow shader는 back culling을 더 이상 하지 않습니다.
  • 37. 2 버전업 되면서 다른 점 Splash Image Update iphone android
  • 38. 2 버전업 되면서 다른 점 http://docs.unity3d.com/Manual/UpgradeGuide5-Misc.html 그 외... Other script API changes that cannot be upgraded automatically. 이라고 합니다….
  • 39. 3 먼저 개인적인 의견이 들어가 있으며 제 컴퓨 터에서만 그랬을 수도 있습니다. 개개인의 컴퓨터 사양에 따라 상태에 따라 다른 버그가 나타날 수도 제가 언급 한 버그가 나타나지 않을 수도 있습니다. 몇몇 버그는 진짜야… 인터넷에서 주워옴… 사용하면서 발견한 버그들..
  • 40. 사용하면서 발견한 버그들.. UnityVS 연동 문제 Import package 안에 있었는데 이게 없어짐… 그래서 억지로 unitypackage를 찾아서 import 해줘야 함. 요 녀석 있는 위치에 가서 unitypackage 를 검색하면 바로 나옴 클릭해서 셀프 import 3
  • 41. 사용하면서 발견한 버그들.. Light probes 밝기 버그? Unity5 이전버전 Unity5 Surface shader는 무리없이 구동되지만 4.x버전보다는 밝아지는 버그가 있다고 합니다. 유니티측에서도 문제를 인지하고 있다고 하니 좀 더 지켜봐야 할 것 같습니다. 3
  • 42. 사용하면서 발견한 버그들.. Light probes 밝기 버그? 편법으로 light map snap shot을 덮어 쓰는 방식으로 해결하신 분도 있다고 합니다. Light probe 밝기 기준으로 light map을 한번 굽고 light snap shot 파일을 따로 복사 해두었다가, static 배경 밝기 기준으로 light map을 최종적으로 구워준 뒤 미리 복사해 둔 light map snap shot 파일로 대체하는 방법이라고 합니다. 귀찮네요... Unity에서 바꿔주길 기대해봅니다... Light 버그? Light probe와 별개로 lightmap texture가 날아가는 현상이 가끔 나타난다고 합니다. 3
  • 43. 사용하면서 발견한 버그들.. ios 빌드시 프레임 떨어짐 안드로이드는 별 말이 없네요... ios는 unity5로 업데이트시 프레임이 많이 떨어진다고 합니다. 왠지는 저도... UI Text 깨짐 문제 UI Text를 사용하다보면 가끔 텍스트가 제대로 나오지 않고 깨지는 경우가 있는데 play하면 제 대로 나오거나 아니면 다시 텍스트를 작성하거나 크기를 조절하면 해결됨... 3
  • 44. 4 후기 생각보다는 버그가 별로 없는 편안한 예쁜 툴 이라고 생각합니다. 아직 5.0.0버전이라 버그픽스도 한 개도 안됐구요. 더 나아질 테니 다들 유니티 파주세요… 제가 좀 자료 좀 참고하게요… 아 UGUI도 엄청 편해요 NGUI보다. 근데 자료가 별로 없어서 고민이네요. 여러분 유니티 하세요 두 번하세요. 전체적으로 모던해지고 예뻐졌어요…
  • 45. Q&A