Opened 5 years ago
Closed 5 years ago
#3560 closed enhancement (fixed)
figure 8 camera motion
Reported by: | Tristan Croll | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | General Controls | Version: | |
Keywords: | Cc: | Elaine Meng | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-1127.13.1.el7.x86_64-x86_64-with-centos-7.8.2003-Core ChimeraX Version: 1.0 (2020-06-04 23:15:07 UTC) Description Would be good to have a command ("rock", perhaps) that sets the camera following a smallish figure-8 in space while always pointing at a fixed center of rotation. It's implemented in PyMol as "nutate" and VMD as "Rock and Roll (XY Lemniscate)". Something I really liked using back in my VMD days - it's really useful for creating short looping videos that give a good idea of 3D depth while remaining focused on whatever it is you want to show. Log: UCSF ChimeraX version: 1.0 (2020-06-04) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > help help:user OpenGL version: 3.3.0 NVIDIA 450.51.05 OpenGL renderer: TITAN Xp/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: Dell Inc. Model: Precision T5600 OS: CentOS Linux 7 Core Architecture: 64bit ELF CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz Cache Size: 20480 KB Memory: total used free shared buff/cache available Mem: 62G 4.9G 49G 304M 8.8G 57G Swap: 4.9G 0B 4.9G Graphics: 03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1) Subsystem: NVIDIA Corporation Device [10de:11df] Kernel driver in use: nvidia PyQt version: 5.12.3 Compiled Qt version: 5.12.4 Runtime Qt version: 5.12.8
Attachments (1)
Change History (19)
comment:2 by , 5 years ago
Component: | Unassigned → General Controls |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → figure 8 camera motion |
Type: | defect → enhancement |
comment:3 by , 5 years ago
Cc: | added |
---|
I added the rock command to ChimeraX. Chimera had the "rock" command which just rocks about the y-axis (not a figure 8 motion). This can be done in ChimeraX with the turn command using its rock option (e.g turn y 15 rock 136) but it is simpler to have a rock command with sensible defaults.
I find the figure 8 motion a bit nauseating. But if you think it is popular I can add that. I thought I had that in Chimera 1 but I can't find it.
follow-up: 4 comment:4 by , 5 years ago
I've used the figure-8 motion a few times in conference presentations, and had positive comments about it afterwards. The trick is to keep it reasonably slow and subtle - just enough to give 3D depth perception, without getting confusing. On 2020-07-29 18:24, ChimeraX wrote:
follow-up: 5 comment:5 by , 5 years ago
There was a "precessionTilt" option to the "roll" command in Chimera that did something strange and possibly similar.
follow-up: 6 comment:6 by , 5 years ago
Thanks. I just tried Chimera presessionTilt for a minute and I am already seasick. The movie on the animation gallery mercifully slows it down but still is unpleasant. http://www.rbvi.ucsf.edu/chimera/animations/animations.html#wobble
follow-up: 7 comment:7 by , 5 years ago
It's most useful when zoomed right in and centered on a feature of interest, like this (had to fudge with a screen capture since VMD's movie maker relies on ppmtompeg, which only seems to be available from yum in CentOS 6)... On 2020-07-29 18:44, ChimeraX wrote:
comment:8 by , 5 years ago
Yes, that is how I tested the Chimera precession option, zoomed in close on a bound ligand. I'd like to encourage people to use the simpler side-to-side rock because it is more comfortable to look at. Maybe I am overly sensitive, but I never have been seasick and seem highly resistant to VR sickness. But I can definitely feel my brain not wanting to look at these figure 8 motions. By the way, I saw movies where you figure 8 by hand on Twitter earlier this week and I meant to say something to you since I just want to scroll by those movies when I see them due to the discomfort.
Still if you think my reaction is unusual, I am ok putting some wobbly mode in.
comment:9 by , 5 years ago
Yes, I know those videos aren't really perfect - they're captured on-the-fly from interactive sessions, and I put the motion in as much as anything just to update the display so the movie recorder will capture frames. They're usually quite off-the-cuff, and I have so many different things on my plate right now that I just don't have the time to do anything more elegant. I think some people do seem to appreciate the "raw" feel of them... but it might be nice to have an "interactive mode" movie record that aims to capture a fixed number of frames per second to reduce the need for this sort of motion? On 2020-07-29 19:22, ChimeraX wrote:
follow-up: 9 comment:10 by , 5 years ago
I personally never liked the precession option either, but I can't even watch Imax movies without feeling ill. Somebody outside our group suggested it, I forget who, perhaps because Pymol or some other program had a similar option.
follow-up: 10 comment:11 by , 5 years ago
Well, I can see Tristan's use case of a short Twitter video trying to smoothly show the features of a complicated site with density, including above and below.
comment:12 by , 5 years ago
I think raw videos are good videos. But I think videos should not make the viewer queasy. In Hollywood movies the camera is often still or makes instant cuts. Science videos really abuse the fly-throughs, zooms, continuous motions of all kinds. We need some of that for sure. We had interactive mode movie record in Chimera -- seemed to be rarely used. But I agree there are cases. Make a separate ticket if you want that. You can do it now, there just isn't a button you can press to record and press again to stop. I am not sure what you have in mind with fixed number of frames per second -- if the rendering is fast enough you can currently set the maximum frame rate (with "graphics rate" command) to something slower than 60. Saving images to disk can be the slow part.
follow-up: 12 comment:13 by , 5 years ago
What I mean is that the movie record currently only writes a frame when the display actually changes, so (a) if you’re not actively doing anything, nothing gets added to the video, and (b) when you *are* doing things, the resulting video comes out much faster than real life. Having a mode that aims to be more like, say, Twitch - that is, a real-time capture making the playback the same speed as the recording speed - would have its uses. But agreed, that’s something that would be better on another ticket.
follow-up: 13 comment:14 by , 5 years ago
... but to be honest, would possibly be a bit superfluous. In Windows, the built in Xbox Live game capture does a fantastic job. Haven’t found as good a solution in Linux - the built in Gnome screencast tends to start dropping frames after a minute or so.
follow-up: 14 comment:15 by , 5 years ago
Ok, to get frames to be continuously drawn even when nothing is changing so the movie will record those unchanging frames you can use command "graphics rate on" before recording.
follow-up: 15 comment:16 by , 5 years ago
ChimeraX movie recording is of course not heavily optimized to avoid frame drops. That requires serious work and is what decent screen capture software does, like shuttling the frames to disk in a separate thread so they don't slow down the capture. Best to use a separate screen capture program if you want a good result.
follow-up: 16 comment:17 by , 5 years ago
Fengwei Zheng also requested this feature.
Begin forwarded message:
From: "Zheng, Fengwei" <Fengwei.Zheng@…>
Subject: [Chimera-users] The command like volume zone in X
Date: August 14, 2020 at 8:43:30 AM PDT
To: "chimera-users@…" <chimera-users@…>
Dear Developer,
...
Another thing is that I wonder if there is a command of ChimeraX can achieve the same function like "turn z 2 360 precess 20" in Chimera (to achieve the Wobble motion / "wiggle-rock" motion, like nutation in pymol)~
The I tried 1.14, 1.15 and the latest daily built versions of Chimera.
The ChimeraX version I used is 1.0, Many thanks!
Best,
Fengwei
comment:18 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Implemented wobble command that does figure 8 motion.
The wobble command like the rock command is a shorthand for the turn command. Wobble uses two new turn command options "wobble" and "wobbleAspect". The wobble option sets the cycle number of frames for one complete figure 8. The wobbleAspect (default 0.3) is the ration of the wobble angle amplitude to the rocking angle amplitude.