Commit Graph

57 Commits (71ccb2b71f0331990d11883952642de36a293fe3)

Author SHA1 Message Date
Jeremy Hu 71ccb2b71f Fix mouse handling for render model
Before we use a tricky way to share mouse event between model render widget and model edit widget, which forward the event from render widget to edit widget. This will cause some problem, such as the scroll bar of edit widget would not work when it covered by the render model.
Now the mouse event is totally disabled in the render widget, and when there is a need we forward it from edit widget.
2018-10-24 16:54:18 +08:00
Jeremy Hu e22a6de6cb Add poses list view
Added Add, modify, delete, copy, and paste poses. The paste menu for nodes not show up also got fixed in this commit.
2018-09-21 15:10:18 +08:00
Jeremy Hu f163522aa2 Change hotkey 'Tab' to 'E'
The Tab key conflicts with system's hot key. Now, should use 'E' to switch the selection from one color to the other.
2018-09-19 00:04:23 +08:00
Jeremy Hu 48bc8df5c3 Add auto-rig
This is the second version of auto-rig, differing from the first version, the user should pick up a rig type, unless no rig will be generated. Currently, only supports Tetrapod without tail. Export as glTF format to test this feature.

This commit also achive better quality quads than before.
2018-09-14 17:45:05 +08:00
Jeremy Hu 9a3dfb8ff2 Add view rotation 2018-09-03 15:05:05 +08:00
Jeremy Hu fe401a5f13 Change connect nodes behavor.
If hovered target is not editable, create new node instead of connect existed nodes.
2018-09-02 07:48:38 +08:00
Jeremy Hu 717c8ef266 Add select by component 2018-09-01 10:17:26 +08:00
Jeremy Hu df9c8e8e3c Add wrap button to enable use controlled convex hull generation for part.
This feature could be useful to generate complex mesh as part.
2018-08-31 12:54:32 +08:00
Jeremy Hu 134078fc05 Fix direction key conflict with zoom function 2018-08-29 23:42:04 +08:00
Jeremy Hu 623dda6ecf Replace parts list with parts tree and remove immature features 2018-08-27 16:50:40 +08:00
Jeremy Hu 51bf40de01 Add rotate along single node.
If multiple nodes or end effector node been selected and rotate, the behaves remain the same as before, however, if single node in the middle been selected and rotated, all the children of this node will be rotated. This could be useful to rotate the tail or leg from joint.
2018-06-29 14:55:32 +08:00
Jeremy Hu 4679381512 Add XZ switching menu item 2018-06-21 16:24:18 +08:00
Jeremy Hu 35635534c2 Fix typo 2018-06-15 22:54:19 +08:00
Jeremy Hu 082b470f8a Fix block caused by delete operation 2018-06-15 19:54:13 +08:00
Jeremy Hu e26095981b Add rotate operation to menu
- Add rotate 90/-90 degree to facilitate nodes editing
- Enable docs.dust3d.org domain
2018-06-15 17:58:46 +08:00
Jeremy Hu d05c43d714 Add animation clip: Idle
This is an experiment test of animation clip generation. Mark leg and spine nodes to enable it or check it with the latest mosquito.ds3 example;
Skeleton offset is been fixed in this commit.
2018-06-15 13:34:41 +08:00
Jeremy Hu f2625a7ca2 Add more align options.
- Add local align.
- Fix crash in multiple nodes collapse case.
2018-06-02 17:34:48 +08:00
Jeremy Hu 6c10ad1ee2 Add node mark.
User can mark selected nodes as specified body location explictly. This will help the rigging step generating more reasonable result, also prepared for the future animation clip generation.
2018-05-30 09:51:38 +08:00
Jeremy Hu 473fa9f7d9 Add alternative method to zoom rendered model.
- Add "ALT + <Minus | Equal>" combined key to zoom rendred model besides the wheel event.

Special thanks to @glasyalabolas for https://github.com/huxingyi/dust3d/issues/4
2018-05-24 15:08:57 +08:00
Jeremy Hu df98193091 Add end-effector pulling (Shift + Left Button on end-effector).
- Implement CCD (Cyclic Coordinate Descent) IK (Inverse Kinematics) algorithm
- Add end-effector pulling operation, this would be useful when you want to pull a group of nodes in line to align straight or mimic curl.
2018-05-24 09:44:40 +08:00
Jeremy Hu 6268852e59 Fix copy/paste selection state.
In the previous version, the nodes get selected and copied, without lost selection after new nodes pasted.
This commit fix this problem. Now, the old nodes lose selection while new pasted nodes gettting selected.
This feature will make the following use case much easier:

Extrude:
Select some nodes, copy, paste then scale.
2018-05-12 18:07:46 +08:00
Jeremy Hu 429e2c98c1 Fix symmetry.
The symmetry feature is not funtional when there is no turnaround reference sheet loaded.
This should fix the problem by load a empty background image.

Thanks @xtvjxk123456 for addressed this issue, https://github.com/huxingyi/dust3d/issues/6
2018-05-11 23:06:54 +08:00
Jeremy Hu 1376af237b Add auto uv unwrapping.
Use https://github.com/Thekla/thekla_atlas to generate the texture.
This commit still have some issues, some faces not satisfy thekla_atlas in some cases.

