본문 바로가기
후디니 렌더 셋 모델링 지오메트리생성 - 지오메트리 안에서 모델링을 하도록 합시다. 루트에 바로 프리미티브를 꺼내는게 아니라 지오메트리라고 하는 폴더를 생성해서 그 안에서 세부 모델링을 하는 느낌. 이제 모델링을 본격적으로 합니다. 책상을 만들기. 첫번째 지오메트리 만들고 거기 안에서 박스 생성. 크기 조절하기 . 위치도 조절합니다. 책상 상판 완성 씬뷰 디스플레이 수정하기 단축키 D 눌러서 수정가능 어두워서 마음이 편해짐 여러 지오메트리들을 동시에 보기 지금 작업하고 있지 않은 지오메트리까지 같이 보는 옵션은 여기 다리도 만듭니다. 두번째 지오메트리 생성하고 거기 안에서 박스 만들어 조절 다리 복사하기 . 위치정리. 지오메트리에서 테이블 위로 올리고 바닥 (그리드) 모델링하기 만트라 렌더링하기 조명 만들어주기. 배치시.. 2023. 11. 21.
후디니 인터페이스 / 주소체계 작업환경 소개 창 이름을 봅시다. 왼쪽의 큰 창은 씬뷰라고 불러요. 오른쪽의 위 창은 파라미터 창. 오른쪽 아래 창은 네트워크 뷰. 이게 기본입니다. 오브젝트 생성하기 일단 오브젝트를 생성해 보죠. 네트워크 창에서 오른클릭 혹은 Tab을 누르면 창이 나오고, 거기에 검색해서 만들거나 이름을 써도 돼요 Box를 검색했다고 한다면.. 고대로 저 박스를 선택하고 네트워크 창에서 찍으면 박스가 생성되고, 씬창에서도 보입니다. 그리고 박스를 네트워크 뷰에서 선택한 상태면 파라미터창도 생기는데, 기본 트렌스폼 조절 기능이 들어가 있는걸 볼 수 있습니다. 기본 인터페이스 조절법 각 창의 경계부분 조절법. 경계 부분의 여러 조절방법에 따라 양면을 바꿀수도, 한쪽으로 몰수도 다시 돌릴수도 있다. 창 분할을 하려면 구석의.. 2023. 11. 19.
응원댓글? 후원 받는건가부다...? 2023. 11. 15.
외주를 시작하는 제자에게 해준 기본적인 조언 (옛)제자가 3d 외주를 받았는데 금액산정을 어떻게 해야 할지 모르겠단다. 그래서 간략하게 외주 비용 산출방법을 얘기해 줬다. - 자신의 시급 * 일에 걸리는 시간 계산부터 시작해라 - 거기에 제반비용 (하드웨어 , 소프드웨어 사용비, 복지비, 전기, 임대료 등등) 을 더해라 . (감가상각비) - 거기에 부가가치를 추가로 더해라. 이익은 남아야 할 것 아님? - 창작이 들어가는 작업이면 그 비용은 따로 계산 . - 리테이크와 수정 횟수를 반드시 명시해라. 일정 이상의 리테이크와 수정에는 비용을 추가하는것을 계약서에 꼭 넣어라 - 장기계약이라면 일단 한 달만 계약하고 이후 한 달 후에 다시 재계약 하는걸 추천 그 외에도 세금이나 기타 잡스러운 요령등이 있지만 기본적으로 이정도만 해도 첫 외주로 심하게 뒤통.. 2023. 10. 16.
Lit 셰이더 분석 2 일단 Direct Light의 물리 기반 셰이더 공식을 만듬. 디퓨즈의 반사를 구현. 비메탈에서 디퓨즈에 알베도가 적용된다. 스페큘러의 반사를 구현. 메탈에서 스페큘러에 알베도가 적용된다. 비메탈에서는 4% 의 반사를 보인다. 디퓨스 + 스페큘러 반사 구현해 본 것. Diffuse BRDF GGX Specular Fresnel-Schlick Function Smith's shadow masking function G1 Dielectric BRDF Electric BRDF 2023. 10. 10.
Lit 셰이더 분석 #define kDielectricSpec half4(0.04, 0.04, 0.04, 1.0 - 0.04) // standard dielectric reflectivity coef at incident angle (= 4%) 으로 정의되어 있으므로 half OneMinusReflectivityMetallic(half metallic) { // We'll need oneMinusReflectivity, so // 1-reflectivity = 1-lerp(dielectricSpec, 1, metallic) = lerp(1-dielectricSpec, 0, metallic) // store (1-dielectricSpec) in kDielectricSpec.a, then // 1-reflectivity = .. 2023. 9. 28.
구조체 연습 -- 구조체 연습 struct calcurate ( val = 0, fn add a b = ( val = a + b ), fn sub a b = ( val = a - b ), fn mul a b = ( val = a*b ), fn div a b = ( val = a/b ) ) cal = calcurate() val1 = cal.add 11 22 val2 = cal.sub 11 22 val3 = cal.mul 11 22 val4 = cal.sub 11 12.23 format "val 1 :% val 2 :% val 3 :% val 4 :% \n"val1 val2 val3 val4 구조체는 뭐 구조체죠. 별 게 있나 ㅋㅋ 2023. 8. 29.
MacroScript 만들기 macroScript subobject_Vertex ButtonText: "Vertex" category: "Modifier Stack" internalCategory: "Modifier Stack" tooltip: "Vertex Sub Object Mode" icon: #("SubObjectIcons",1) ( ) 이렇게 메크로 스크립트를 만들면 .. 이걸 저장하고 실행하는게 은근히 귀찮습니다. 일단 경로는 맥스 2024인 경우 아래와 같고 C:\Users\userName\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros 실하면 사실 자동으로 들어갑니다. 메크로스크립트를 인식하는듯.. 그 다음에 이걸 꺼내는게 문제인데 Customize User In.. 2023. 8. 3.
메뉴에 기능 추가하기 macroScript CreateTeapot buttonText: "CreateTeapot" category: "my category" ( startObjectCreation teapot ) macroScript 라는 명령이 있습니다 이 명령의 이름을 CreateTeapot로 하고, 텍스트도 "CreateTeapot" 라고 해줍니다. 카테고리는 "my category" 그리고 이걸 실행하면 teapot 버튼이 누른 상태가 되는 겁니다 . 이 기능은 메뉴에 커스텀으로 버튼을 추가하는데 더 중점을 두고 있습니다. 일단 이걸 실행하면,다음과 같이 됩니다. Customize User Interface 에서 방금 만든 버튼을 찾을 수 있습니다. 너무 많아서 찾기 힘들다면, 카테고리를 지정해 놓았으므로 카테고리를 .. 2023. 8. 1.
Button 만들기 rollout test "test" ( button test_Button "Button" on test_Button pressed do ( test_Button.text = "Button Pressed" ) on test_Button rightclick do ( test_Button.text = "Button RightClick" ) ) CreateDialog test 버튼 만들기는 설명이 필요없을만큼 쉽습니다. 이벤트도 이 두 개 on pressed do on rightclick do 2023. 7. 24.
Depth Texture를 언제 그릴까? Depth Prepass / After Opaque 쉽게 설명해주시려고 노력해주신 고정석님께 감사 인사를 드립니다. Depth(깊이) Depth란 .. Z 버퍼라고도 불리던 그것입니다. 게임하면서 깊이값을 알아야 할 때가 있지요? 그게 depth입니다. 이게 있어야 반투명들이 나올때 어디에 가려질지 파악할 수 있다던가, 기타 여러 효과들을 위해서라도 꼭 있어야 하는 데이터예요. 이게 없으면 반투명들이 그려질때 Z 가 없으니까 전부 다 그냥 화면 앞에 와다다다다 그려질걸요. 혹은 굴절이나 DOF와 같은 포스트 프로세스, 기타 소프트 파티클 등 깊이를 가지고 조작해야 하는 모든 기법들에 필요한 것이 이 깊이값입니다. 이건 자동으로 생기는게 물론 아니죠. 저것도 날 잡아 (?) 그려야 합니다. 그래서 '언제 그릴 것이냐' 라는 말이 생기게 되는 것입니다. 일반.. 2023. 7. 20.
롤아웃에 비트맵 띄우기 mapName = "D:\Ft00zXfaYAMUWAn.png" map = openBitMap mapName try(DestroyDialog test) catch() rollout test "비트맵 롤아웃" ( ) CreateDialog test width:512 height:512 bitmap:map bmpstyle:#bmp_center #bmp_center #bmp_tile #bmp_stretch bmpstyle:#bmp_tile bmpstyle:#bmp_stretch 2023. 7. 19.
반응형