2016年5月1日日曜日

リンク複製での混乱

Blenderでリンク複製するとき"Alt+D"を使う。
これはシーン内複製である。
今回シーン間でリンク複製することになった。この場合"Ctrl+L"を使う。
これらは一見同じように見えるが全然違う挙動をする。

シーン内複製の場合はオブジェクト内部のデータがリンクされている。
オブジェクトとしては別物であり、トランスフォームの情報は別々に持っている。
そうでなければ使い物にならない。

一方シーン間のリンク複製ではオブジェクト全体がリンクされる。
トランスフォーム情報もリンクされているから一方のシーンでオブジェクトを動かせばリンクしたシーンでも同じ位置に移動する。
これももちろん便利だ。

どっちも便利なのだが同じリンクという言葉で表現されるためこの違いによって混乱させられた。

今回、シーン間リンクしたオブジェクトに違うマテリアルを割り当てようとした。
シーン内リンクであればマテリアルをオブジェクトデータにリンクすればよい。
オブジェクトデータは別々だから、違うマテリアルを割り当てられる。

しかし、シーン間リンクではオブジェクトデータが同じものである。
マテリアルをオブジェクトに割り当てようとも、同じオブジェクトだから同じマテリアルになる。

ではどうやってシーン間リンクしたオブジェクトに違うマテリアルを割り当てようか。
それは再度シーン内リンクすることで可能だった。

つまり、Ctrl+Lでシーン間リンクしたオブジェクトをリンク先のシーンで再度Alt+Dで複製するということだ。
こうすることで別オブジェクトになり違うマテリアルを割り当てられるようになる。
最初にリンクしたオブジェクトは削除しても構わないようだ。

以上。

1 件のコメント:

  1. まさに知りたかったことでした!
    とても勉強になりました!!

    返信削除