- Add texture preview widget.
- Fix single node black color issue.
- Export texture in .gltf file.
- Fix node order random issue in mesh generation.
2018-05-08 00:08:19 +08:00
Jeremy Hu 331051879d Add parts color configure and round-able configure.
- Add End-Round Type Toggle to Parts List Panel (Thanks @Alistair401 for proposing this feature).
- Add Parts Color Picker to Parts List Panel.
- Add Parts List Panel Context Menu to facilitate multiple parts visible toggle.
- Add Material Export to Export Menu.
- Prepare the source code for the auto skeleton exporter and uv unwrapper.
2018-04-26 10:23:22 +08:00
Jeremy Hu ca1b938e2c Highlight all profiles when mouse hovered
Implement the feature as been proposed in this video:
https://www.youtube.com/watch?v=YBnEQk_5D70

Thanks Serapth and his amazing youtube channel - Gamefromscratch for proposed this feature

Serapth's Reddit: https://www.reddit.com/user/Serapth
Gamefromscratch Youtube Channel: https://www.youtube.com/channel/UCr-5TdGkKszdbboXXsFZJTQ
2018-04-21 08:23:27 +08:00
Jeremy Hu e9c0bf8a3c Fix overlapped nodes pick
> The circles representing nodes in the model get overlapped very easily and it can be hard to select individual ones
> @Alistair401

> For overlapping nodes, you can make it a bit better by selecting the node center nearest the mouse, rather than simply checking against the wider circle.
> @hdu

Thanks the following reddit users:

https://www.reddit.com/user/Alistair401
https://www.reddit.com/user/shadowndacorner
https://www.reddit.com/user/hdu
2018-04-20 15:38:08 +08:00
Jeremy Hu b0bdfe3742 Add more shortcuts for part manipulation.
H: (H)idden
J: (J)join
L: (L)ock
B: (B)ox
M: (M)irror

When xyz pressed without ctrl modifer:
X: X-axis
Y: Y-axis
Z: Z-axis
2018-04-18 11:14:48 +08:00
Jeremy Hu 402ee09350 Add selection profile switch.
Tab key press switch the profile of selection, this makes the item more easy to be selected on the other profile and then switch to this profile to edit, while the item is very hard to be selected in this profile.
2018-04-18 10:16:54 +08:00
Jeremy Hu fe11e097d9 Add check part and show part check status.
Now can check part from part list widget, double click it will check the whole part to graphics view, and also, if the part's node or edge been hovered or checked, the first one's part will be highlighted in the part list.
2018-04-18 09:49:23 +08:00
Jeremy Hu dd976b7fc2 Adjust color theme for part list mini button to make a better visible effect 2018-04-16 20:06:48 +08:00
Jeremy Hu bdb893eb1d Add [align to center] action 2018-04-16 15:12:53 +08:00
Jeremy Hu 0d4c926476 Fix origin item position not get updated when window resized 2018-04-15 20:50:56 +08:00
Jeremy Hu 44a8ca6351 Add part mirror 2018-04-15 20:11:51 +08:00
Jeremy Hu 30971048de Add zoom/scale/rotate/move key 2018-04-13 09:27:28 +08:00
Jeremy Hu 8a6dd60450 Add editable check when select 2018-04-13 08:19:31 +08:00
Jeremy Hu 8c37bc06dc Add group rotation 2018-04-13 08:04:18 +08:00
Jeremy Hu 8773ddd7ef Fix group move 2018-04-12 22:35:50 +08:00
Jeremy Hu 47bb8b5f0b Add alt modifier for range selection 2018-04-12 21:24:51 +08:00
Jeremy Hu dbe7f1828d Add nodes connect 2018-04-12 20:46:13 +08:00
Jeremy Hu 2d5b6eca9b Add edge break 2018-04-12 20:27:21 +08:00
Jeremy Hu 235233fe5d Add shortcuts(S: Select Mode / D: Drag Mode) 2018-04-11 23:15:38 +08:00
Jeremy Hu e1e4953dec Seperate model render view control and edit view control 2018-04-11 23:06:30 +08:00
Jeremy Hu f0e68d9f7a Change rendered model move button from left to middle 2018-04-11 20:49:00 +08:00
Jeremy Hu 28a95aedee Only allow item been selected when visible 2018-04-10 16:44:02 +08:00
Jeremy Hu 38fb0c022a Add main menu.
- Add about window,
- Add acknowlegements window,
- Add multiple documents support.
2018-04-10 15:59:20 +08:00
Jeremy Hu f47148a537 Cleanup and reset initial render angle 2018-04-09 23:10:23 +08:00
Jeremy Hu 2a7554b852 Make uncheckable menu items invisible 2018-04-09 22:37:20 +08:00
Jeremy Hu 62fdcbdced Add flip 2018-04-09 22:24:30 +08:00
Jeremy Hu 5e97e3d268 Add single node mesh 2018-04-09 19:13:34 +08:00
Jeremy Hu f49e88484f Add cut/copy/paste 2018-04-09 16:46:06 +08:00