From cd5ee48deb41f0ab14c5d5daf3e10094224cd970 Mon Sep 17 00:00:00 2001 From: Jeremy Hu Date: Wed, 18 Apr 2018 20:40:34 +0800 Subject: [PATCH] Add parts list panel interface introduction --- docs/examples/modeling-ant/ant.ds3 | 266 +++++++++++++-------------- docs/examples/modeling-ant/index.rst | 2 +- docs/install.rst | 4 +- docs/interface/parts-list-panel.png | Bin 0 -> 17096 bytes docs/interface/parts-list-panel.xcf | Bin 0 -> 49918 bytes docs/interface/parts_panel.rst | 41 +++++ 6 files changed, 178 insertions(+), 135 deletions(-) create mode 100644 docs/interface/parts-list-panel.png create mode 100644 docs/interface/parts-list-panel.xcf create mode 100644 docs/interface/parts_panel.rst diff --git a/docs/examples/modeling-ant/ant.ds3 b/docs/examples/modeling-ant/ant.ds3 index 89a45453..132ca56c 100644 --- a/docs/examples/modeling-ant/ant.ds3 +++ b/docs/examples/modeling-ant/ant.ds3 @@ -1,149 +1,149 @@ DUST3D 1.0 xml 0000000194 - - + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + ‰PNG diff --git a/docs/examples/modeling-ant/index.rst b/docs/examples/modeling-ant/index.rst index 24d5ddcd..b0e9ddba 100644 --- a/docs/examples/modeling-ant/index.rst +++ b/docs/examples/modeling-ant/index.rst @@ -21,7 +21,7 @@ Modeling in Dust3D #. Click Plus(+) Icon from Tool Box #. Place node on the canvas acording to the reference background. #. Use Mouse Wheel to Adjust the radius of the node, hold shift to slow down the scroll scale. -#. Use the Parts List panel to toggle the settings to make you can easily select or see nodes. +#. Use the Parts List panel to toggle the settings to make you easily select or see nodes. #. Use Mouse Middle button pluse Shift key to rotate and move around the Rendered Model. .. image:: https://raw.githubusercontent.com/huxingyi/dust3d/master/docs/examples/modeling-ant/modeling-ant-dust3d-screenshot.png diff --git a/docs/install.rst b/docs/install.rst index 07f662a4..8bca4954 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -18,4 +18,6 @@ Dust3D haven't yet been released, however, you can try the latest unstable versi Found BUG? -If you have any thoughts while using Dust3D, please don't hesitate to share by drop it here https://github.com/huxingyi/dust3d/issues \ No newline at end of file +If you have any thoughts while using Dust3D, please don't hesitate to share by drop it here, + + https://github.com/huxingyi/dust3d/issues \ No newline at end of file diff --git a/docs/interface/parts-list-panel.png b/docs/interface/parts-list-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..43e28c2ae0dbd44166c40f572bfb02d6bce71227 GIT binary patch literal 17096 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 MNGOPxiW+?UUzk96!TO-gpjZ(F1S!c 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 literal 0 HcmV?d00001 diff --git a/docs/interface/parts_panel.rst b/docs/interface/parts_panel.rst new file mode 100644 index 00000000..6baf110f --- /dev/null +++ b/docs/interface/parts_panel.rst @@ -0,0 +1,41 @@ +Parts List Panel +------------------------ + +.. image:: https://raw.githubusercontent.com/huxingyi/dust3d/master/docs/interface/parts-list-panel.png + +In Dust3D, model consists of parts, part consists of nodes. User manipulats nodes's position and radius, toggle part's settings, then the mesh autogenerated by Dust3D. + +Top Mini Buttons +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +(From left to right) + +* Visible/(H)idden + +Toggle the part's visibility on canvas, the mesh generation would not be affected. You can use it to hide some parts, then make edit other parts not been covered. + +* (J)oin/Not Join(to Final Mesh) + +Toggle the part's enablility, affects the final mesh generation. Unjoined parts would not appear in the result. + +* (L)ock/Unlock + +Toggle the part's edit lock. Locked part would still be visible on canvas, but can not been checked or edited. + +Rendered Part Preview +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Shows the rendered image of the whole part's generated mesh. + +Bottom Mini Buttons +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* (B)ox/Subdivisioned Box + +Toggle the basic unit type of mesh generation. Box means quad face, subdivisioned box means octagon face. If you want more sharp edges, choose box, otherwise choose subdivisioned box to make edges smooth. + +* Thickness Modifier + +This is used when you want make fish body like mesh, or a thin or thick plane. +The are two parameters for this modifier, one controls the thickness along the base plane normal, the other controls the thickness along the perpendicular of base plane normal. + +* Mirror Modifier + +If there are two parts have the same shape but one sit left, the other sit right. It's like the human body, you no need to make the arm part two times, just once, and mirror it. \ No newline at end of file