사내스터디용 자료정리 유니티 쉐이더 교육 1. 유니티 쉐이더 기본 구조 참고자료 : 유니티 게임 개발의 정석 1. 렌더링 패스 포워드 라이팅 디퍼드 라이팅 : 모바일에서 지원안됨 버텍스 라이팅 2. shaderLab 추상화된 셰이더 시스템 - 멀티 플렛폼 셰이더를 생성시켜줌 셰이더랩 CG 구문 - 윈도우 hlsl - 맥 Glsl - 모바일 GLSL/ES - 엑박 HLSL - 플스 CG 3. 내장 셰이더 규칙 diffuse specular bumped transparent / cutout parallax self-illumin Reflective Vertex- lit Unlit Mobile 4. Shader 제작 시스템 Surface Shader Vertex Fragment Fixed function surface shader.. 2014. 1. 5. 스터디 예습 / 렌더몽키 셀쉐이딩 내일 세미나를 위해 간단히 손풀기 예습. 실제 하는건 몇 분 걸리지도 않지만 딴짓하느라 오래 걸렸다. 여기서 좀 개념을 잘못 가지고 있었던 부분을 포프스승님과 얘기하느라고. 개념을 애매하게 가지고 있던 부분은 '조명을 월드 역행렬 연산하는 것이 어째서 주전자의 로컬영역으로 조명을 이동시키는 결과가 되냐' 라는 개념이었고, 그 답은 다음과 같았다. 1. 조명은 원래 월드 행렬이다. 2. 주전자는 로컬에서 월드 - 카메라 - 프로젝션을 거친 상태다. 3. 여기서 받아온 '월드 역행렬'이라 함은 새로운 값이 아니고, 주전자의 월드 행렬을 뒤집은 것 뿐이다. 4. 그러므로 원래 월드에 있던 조명을 주전자의 역행렬로 뒤집어 주니 조명이 주전자의 로컬 공간안에 들어오게 된 것이다. 그전에는 조명은 월드에 있었고 -.. 2014. 1. 4. 지국환님 유니티3D 책 추천사 '누구나 쉽게 게임을 만들 수 있다' 사실 게임 제작이라고 하는 것은 고난도의 프로그래밍과 그래픽, 사운드와 기획력까지 어우러진 섬세하고 복잡한 종합예술작품이므로, 그동안은 대규모의 자본을 가진 회사가 아닌 일반인들이 쉽게 접근할 수 없는 영역이었던 것이 사실이었습니다. 그렇기 때문에 몇 년 전만 해도 '누구나 쉽게 게임을 만들 수 있다'라는 말은 매우 낯설은 말이었습니다. 그러나 마치 고성능 홈 비디오 카메라와 플레이어의 보급으로 인해 개인이 극장을 통해 영화로만 볼 수 있었던 품질의 영상물을 쉽게 제작할 수 있게 된 것처럼, 게임에서도 그러한 혁신이 유니티 3D 라는 프로그램에 의해 이루어 지고 있습니다. 또한 스마트폰의 대중화로, 강력한 멀티 플렛폼 기능을 가지고 있는 유니티3D는 전세계의 게임 엔.. 2013. 12. 24. 게임 중독법 반대 서명 운동 http://www.k-idea.or.kr/signature/signature.asp 완전히 잠수중인 블로그이지만, 이거 한 번 안올리면 아무래도 평생 후회할것 같단 말이죠. 일단 제 입장은 게임쪽에 어떠한 안전장치가 있기는 해야 한다고 보지만, 밑도끝도없이 싸잡아서 마약취급하는 작금의 사태는 분노를 금치 못하겠군요. 제 의견은 게임이란 누텔라처럼 엄청나게 맛있는 초코렛이라는 겁니다. 당연히 먹으면 행복해지고, 또 먹고 싶어지고, 너무 많이 먹으면 건강에 위험할 수도 있는 겁니다. 아이들을 위해서라고요? 아이들이 뭘 먹는지는 그렇게 잘 알면서 왜 아이들이 뭐하고 노는지는 관심이 없는거죠? 먹는 것도 비만세 얘기도 있지만, 오히려 비만세는 지방함량이 높은 항목에 제한되어 있고 그나마도 논란이 많은 항목이죠.. 2013. 11. 8. 14일만에 0에서 60프레임 만들기 원문 링크 : (링크) "14일만에 0에서 60프레임 만들기" Unity3D를 사용하여 우리의 게임을 최적화시키면서 배웠던 것들 부드러운 게임 플레이는 매끄러운 프레임 레이트를 기반으로하는데, 아이폰과 아이패드를 대상으로 60프레임에 이르게하는 것은 우리의 다가오는 액션 게임, Shadow Blade의 중요한 목표였다. (http://shadowblade.deadmage.com) 다음은 우리가 고려해야 했던 것과 성능을 개선시키기위한 게임 내의 변화, 그리고 집중적인 최적화 기간 동안 목표 프레임에 도달하게하는 것들에 대한 요약이다. 기본적인 게임 기능이 잘 작동되고 난 후, 목표로 설정한 게임 성능을 만족시켜야 했다. 우리의 주요 성능 측정 툴은 내장 유니티 프로파일러와 Xcode 프로파일링 툴이였다... 2013. 10. 29. what is a "bent normal" ?? http://forums.cgsociety.org/archive/index.php/t-66758.html I only use this term in the context of ambient occlusion. Ambient occlusion refers to the exposure of each point on a surface to its surrounding ambient environment -- that is all objects/lights which cast ambient light into the scene. Usually this is a sphere enclosing the scene which has some HDR texture map casting light mapped onto i.. 2013. 10. 8. SSE (Strumpy Shader Editor) 정리 . 시간날때마다 계속 업데이트 SSE 연구 시작. 일단 노드가 알고 있는 그게 맞나 확인해 볼 필요가 있어서 시작.. 일이 바빠서 조금씩 업데이트 하네요. SSE가 뭔가요? SSE (Strumpy Shader Editor) 란 언리얼의 메터리얼 에디터나 shaderFX 처럼 노드구조로 셰이더를 짤 수 있게 해주는 툴입니다. 문제는 이게 유니티의 독창적인 셰이더 구조에 맞춰서 되어 있기 때문에 다른 셰이더 에디터랑은 조금 다른 개념이 들어 있다는 거. (라이팅 노드가 독립되어 있습니다) 또 하나는, 아티스트를 너무 무시했는지 -_- float 이나 float2 구조까지 전부 억지로 float4로 강제로 맞춰놨습니다. 그래서 0 이 float4(0,0,0,0) 으로 되어 있다는 괴이한 구조. 즉 학습용이나, 셰이더 최적화따윈 거의 중요하.. 2013. 2. 10. 자동차 디자이너의 정신 너무 좋은 글이어서 퍼왔습니다. 제가 주장하는 '모든 게임 아티스트들은 어느 정도 TA가 되어야 한다' 라는 모토와 완전 걸맞는 얘기. 기능을 이해못하고 그리는 그림이 과연 좋은 값어치를 받을 수 있을까요? 게임 제작 기술에 대해서 전혀 모르면서 게임 그래픽을 한다는 얘기는 해부학을 모르면서 인체를 그린다는 것과, 건축을 모르면서 건물을 디자인 하는 것과 같다고 봅니다. 진정한 아트는 기술을 포용하고 이해하는 데에서부터 시작한다고 생각해요. 이미 애플의 제품에서 그런 것을 살짝 보지 않았던가요? http://m.vingle.net/posts/87115-%EC%9E%90%EB%8F%99%EC%B0%A8-%EB%94%94%EC%9E%90%EC%9D%B4%EB%84%88%EC%9D%98-%EC%A0%95%EC.. 2013. 2. 6. 배경 타일 그래픽 리소스 제작의 키포인트 1. 배경과 캐릭터를 돋보이면서 방해하지 않을만큼 차분해야 한다. 2. 그러면서 자체적으로 너무 단순해 보여서는 안된다. 3. 공통적인 색감을 가지고 있어야 하지만, 미묘하게 복잡한 색으로도 느껴져야 한다. 4. 타일링이 보여서는 안된다. 이음매가 보이면 그 부분부터 타일로 느껴진다. 5. 커다란 무늬가 강조되어도 안된다. 무늬가 타일로 느껴지게 된다. 6. 크게 봤을때나 작게봤을때도 이쁘게 보이도록 설계해야 한다. 2013. 2. 5. ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 연재종료 안내 마지막회입니다 :) 그래도 꽤 오래 했어요. 첫 강의가 2011년 12월 18일에 한 거니까 우왘ㅋㅋ 1년 훨씬 넘었잖앜ㅋㅋㅋ 게대포에서 나보다 더 오래 연재한 사람 있으면 나와보라고 그래 ㅋㅋㅋ 근데 정말 빨리 지나갔네요. 처음에 이거 연재하겠다고 포프님하고 얘기할 때가 생각나네요. 그 때 대충 '한 20강 하지 않겠어요?' 라고 했는데 ...부왘ㅋㅋㅋ 벌써 19강이라니요 ㅋㅋㅋ 사실 이것 이후로도 연재할 수 있는 내용은 더 있습니다. smoothstep을 이용한 fake SSS라던가, 으악 specular 얘기는 한 마디도 안했었군요 세상에 이런 왓더. 그리고 Reflection 이나 Refraction도 한 마디도 안했어요 어머나 세상에... 나 연재 끝내도 되는거니... 그림자... 같은것도 이걸.. 2013. 1. 13. [마지막회]ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 19강 자아 오늘은 그럼 진짜 마지막회로, 외곽선을 구현해 보겠습니다. 사실 외곽선 구현은 shader로 해야 하는데, shaderFX로 구현해 보려고 해 봤더니 기능이 부족한 부분이 있더군요. 첫 번 째 방법은 그냥 하면 되니까 문제 없는데... 두 번째 방법이 문제가 있어요. 일단 면을 뒤집어야 하는데, 앞면만 컬링하는 기능이 없어요 ... 그리고 vertex의 normal을 받아와야 하는데, vertex normal은 없고 surface normal만 있네요. 써봤더니 일단 뭐 작동은 하길래 뒤집는거 외에는 잘 되나보다.. 했더니, 이번엔 max의 normal 뒤집기 기능과 충돌이 나는지, 뒤집어도 안 나오더라고요. 그래서 에라 모르겠다 하고 두 번째 방법은 그냥 맥스 기능으로 설명해 버리려 합니다. 자 .. 2013. 1. 13. ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 18강 Diffuse Warping을 이용한 고급 셀 셰이딩 18강입니다! 저번 시간에 이어서 만화같은 툰셰이더를 만드는 얘기를 계속 해 보도록 하지요. 원래는 오늘 외각선을 해버리고 끝내려 했는데, 저번 강의의 리플에 재미있는 얘기가 씌여 있어서... 후후후 계획을 좀 바꿨습니다. 지난 번에는 if 문을 이용해서 1 ~ -1 까지 되어 있던 조명값을 딱! 한 숫자로 나눠서 두 가지 색상으로만 이루어지게 만들었습니다. 일정 숫자보다 크면 흰색을, 일정 숫자보다 작으면 붉은 색을 말이죠. 그 예제가 아래입니다. if문을 이용해서, 0보다 크면 무조건 흰색을 내놓고, 0보다 작으면 무조건 붉은색을 내놓으라는 내용이었습니다. 이것 말고 ceil 함수를 이용한 방식도 있었는데, 저번 시간 반응이 별로 안좋아서 설명 안.. 2013. 1. 13. 이전 1 ··· 40 41 42 43 44 45 46 ··· 49 다음 반응형