パスコンストレイントについて

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/13 21:54
ishidourou  新米   投稿数: 5
お世話になります。
スクリプトによるパスコンストレイントの以下のパスアニメーション設定ファンクションが、2.70以降で動かなくなったのですが、これはバグ或いは仕様変更でしょうか?(2.72テストビルドでも動かないようです)

添付サンプルファイルのスクリプトを実行すると2.68や2.69ではそのままcubeが動き出しますが、2.70以降では
bpy.ops.constraint.followpath_path_animate()
の行でエラーでとまります。
その場合、手動でFollow PathコンストレイントのAnimate Pathボタンを押すとアニメーションできるようになります。

もし何かエラーの回避方法等ございましたら、ご教授いただければ幸いです(_ _)

環境:windows7 32ビットバージョン
確認したBlenderバージョン:2.68〜2.72 testbuild

:download:followpath_test.blend

投票数:8 平均点:6.25
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/14 11:45
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
ご報告ありがとうございます。

この件についてはすでに報告されていました。childof_set_inverseの例ですが、followpath_path_animateも同様だと思います。
https://developer.blender.org/T39891

これはわからないですねぇ…。
投票数:9 平均点:5.56
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/14 12:08
ishidourou  新米   投稿数: 5
お手数をおかけし、申し訳ありませんでした。

既に報告が上がっていればバグフィックスされる可能性も高そうですね。
リンク先の報告も、こちらのケースと同様2.70から動作しなくなったとの事ですので、
おっしゃるとおり、根は一緒のようですね。

お忙しい中、本当にありがとうございました(_ _)
投票数:5 平均点:4.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/14 13:59
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
いえ、リンク先のタスクでは「オペレーターを使うにはあまりいい方法でないから書き直してくれ」というのがCampbell氏の主張で、要は修正する気がない、ということなのです。
もし公式にそのコードを書かれている方法がドキュメントとしてあれば、バグとして挙げられるのですが、とりあえずうまくいっていたけれど、実は間違っていたということであれば、残念ながらバグとしては取り扱われず、修正はされないと思います。
私としては、
引用:
bpy.ops.constraint.followpath_path_animate(constraint="", owner='OBJECT', frame_start=1, length=100)

Add default animation for path used by constraint if it isn’t animated already
Parameters:

constraint (string, (optional, never None)) – Constraint, Name of the constraint to edit
なんてPythonAPIに書いてあるので、どうみてもバグだろこれ、って思うんですけどね。

投票数:4 平均点:2.50
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/14 15:10
ishidourou  新米   投稿数: 5
ありゃ、そうなんですか…

うーん、ツールチップやログからそのままコピペして動かないのはやはりバグだという気もしますが…少々残念ですねヽ(^〜^;)ノ
Blenderのことですから、ある日ひょっこり直っていたなんてこともあるかもしれませんしw、
2.69等では普通に動くので大量のパス相手の自動設定が必要な時はとりあえずそちらを使うことにします。

重ね重ね本当にありがとうございます。(_ _)




投票数:4 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014/9/15 23:58
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
とりあえずご面倒でなければ、そのコピペ元のログをお教えください。本体を修正できなくても、最悪そちらを修正させることができると思われますので。

あと、恐らくもうご存じかと思われますが、オペレーターを経由せずにConstraintを作成する方法もあります。
http://blender.stackexchange.com/questions/15307/scripting-cant-figure-out-how-to-use-correct-contexts
投票数:7 平均点:8.57
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014/9/16 3:57
ishidourou  新米   投稿数: 5
返信、遅れてすみません(_ _)

ログはフォローパスコンストレイントのAnimate Path ボタンを押した時のそのものずばりのログですね(^^;

bpy.ops.constraint.followpath_path_animate(constraint="Follow Path", owner='OBJECT')

これをテキストエディタでimport bpyを介して貼ってもエラーになりますし、コンソールに貼った場合もコンストレイント自体が見つからないといったようなエラーメッセージがでます。

もうひとつの方法はカーブ側で設定するものを利用する方法でしょうか。スクリプトを組んだ時、コンストレイントのほうであっさり動いたのでそちらは試していません。(^^;
ご案内いただいたリンク先も参考にさせていただきます。どうもありがとうございます。

投票数:9 平均点:1.11

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki