본문 바로가기
도타2(Dota2) 캐릭터 아트 / 텍스쳐 / 쉐이더 가이드 문서 http://dota2.nexon.com/Contest/Guide/page/Workshop.html 보통 프로젝트를 시작할 때 이런 가이드 문서를 만들고 시작하곤 하죠. 그리고 그러기 위해서 몇 달의 R&D 과정을 거치곤 합니다. 이 문서는 그런 가이드 문서중 상당히 수준높고 깔끔하게 만들어진 문서입니다. 공모전 용이지만 현업에 바로 써도 될 수준의 문서지요. 아마도 회사에서 쓰는 걸 그대로 가져온 것 같습니다만. 환상정원님의 블로그에서 보시면 PDF 뷰어가 없어도 볼 수 있습니다. http://blog.naver.com/blue9954/50177441414 2015. 7. 1.
유니티5의 Occlusion은 어떻게 따로 연산되는가? Occlusion 연구 오즈라엘이 내 질문에는 답 안해주면서 나보고는 질문하길래 만들어본 답변입니다. 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 오즈라엘이 내 질문에는 답 안해주면서 일단 유니티 PBS 강의에 보면, "Albedo는 Diffuse에서 Occlusion을 뺀 것" 이라는 말이 나옵니다. 그리고 따로 Occlusion을 집어 넣지요. 그러면 Occlusion은 어떻게 가동되게 되어 있는지 봅시다. 그냥 Albedo * Occlusion으로 계산되면, 사실 뺄 이유가 없잖아요? 뭔가 다르게 계산되니까 빠진거겠죠. 그래서 일단 커스텀 라이팅으로 Standard Metallic Shader를.. 2015. 6. 29.
Custom Standard Shader에서 Occlusion Texture 사용할때 안 나타나는 문제 강의용으로 Custom Shader를 만지고 있는데 이게 은근히 바뀐게 많아서 고생중입니다. 하나씩 해결중... 블렌딩 구문도 처리 방식이 변해서 변칙방법 찾느라고 고생했구요. 그거랑 또 고생중인게 있는데 Occlusion... 이게 아무리 해도 안들어가서 고생하다가 이유를 찾았습니다. 분명히 Albedo에 넣으면 잘 나오는게 Occlusion에 넣으면 안나와서 한참 고생중.... 이름문제인가? 레지스터 할당 문제인가??? 아니 3.0에서 이것밖에 못 쓸리가 없잖아.. 아직 8장도 안되었는데... 찾은 답은 이거였습니다. Occlusion은 그 특성상 다른 UV와 같은 것이 일반적이죠. 그래서인지, Occlusion용으로 따로 UV를 받아서 쓰면 출력이 안되지 뭡니까... Occulsion에 사용하려면 .. 2015. 6. 29.
유니티5 실시간 GI 이상현상 연구 : Unity5 Realtime GI 학생작품에서 리얼타임 GI 렌더링만으로 이런 결과물이 나오는 문제가 발생했습니다. 일단 느낌적인 느낌으로는 GI 렌더링 시에 서로 클러스터가 멀리 떨어지면서 나오는 문제라던가.. 하여간 클러스터의 연관관계가 끊어진 느낌의 결과물이었습니다. Baked는 하지 않고 Only 리얼타임 Gi 입니다. 일단 이 팀의 데이터를 보니 심각 ;;;; 전부 한덩어리로 맥스에서 한방에 넘긴 데이터인데다가 저 이상한 찌꺼기들은 뭘까요 실제 오브젝트를 불러봐도 엉망인걸로 봐서 원래 만들때 저렇게 만들었나 봅니다. 나중에 삭제라도 한건가... 설마 저 위치에 있는걸로 인식해서 생긴 문제인가 싶어 생각해 봤는데 그거랑 모양은 좀 다르긴 합니다. 그 문제는 일단 아닌걸로 가정. 게다가 물어보니 이 데이터를 기반으로 대규모 삭제를 .. 2015. 6. 16.
유니티 안드로이드 텍스쳐 포맷 (Unity Android Texture Format) 의 비밀 비밀..이라지만 그렇게 거창하진 않습니다 허허허 그냥 뭐 조금 정리할 필요가 있어서 쓴 것 뿐이지요. 일단 유니티에는 여러 가지 텍스쳐 포맷이 있고, 그것들은 대부분 자동으로 선택이 되곤 합니다. 물론 Advanced로 하게 되면 이렇게 세부적으로 설정이 가능하지만, 이렇게까지 하실 분들은 별로 없겠죠. 게다가 이걸 하나 하나 다 설명하고, 유니티에서 사용되는 자동포맷이랑 연결해서 설명하려면 책으로 한 20페이지는 넘을겁니다 (...) 그러므로 여기서는 요약해서! 안드로이드! 에서만! 자동으로!! 사용하는 포맷에 한정해서 얘기하죠. 아참! ETC2는 빼겠습니다. 자동으로 설정되지도 않고, 아직 범용으로 사용되는 포맷도 아니라서요. 일단 기본적인 것. 다 아시겠지만 ... 유니티 엔진에는 어떤 텍스쳐라도 .. 2015. 6. 5.
Unity Standard Shader 분석 - 일단 기본적으로 Standard Shader는 Uber Shader로 짜여져 있다. - 그래서 중간에 주요 라이팅 함수들이 분기가 된다. 특히 핵심 조명 코드인 BRDF 코드는 3.0 지원버전, 2.0 지원 버전, 모바일 버전으로 3가지로 분기된다 (어, 맞던가? 좀전에 봤는데 기억이 안나..) - 지금 아래는 서피스 쉐이더로 구현하던 것이다. 분기는 없애고 걍 3.0 지원버전으로 ... - 라이팅을 커스텀으로 한 것 뿐이다. - 분석하다가 중간에 정지한 것. 지금 라이팅 구문에서는 light.ndotl이 부분을 찾아야 한다. 일단 결과물만 테스트 해 보게 만든 녀석이다. 이 녀석은 어디 숨어 있는 걸까... - 그래서 지금 결과물 리턴은 NdotL이다. - 하프 렘버트라도 구현하려면 일단 ndotl.. 2015. 5. 28.
Unity 5 standard 2side shader 유니티용 2side Standard Shader 세트 2 side Standard Shader for Unity 5 2side Standard Shader (Specular Setup) for Unity 5 학생들이 자꾸 만들어 달래서 걍 공유. 뭐 힘든거라고 이걸 기본으로 안넣어주는지 모르겠다. 그냥 기본에다가 분기 하나만 넣어주지. 2015. 5. 27.
Hardware GPU Information : GLES3.0 Divice Hardware GPU Information Since the introduction of the original iPhone, Apple has continued to improve the GPU capabilities in new iOS devices. When you write a Metal or OpenGL ES app, you need to understand the specific limits of each device you app runs on. Currently, two distinct GPU categories are in common use: The Apple A7 and A8 GPUs The PowerVR SGX 543 and 554 GPUs Table 2-1 lists the de.. 2015. 5. 21.
UV scroll script using UnityEngine; using System.Collections; public class NxTextureUVScroll : MonoBehaviour { private Vector2 texcoord = Vector2.zero; public int materialIndex = 0; public string textureName = "_MainTex"; public Vector2 UVaniRate = new Vector2(1.0f,1.0f); private Vector2 TexUVScale; void Start(){ TexUVScale = GetComponent ().material.GetTextureScale(textureName); } // Update is called once per f.. 2015. 5. 7.
<사진많음>5월 1일 청강 졸업작품 전시회 최종 리허설 오늘 마지막 리허설이 열렸습니다. 이제 돌이킬수도 없음... QA 팀의 비장한 테스트 보고서부터 각 개발팀의 괴랄한 발표이벤트까지.... 5월 1일 13시에 청강문화산업대학에 오시면 이런걸 보실 수 있으십니다. 자세한 내용은 여길 참고... http://chulin28ho.tistory.com/292 2015. 4. 28.
2015 청강 크로니클 (졸업작품 전시회) 청강 게임 크로니클 재학중인 3학년들이 게임 스튜디오에서 1년동안 제작한 작품이 전시되는 게임콘텐츠 스쿨의 가장 큰 행사입니다. 재학생과 예전 졸업생들을 비롯하여 외부 손님들의 참석도 자유로운 행사이므로, 많은 관심 부탁 드리겠습니다. 실제로 프로젝트까지 훌륭히 진행해 본 경험이 있는 포텐셜 높은 신입 개발자들을 찾으실 수 있는 좋은 기회이기도 합니다 13시부터 행사가 시작하며, 2학년들의 모바일 게임 우수작 발표를 시작으로 QA 팀과 10여 개의 졸업작품팀 게임 개발팀의 결과 발표가 이루어지게 됩니다. 이 게임들은 또한 한 학기 동안 추가로 다듬어서 지스타에 출품하게 됩니다. 또한 이 시간은, 좋은 인력시장이기도 합니다! 아직 졸업도 안한 학생들이기 때문에, 핵심인재들이 처음으로 외부에 선보이는 자리이.. 2015. 4. 26.
Unity 5.0 Shader 자료들 struct SurfaceOutput { fixed3 Albedo; fixed3 Normal; fixed3 Emission; half Specular; fixed Gloss; fixed Alpha; }; 은 그냥 존재한다. inline void LightingBlinnPhong_GI ( SurfaceOutput s, UnityGIInput data, inout UnityGI gi) { gi = UnityGlobalIllumination (data, 1.0, s.Gloss, s.Normal, false); } 처럼 GI 연산을 커스텀 라이팅에 포함할 수 있다. 이런 자료는 기본적으로 예전처럼 Lighting.cginc에 내장되어 있다. 그리고 아래는 UnityPBSLighting.cginc에 내장되어 있다.. 2015. 4. 23.
반응형