본문 바로가기

Graphics/cinema4D with python

baseContainer에 대해 그냥 데이터 저장하는 객체인데 c4d에서 사용되는 객체입니다. 여기에 값을 저장해서 len도 찍을수 있고, 저장해서 다른 함수로 넘길수도 있습니다. 저는 다른 스크립트로 값을 넘길때 baseContainer를 사용했습니다. developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/BaseContainer/index.html?highlight=basecontainer c4d.BaseContainer — Cinema 4D SDK 23.110 documentation Once you’ve set a container value using one type you must neither try to access it using another type, nor o.. 더보기
[c4dpython] How to use excel in c4d python C:\Program Files\MAXON\Cinema 4D R19\resource\modules\python\Python.win64.framework\Lib\site-packages unzip xlrd and xlsxwriter 더보기
[c4dpython] Tag Tag 태그 가져오는 코드 tags = object.GetTags() 특정 태그만 가져오는 건 아래처럼 하면 됩니다. doc = c4d.documents.GetActiveDocument() op = doc.GetActiveObject() wt = op.GetTag(c4d.Tvertexmap) 더보기
[c4dpython] material & texture Create material import c4d material = c4d.Material() material.SetName("Generator Material") material[c4d.MATERIAL_COLOR_COLOR] = c4d.Vector(1, 0, 0) doc.InsertMaterial(material, None) // 여기에 checknames=False 하면 중복된 재질 이름 생성 허용 c4d.EventAdd() Find Material materials = doc.GetMaterials() for mat in materials: Apply material Material를 Texture Tag를 이용해 Object 에 적용합니다. tag = c4d.TextureTag() tag.SetM.. 더보기
[c4dpython] GUI GUI yes no dialog rvalue = c4d.gui.QuestionDialog("Hello") input dialog name = c4d.gui.InputDialog("input:") alert c4d.gui.MessageDialog("This document has not been previously saved, please save it now.") File Explorer (load) 이건 파일탐색기와 함께 파일이름 가져오기 import c4d fn = c4d.storage.LoadDialog() doc = c4d.documents.LoadDocument(fn.decode("utf8")) file_name = c4d.storage.LoadDialog(type=c4d.FILESELECTTY.. 더보기
[c4d python] object 오브젝트 가져오기 for obj in doc.GetObjects(): children = object.GetChildren() import c4d from c4d import gui def test(): o = doc.GetActiveObject() # Only one object # o = doc.GetActiveObjects(0) # return list if not o: return o.SetName('test') c4d.EventAdd() if __name__ == '__main__': test() import c4d from c4d import gui def test(): print 'hello' o = doc.GetActiveObjects(0) if o == []: return newName .. 더보기
[c4d python] 스크립트 사용법 (+ Plugin) Cinema 4D 3D 디자이너들은 다양한 툴을 다루는것 같은데, 그중 Cinema 4D 라는 툴도 유명한것 같습니다. 우연히 기회가 생겨 Cinema 4D 플러그인을 만들어 볼려고 합니다. 😎 환경구축 자동완성이나 Lint도 있는 것 같지만, 일단 제일 기본적인 환경구축을 해볼려고 합니다. Script 탭에서 Console과 Script Manager를 킵니다. 그리고 저는 파이참에서 코딩을 하고, 파일을 Script Manager로 Open 해서 실행을 했습니다. 첫 코드! 선택한 오브젝트의 이름을 출력해보자! obj = doc.GetActiveObject() print obj.GetName() 출력이 되네요! 저 파란색부분을 드래스 해서 위에 버튼으로 만들수도 있습니다😀 하지만 두개를 클릭하면 에러.. 더보기