===== 3D Item modeling rules ===== On this page, you can find our convention for the coordinate systems on object models. ===== Modelling conventions for single, simple objects ===== {{ :3dmodeling:3d_item_modeling_rules.png |}} ===== Modelling conventions for furniture and 'interaction-able' objects ===== * Drawer handles should have the X pointing away from the hand, Z pointing along the handle, Y according to the right-hand rule. If the handle is vertical, Z should point up. The origin should be on the handle bar. {{ :3dmodeling:handle_convention.png?300 |}} * Door joints should have the Z pointing along the joint, such that the rotation happens along Z. * Supporting planes should generally have the Z pointing upwards. X and Y should generally just stay consistent. For drawers, it makes sense to direct X away from the robot / user. {{ :3dmodeling:surface_convention.png?300 |}} * Knobs that are rotational should rotate around Z, a light switch should also rotate around Z and X should point away from the hand, a button is a prismatic joint, so the Z should point along the joint, i.e. away from the hand. Z rule is more important than the X rule here. ===== Modelling conventions for robots ===== * No self collision at initial state (like in reality) ===== Naming convention ===== * Each object should have at least two folders: stl for collision and obj or dae for visual. * File names should be in English and follow the convention of using capital letters to separate words, without any underscores. For example: Apple.obj, Table.obj, DoorHandle.obj, FridgeDoorHandle.obj * For mesh and texture, conventions from Unreal Engine are used, Mesh is prefixed with SM_, Texture is prefixed with T_, Material is prefixed with M_. For example: * {{:3dmodeling:namingconvention.png?400|}} ===== Tutorials to adjust coordinate frame on 3d models ===== * [[https://blender.stackexchange.com/questions/24078/set-origin-to-geometry-center|How to set origin to center of bounds in blender]] * [[3dmodeling:change-pivot-point|Tutorial: Pivot to BoundingBox Center]]