質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

1124閲覧

[C#]DwmExtendFrameIntoClientAreaで黒以外を透過する方法はあるか

yuyu__

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/05/28 03:35

編集2021/05/31 12:49

Unityでデスクトップマスコットを作っています。
「Unity+Windows APIで非矩形ウィンドウ」というQiitaの記事を参考にさせてもらい画面の透過ができたのですが、
3Dモデル(PMXファイル)の服の一部も透過してしまいます。

DwmExtendFrameIntoClientAreaを使用しており、黒を透過するみたいで
服は黒ではないのですが、内部的に黒判定されているのかな、と予想しています

以下の画像のように、身体に沿ってスカート(紫部分)が透過してしまいます。ただ背面に黒画面のコンソールなどがあると被っている部分はスカートが透過しません。
モデルは、vRoidで作ったモデルをBlenderでPMXに変換した後Unityに取り込みました。
イメージ説明

うまく背景だけ透過することは可能でしょうか?

試したこと

vRoidで作ったモデルをそのままUnityに取り込んだ場合、正しく透過できました。
(PMXに変換するとうまくいかない?)

バージョン情報

Unity:2019.3.0b1
Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Bongo

2021/05/30 07:00

シンプルなモデルでちょこっと試した限りでは、アルファに応じて透過しているように見えたんですがね... ※ただ、十分に確認したわけではないですが、なんだかプリマルチプライドアルファ前提っぽい透過のしかたではありました。たとえば背景色を真っ黒透明...(0, 0, 0, 0)にすると完全に背景を透過状態にできるものの、赤透明...(1, 0, 0, 0)にするとアルファが0であるにもかかわらず背景に赤色が乗ってしまうようです。 画像を貼るのがライセンス的に問題なければでかまわないのですが、異常な透過をしている様子のスクリーンショットをご提示いただけませんでしょうか。 それと欲を言えばなのですが、私や他の閲覧者の方でも異常透過現象を発生させられる手順をお示しいただくことは可能でしょうか? 実際に使用しているPMXファイルを出すのはライセンス上困難でしたら、たとえば「こういうシェーダーを使ったマテリアルを新規作成し、テクスチャにはこれをセットし、それをCubeモデルに割り当てると現象が発生する」みたいな代替手順でもかまいません。
yuyu__

2021/05/31 12:40

ご指摘ありがとうございます。 質問内容を修正しましたので、お力を貸していただけると幸いです (スカートのアルファ値の問題でしょうか。。)
Bongo

2021/05/31 18:06

なるほど、おっしゃるようにアルファに何らかの狂いが生じている可能性はありそうですね。 そのスカートの部位に使われているマテリアルの、インスペクター最上部のマテリアル名の直下にシェーダーを選択するポップアップメニューがあるかと思いますが、そのシェーダーは何が選択されているでしょうか。もしUnity組み込みのシェーダーではなく独自のシェーダーであれば、シェーダーのコードもご提示いただけますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問