距離によってSubSurfの値を増減するスクリプト

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

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2005/3/4 12:17
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
元記事:[Level Of Detail] LOD-matic for animation

jms氏による、SubSurfの値を距離によって増減することにより、LOD(距離に応じて形状を簡略化する機能)を実現するスクリプトです。
どういったものか体験したい人は、氏のサイトでblendファイルのzipをダウンロードしてくるのが手っ取り早いでしょう。3DWindow上で[Alt]+[A]を押すと、手前から奥に向かって移動するTuxの姿が見られると思います。環境にもよりますが、奥に行けばいくほど、描画のスピードが上がっているのがわかると思います。これはもちろんSubSurfの値が減っているからで、適切なところにFrameをあわせると値が変化しているのがわかるでしょう。

自分のSceneに適用したい場合は、前述のblendファイルからTextWindowでSaveAs、もしくは氏のサイトにあるLOD_en.pyをLOD.pyに名前を変更して保存後、TextWindowから開いて下さい。
スクリプトにある記述では、.blender/Scriptsなどに入れ、ScriptsWindow → Animation → A Cool Faked LODで実行できるらしいですが、当方では上手く動作しませんでした。

実行すると、自動的にこのスクリプト名(LOD.py)でSceneへのFrameChangedのScriptlinkを作成するので、自分でScriptlinkを設定する必要はありません。

Frame数を変更すると、SubSurfの値がカレントのカメラのClipStartとClipEndに比例して増減します。
SubSurftの値を上手く調節したい人は、カメラを選択し、EditButtonsにある、[ShowLimits]をONにし、ClipStatやClipEndを調節して下さい。

氏のサイトには、前述のスクリプトとzipファイル以外にも、SubSurfのしくみ、アニメーション時に自動的に増減させる必要性、SceneにFrameChangedを自動的にスクリプトに結びつけ、さらにカレントカメラの設定、各Objectのバウンディングボックスを使用した高速化について書かれています。スクリプトを書いている人にも色々と参考になるかもしれません。

投票数:14 平均点:6.43

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

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

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

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


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