Py学习  »  Python

Python in C4D学习笔记(前言)

3D科研绘图 • 4 年前 • 521 次点击  

*** 废话连篇,毫无意义 ***


说单口相声的郭德纲有一个雅称:坑王。出绘图教程的独孤小编挖起坑来也不遑多让。2017年至今,我陆陆续续挖了3DMAX、C4D、VMD三个大坑,“坑”了近5万科研同胞们。所幸的是在出3D绘图教程的道路上,我一直都没跑偏。究其原因有二:


1、我的数学还可以,尤其是空间几何;

2、我爱学习,自发的那种。


但是,坑不是随便挖的,它要能挖得够大,还得让里面的人躺着舒服。


2018年末开始接触C4D时,我就意识到这是一个不可多得的巨坑。事实证明,C4D真比3DMAX香。改用C4D之后的近一年内,我打开3DMAX的次数简直屈指可数。那C4D到底有哪些地方比3DMAX强呢?有很多,但我懒得说。


因为今天,我不是来安利C4D的。


前几日,我花了8块9毛钱入门学习了Python。其实我早就想学Python了,否则也对不起前面的“我爱学习”四个字。Python可以干嘛?我不是很关心。我也不知道自己学Python的目的是什么,实现一些不可思议的C4D动画?可能吧。仔细想来,我根本就没有目的!


我就是单纯的爱学习啊!


花了两天时间,我大致摸清了Python代码的套路,以及C4D中有哪些地方可用到Python语句。一般学计算机语言上来肯定是要say "Hello World!"的,Python in C4D也不例外。


import c4d
from c4d import gui
# Welcome to the world of Python


# Script state in the menu or the command palette
# Return True or c4d.CMD_ENABLED to enable, False or 0 to disable
# Alternatively return c4d.CMD_ENABLED|c4d.CMD_VALUE to enable and check/mark
#def state():
#    return True

# Main function
def main():
    gui.MessageDialog('Hello World!')

# Execute main()
if __name__=='__main__':
    main()


以上是在C4D的脚本管理器(Shift~F11)中默认的代码,执行结果如下——

(俗!)


换成如下代码后:

import c4d

def main():
    s = c4d.BaseObject(c4d.Ocube)
    doc.InsertObject(s)
    c4d.EventAdd()

if __name__=='__main__':
    main()


执行结果是创建一个立方体——


创建个立方体而已,有必要这么大动干戈么?这一堆什么乱七八糟的,根本看不懂啊。没关系,我也没打算出教程,写在这里纯粹是为了督促自己学习。至少这两天学下来,我看这些代码稍微感觉有点亲切了呢。


好了,就写到这里吧,我要学习去了。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55090
 
521 次点击