« ニュートラルじゃないやつ一歩前に出ろ。 | トップページ | こいつのキー全部選択してください。 »

2018年5月16日 (水)

再生速度トグる~~~ん。

.


またもや発作的に書いたスクリプトを載せてみるんですけどね。


なんかヘンなところあったら突っ込み下さいね。 シロートがほんと、手探りで書いているようなものなので・・・・





ビューポートの再生速度を、通常の 0.5 倍とか2倍とか、スピードを切り替えることができますよね。  


でもいちいち Preference 開くのが面倒なので、n倍の速度で再生する、っていう n の数値を2つだけ登録しておいて、その2つの値でトグルするというスクリプトです。



Pyhon:

# -*- coding: utf-8 -*-
#
#    jjjPlaybackSpeedToggleooon.py
#    再生速度トグる~~~ん
#
#    再生速度を2つの値でトグルするスクリプト
#    1倍速再生と 0.5倍速再生を切り替えるとか。 スクリプトの冒頭の2つの値を適当に書き換えて運用
#    モーション作業でこれ欲しいときあるじゃないですか。いちいち pref 開くのめんどくせえし。


#再生速度切り替えの数値  テキトーに書き換え
speed1 = 0.5
speed2 = 1.0

import sys
import pymel.core as pm

#現在の再生速度取得  play every frame = 0.0
currentSpeed = pm.playbackOptions( playbackSpeed=1, q=1 )

#    Play Every Frame だった場合 = 最大再生速度を2つの値でトグル
if currentSpeed == 0.0 :
    currentMaxSpeed = pm.playbackOptions( maxPlaybackSpeed=1, q=1 )
    #print ( "play every frame : currentMaxSpeed = " + str( currentMaxSpeed ) )
    if currentMaxSpeed == speed1 : pm.playbackOptions( maxPlaybackSpeed=speed2 )
    else : pm.playbackOptions( maxPlaybackSpeed=speed1 )
    
    currentMaxSpeed = pm.playbackOptions( maxPlaybackSpeed=1, q=1 )
    msg = u"再生速度 = 全フレ再生 : 最大速度 =  " + str(currentMaxSpeed) + u"   (゚∀゚)"

#    Play Every Frame じゃなかった場合 = そのまんま再生速度を2つの値でトグル
else:
    #print ( "currentSpeed = " + str( currentSpeed ) )
    if currentSpeed == speed1 : pm.playbackOptions( playbackSpeed=speed2 )
    else : pm.playbackOptions( playbackSpeed=speed1 )

    currentSpeed = pm.playbackOptions( playbackSpeed=1, q=1 )
    msg = u"再生速度 =  " + str(currentSpeed) + u"   (゚∀゚)"

#    結果をお知らせしておしまい。    
sys.stdout.write( msg + "\n" )
pm.inViewMessage( amg= msg, pos='topCenter', fade=True, fadeStayTime=1500, fadeInTime=100, fadeOutTime=400 )

ダウンロード jjjPlaybackSpeedToggleooon.py (1.7K)


Playbackspeed

↑ここの設定のことです。

いちいち Preference 開くの面倒だから、ホットキーにしたくてね。 当然のことながら、ホットキーにするなり、すぐに手が届くシェルフとかに登録するなり、 Preference を開いてこの設定をいじるよりもラクな起動方法で使わないと意味ないですね。




モーションビルダーは、確か UI 上にこの設定が出ているんじゃなかったっけ? すぐに切り替えられて便利でしたよね。  Maya さまもそうだといいのになあ。 なぜ Preference の奥に隠してしまうのだ。 前から、楽にこれが切り替えられるといいなあと思ってたんですが、なんか書けそうな気がしてしまったので、今日書きました。 こんなんで合ってるかなあ?



再生速度が Play Realtime の時は、単に再生速度を2つの値でトグルします。  Play Every Frame の時は、最大再生速度の方を2つの値でトグルします。  2つの値は、スクリプトの冒頭の数値を好みで書き換えればいいんじゃないのかな。 デフォルトでは 1 と 0.5 です。 つまり、1倍速=ノーマル速度と、 0.5倍速=半分の速度(ゆっくり)のトグルになります。

アレですね、例えば 60fps のゲームモーションなんかをいじっている時に最も使いたくなりますね。 特に、クイックで激しいモーションとかは、カクりとか、軸のブレみたいなのを見つけるのに、ゆっくり再生してみたくなる。 そんな時にポンポンと気軽にスピードを切り替えたいという、アレです。






ちなみにですが、ずいぶん前にも書いた けど、heads up display の FPS 表記は、1ビュー再生の時以外は信用しちゃダメですからね。 

さっきも Maya 2018 で試してみたけど、まだ直ってねえや。 2倍速だろうが 0.5 倍速だろうが、2ビュー以上で再生すると不正確な数値が出てます。  嘔吐デスクさま、いつまで放置すんの。 やる気あるんでしょうか。 



まあ、ないですよね。 

知ってます嘔吐デスクさま





.

|

« ニュートラルじゃないやつ一歩前に出ろ。 | トップページ | こいつのキー全部選択してください。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 再生速度トグる~~~ん。:

« ニュートラルじゃないやつ一歩前に出ろ。 | トップページ | こいつのキー全部選択してください。 »