5.7 - Simple Car Example Using Functions
2015-11-19 01:49
330 查看
import maya.cmds as cmds def create_car(name, length =2 , width = 1): body = create_body(length, width) tires = create_tires(length, width) final_name = assemble_car(name, body, tires) cmds.select(clear=True) return final_name def create_body(length, width): body = cmds.polyPlane( w = length, h = width, name = "body") return body[0] # transform node def create_tires(body_length, body_width): tire_width = 0.25 * body_width tire_radius = 0.25 * body_length x_pos = 0.5 * body_length z_pos = 0.5 * body_width + 0.5 * tire_width fl_tire = create_tire("front_left_tire", tire_width, tire_radius, x_pos, 0, -z_pos) fr_tire = create_tire("front_right_tire", tire_width, tire_radius, x_pos, 0, z_pos) rl_tire = create_tire("rear_left_tire", tire_width, tire_radius, -x_pos, 0, -z_pos) rr_tire = create_tire("rear_right_tire", tire_width, tire_radius, -x_pos, 0, z_pos) return [fl_tire, fr_tire, rl_tire, rr_tire] def create_tire(name, width, radius, tx, ty, tz): tire = cmds.polyCylinder(h = width, r = radius, ax = (0, 0, 1), sc = True, name = name) cmds.setAttr("{0}.translate".format(tire[0]), tx, ty, tz) return tire[0] def assemble_car(name, body, tires): body_grp = cmds.group(body, name = "body_grp") tires_grp = cmds.group(tires, name = "tires_grp") car_grp = cmds.group(body_grp, tires_grp, name = name) return car_grp if __name__ == "__main__": final_name = create_car("test_car") print(" Car created: {0}".format(final_name))
相关文章推荐
- 5.5 - Pass by Reference
- 5.4 - Args, Keywords Args and Defaults
- angular源码分析:angular中入境检察官$sce
- 5.3 - Return Statements
- 5.2 - Function Basics
- 5.1 - Introduction to Functions
- BufferedRead @ BuferedWrite 在Socket中的问题
- 4.6 - Maya Commands: select
- 4.5 - While Loops
- 基于Smack3.0.4+ Openfire3.10.2开发之Android 客户端之三
- 4.4 - For Loops
- 4.3 - Maya Commands: Errors and Warnings
- HTML5游戏制作之路_03_egret的资源加载机制
- Webkit之组成/Chrome组成
- 4.2.2 - Logical and/or Operators
- Webkit之理解webkit/chrome的目录结构
- 4.2.1 - Flow Control Using If/Else Statements
- Webkit之CSS基础介绍
- 缓冲区溢出攻击实验(二)
- 黑马程序员_iOS_C_指针