SubstancePainterでアルファ付きのテクスチャが上手く表示されない

今作っているキャラクターのテクスチャをSubstancePainterで作ろうとしていて問題にぶつかってしまいました・・・。

 

完全には解決はしていないけど、情報共有のためにアップします。

 

BaseColorにペイントソフトで作ったテクスチャを設定したのですが、

このテクスチャにアルファ値を設定していて、Unityで透過表示できるか実験したところアルファ値が消えて完全に不透明になるか、画像のように全体が半透明になりました。

元のファイルに一部しか透過を入れていないので、その部分だけを透明になることを期待していたのですが、上手くいきませんでした。

f:id:hildsoft:20170120222928p:plain

 

続きを読む

スパゲッティコード

趣味でUnityのコードを書いている部分のお話。

 

趣味でコーディングとなると、人にもよりますが連続して時間を取れなかったり思い付きでコーディングをしてしまったり、テストしながら少しずつ実装して行ったりして、スパゲティの出来上がり何てことないでしょうか。

 

えぇ、今その状態です。

しかもAsset登録を目指しているスクリプトが・・・。

 

脳のメモリが揮発しやすいせいか、数日空けるといろいろと忘れてて、部分修正しているうちに他のところと整合性が取れなくなったり、でも動くから放置になったり・・・。

 

まぁ、今後のメンテが必用なものだと予見できたら、8割くらい作ったところで一度リファクタリングかけるので、最終的には何とかなるものが出来上がりはします。

 

自分でクラスなどを把握しているものだけなら特に問題はないのですが、やはりUnityとかフレームワークを使っていると知らないクラスが出てくるわけで。

ある程度下調べをしてからコーディングには入るのですが、微調整をしていくうちに本来書くべき場所出ないところに記述が追加されたり。

そしてそれに対応するために別のところで条件チェックをしていたり・・・。

 

コーディングが上手い人は他人が作ったクラスの使用法を勘違いしていた場合、どうやって修正しているんだろう?

周りの人間は職業プログラマばかりで、動けばいいって人ばかりで参考にならないんだよなぁ・・・。

あぁ、1発できれいなコードが書きたい。

ZBrushでエクストラクトした断面を滑らかにする

ZBrush小ネタ。

断面を滑らかにする方法です。

 

服を作る場合、体にマスクをかけてExtractなどで作ることが多いと思います。

この時、なるべく丁寧にマスクをかけた方が、できるメッシュをきれいに保つことができるので、ある程度は頑張った方が良いです。

ですが、きれいにマスクを塗っても、Edgeloop Masked Borderを使っても、手作業でやる以上波打ってしまいがちです。

 

それがこのような状態かと思います。

服の首の部分なのですが、適当にマスクを塗ったため凹凸が目立ちます。

f:id:hildsoft:20161222214630p:plain

これをこのようにこのようにします。

f:id:hildsoft:20161222214634p:plain

 

続きを読む

Unityでの親子化と座標

Unityの座標はInspectorでTransformコンポーネントで表示されているから簡単に見ることができます。

この値はローカル座標になっています。

親の座標系においての座標です。

 

親子化前の2つのオブジェクトです。

f:id:hildsoft:20161221231049p:plain

立方体(Cube)の座標が(1,1,1)

球(Sphere)の座標が(-2,1.5,2)

になっています。

 

これは、両方ともHierarchyのルート階層にあるため、ワールド座標の値と一致します。

 

続きを読む

ZBrushでエッジを保護する

大まかな形をスカルプトしてる時は気にならないんですけど、きっちり形を決めたときはそれ以上エッジを動かさずに保護したい時って結構ありますよね。

特に磨きたいとき・・・。

f:id:hildsoft:20161220214604p:plain

 

クリース設定していればポリッシュツールで一応できますけど、全体適用だし一部だけ調整ってのが出来ないので、少し使い勝手が悪いと思うのです。

 

続きを読む

ZBrushで薄い素材を操作するときに裏側を保護する

ZBrushで薄いものを触ると裏側まで影響されてしまいます。

確か、ブラシに厚みがあるため範囲内に入る裏面も影響を受けてしまうという理由だったと思います。

 

表面を持ち上げようとして、裏側まで持ちあがってしまった例。

f:id:hildsoft:20161220202952p:plain

 

このオプションを設定することで大抵上手くいきます。

メニューから

Brush>Auto Masking>BackfaceMask

f:id:hildsoft:20161220204541p:plain

効果の強さをオプションで調整もできるが、これで効かなかったら素直にマスクで保護したほうがいいかもしれません。

 

BackfaceMaskがONだと、表面をスカルプトしても裏面に影響を与えません。

削っていく場合はフェースが交差するので注意です。

f:id:hildsoft:20161220202955p:plain

 

よく使うので、カスタマイズしてシェルフに入れておくと便利です。