1. ホーム
  2. キッチン、日用品、文具
  3. トイレ用品
  4. トイレブラシ
  5. トイレブラシ シリコン製 掃除ブラシ ケース付き スリム コンパクト ソフト 柔らか 傷つけにくい 柄付きブラシ 洗える 清潔 掃除用品 壁付け可 ホ
特別価格 最終決算 トイレブラシ シリコン製 掃除ブラシ ケース付き スリム コンパクト ソフト 柔らか 傷つけにくい 柄付きブラシ 洗える 清潔 掃除用品 壁付け可 ホ pfsa131.com pfsa131.com

トイレブラシ シリコン製 掃除ブラシ ケース付き スリム コンパクト ソフト 柔らか 傷つけにくい 柄付きブラシ 洗える 清潔 掃除用品 壁付け可 ホ

402円

トイレブラシ シリコン製 掃除ブラシ ケース付き スリム コンパクト ソフト 柔らか 傷つけにくい 柄付きブラシ 洗える 清潔 掃除用品 壁付け可 ホ

スリム&コンパクトなトイレ用ブラシ。
床置き、壁固定(粘着テープ式)どちらでも設置可能。
収納ケース&水受けトレイは分解して洗えて衛生的。

【サイズについて】
画像をご参照ください。

【素材について】
シリコン他

【カラーについて】
生産ロットにより柄の出方や色の濃淡が異なる場合がございます。
お使いのモニターや撮影時の光の加減などにより
画像と実際の商品のカラーが異なる場合もございます。
予告なしにカラーやデザインなどの変更がある場合もございます。


















おとりよせ.com


おとりよせ.com大口購入


スリム&コンパクトなトイレ用ブラシ。
床置き、壁固定(粘着テープ式)どちらでも設置可能。
収納ケース&水受けトレイは分解して洗えて衛生的。

【サイズについて】
画像をご参照ください。

【素材について】
シリコン他

【カラーについて】
生産ロットにより柄の出方や色の濃淡が異なる場合がございます。
お使いのモニターや撮影時の光の加減などにより
画像と実際の商品のカラーが異なる場合もございます。
予告なしにカラーやデザインなどの変更がある場合もございます。





おとりよせ.com

トイレブラシ シリコン製 掃除ブラシ ケース付き スリム コンパクト ソフト 柔らか 傷つけにくい 柄付きブラシ 洗える 清潔 掃除用品 壁付け可 ホ

2個セット 両面テープ 魔法のテープ 超強力 防災 透明 車 強力両面テープ 貼って はがせる 極 強力 固定 透明 繰り返し 防水
トイレブラシ 収納 通販 シリコン スリム トイレ ブラシ ...|BACKYARD FAMILY【ポンパレモール】トイレブラシ 収納 通販 シリコン スリム トイレ ブラシ ...|BACKYARD FAMILY【ポンパレモール】
トイレブラシ トイレ掃除 TPR材質 穴開け不要 スッキリ収納 清潔簡単 収納ケース付き ブラシ シリコン :hei-0126bedpz:タイヘイストア - 通販 - Yahoo!ショッピングトイレブラシ トイレ掃除 TPR材質 穴開け不要 スッキリ収納 清潔簡単 収納ケース付き ブラシ シリコン  :hei-0126bedpz:タイヘイストア - 通販 - Yahoo!ショッピング
トイレブラシ シリコン スタンド 掃除ブラシ 収納ケース付き コンパクト 掃除 トイレ用品 おしゃれ かわいい toilet-brush :toilet-brush:ご注文ドットコム - 通販 - Yahoo!ショッピングトイレブラシ シリコン スタンド 掃除ブラシ 収納ケース付き コンパクト 掃除 トイレ用品 おしゃれ かわいい toilet-brush  :toilet-brush:ご注文ドットコム - 通販 - Yahoo!ショッピング
パーティーバッグ 大きめ サブバッグ フォーマルバッグ クラッチバッグ 40代 大きめ 結婚式 二次会 ショルダーバッグ 50代 20代 30代 レディース
ゆずゆず 5
レジ台を、手作り!アイアンの足を付けて、お洒落に変身。素敵になりました。

トイレブラシ シリコン 傷つきにくい 飛び散らない トイレブ...|プライズマーケット【ポンパレモール】トイレブラシ シリコン 傷つきにくい 飛び散らない トイレブ...|プライズマーケット【ポンパレモール】
クラフト紙タグ ペーパータグ ヘアアクセサリー用 64×87mm ケヴンハウン 木製(アカシア) フルーツカッティングボード 1406 KEVNHAUN 型落ちアウトレットティアラ フィットちゃん ランドセル 女の子 2021 クララリーノ 日本製 直営店6年保証 送料無料 100本セット BEAUTY NAILER 使い捨てファイル 滅菌マイラー ディスポーザブル MEM-1 ビューティーネイラー ENDURANCE ENDURANCE:エンデュランス メーターバイザーセット+取り付けキット バイザーカラー
hosinoie 5
[購入の経緯]主な用途??車中泊用ベット/簡単に設置解体がしたい車種名???三菱 アウトランダーPHEV 2014身長????167cm自分は主に登山などで車中泊をします。ただ車中泊自体はそれほど数が多いわけではないため、後部座席を倒して、使わなくなった山岳エアーマットを敷いて寝てました。しかし、寝心地がお世辞にも良いとは言えず、あまり寝付けず一夜漬けに近い状態で朝を迎えることも多かったのが実情です。以上の状況から組み立て収納に場所をとらず、車中泊時の睡眠を改善する案として、本商品に行き着きました。ただ色々な条件が立ちはだかり、買うまでにかなりの時間がかかってます。[購入の条件]1 全幅 60cm以下 である事が理想?理由 = 後部座席 「右側」は登山など出発時に使用するため畳めない。?検討案=車中泊用エアーベットを設置しようも幅が大きく断念。⑵ ベットを支える支柱の位置が中央寄りに多いと嬉しい?端っこに支柱が多いとはみ出た部分に荷重を掛けにくいから⑶ 収納サイズが車内保管でも邪魔にならないものが良い?いざという時に出先で必要になっても直ぐに取り出したいので。(4) 日常と車中泊使用の両立をしたいので設置撤収を簡単にしたい?日常での買い物や通勤ではベットは邪魔なので解体する必要がある。→車中泊のたびに一々組立しないといけない?パイプと専用カッターでDIYベットを作ったりすると、簡単に解体ができず組立収納に困る。(5)登山用の荷物も載せる必要があるため、助手席は前方へ詰めすぎることもできない。?ベットの全長が長すぎると助手席につっかえて設置ができない。(6)高さがありすぎると起きる時に屈む必要があるので、高さ20cmを超えると使いづらい。[結果として]①本商品(Dominant-X )は絶妙なサイズ感と支柱の位置のおかげでぴったりと収まりました。頭を悩ませていたベット支柱位置も、ちょうどヘッドレストの付け根に収まりズレ動く心配もないです(写真添付)②地味に嬉しいのがエアー式枕の付属でしょうか。こちらはアウトドア用エアーマットに、枕固定用の紐があるので満足してます。付属の枕は想像以上に使い心地がよく、買い足そうと思っていた枕は買う必要がなくなりました。空気を入れるのが若干やりにくいですが??。<追記>=早速白馬岳への登山時に車中泊用として使ってみました。寝心地は良かったのですが、ここで新たな問題が浮上。登山の出発時間は比較的早いため、寝心地が良すぎて寝坊しかけました。起きるのが辛く(眠い)ある意味よろしくない事態になりました。(笑)しかし当初の目的である「車中泊時の睡眠の質を改善する」事は達せられたため良しとします。

Amazon|トイレブラシ トイレ掃除 掃除ブラシ ケース付き 自動 シリコン 傷つかない 激落ち 衛生的 壁掛け おしゃれ 速乾 通気 省スペース トイレ掃除用品 便器掃除 (ブルー)|トイレブラシ - ホーム&キッチン オンライン通販Amazon|トイレブラシ トイレ掃除 掃除ブラシ ケース付き 自動 シリコン 傷つかない 激落ち 衛生的 壁掛け おしゃれ 速乾 通気 省スペース  トイレ掃除用品 便器掃除 (ブルー)|トイレブラシ - ホーム&キッチン オンライン通販
MERZY ベルベットティント シーズン3 MERZY THE FIRST VELVET TINT  - マージー ※ネコポス対応商品 XSAJU トランプ プラスチック カード 折れにくい 防水 カードゲーム マジック 専用箱付き (ブラック×ゴールド)
トイレブラシ トイレ掃除 TPR材質 穴開け不要 スッキリ収納 清潔簡単 収納ケース付き ブラシ シリコン :xrxyn246:SUNSHINE-SHOP - 通販 - Yahoo!ショッピングトイレブラシ トイレ掃除 TPR材質 穴開け不要 スッキリ収納 清潔簡単 収納ケース付き ブラシ シリコン  :xrxyn246:SUNSHINE-SHOP - 通販 - Yahoo!ショッピング
ソフト99 ホイール貼るだけシート SOFT99
Amazon カスタマー 4
ベッド下に物を収納したかったのですが、高さが足りなかったので最初は百均の同じような物を買ってみたのですが、所詮百均…。キシキシして気になって、結局こちらを買いました。やはり百均とはクオリティーが違いました。キシキシ音もしないし、頑丈でベッドを支えてくれてます。ちなみに丸足ベッドです。耐久性も安全性も問題ないのですが、丸型の直径が幅を取る分、収納ボックスが上手くハマらない、という事で☆マイナス1です。

Amazon|Daisey トイレブラシ シリコン 傷つかない トイレ掃除 トイレの汚れ 激落ち 衛生的 壁掛け おしゃれ ホワイト|トイレブラシ - ホーム&キッチン オンライン通販Amazon|Daisey トイレブラシ シリコン 傷つかない トイレ掃除 トイレの汚れ 激落ち 衛生的 壁掛け おしゃれ ホワイト|トイレブラシ -  ホーム&キッチン オンライン通販
マスプロ電工 コンクリートフェンスベース 地デジアンテナ、BS・CSアンテナ(45cm以下)用 KBM45N
? 2? |? ? 3
半年も使うと、ひじ掛けから、釘?ネジ?みたいのが無数に出て来るので、痛いです?製造ミス?でしょう?これは、画鋲が出ている感じです。数えたら、50か所以上は出ています、ひじ掛けに腕を乗せるので、腕に当たる箇所に本能なのか?長い毛が生えて来ました?wwある意味面白いなとは思いましたが。

りりんこ 5
ヨーグルト味で、食べやすいです。ちょっとシュワシュワする感じがするのは私だけでしょうか?!こどもがすきなのはもちろん、ラムネ系を全く食べない夫も「おいしい!」といって食べています。カルシウムもとれるので、普段牛乳を飲まないわが家では重宝しています。

柔らかイカフライ 200g 訳あり いか天 イカ 珍味 最安値挑戦 メガ盛り 酒の肴 在宅 おつまみ ソナックス(SONAX) タイヤ用艶出し保護剤 タイヤケア マットエフェクト 500ml
Amazon.co.jp : サンコー やわらか トイレブラシ ケース付 傷がつきにくい スリム グリーン びっくりフレッシュ 2way 日本製 BF-49 : ホーム&キッチンAmazon.co.jp : サンコー やわらか トイレブラシ ケース付 傷がつきにくい スリム グリーン びっくりフレッシュ 2way 日本製  BF-49 : ホーム&キッチン
ユタカメイク スターターロープ 3.5mm×2m NX−52 1巻 (メーカー直送)
Amazon カスタマー 5
私の肌色とも合って,効果は確かにありました.満足です.

ラク〜に草取り SV-6971 園芸 草抜き 雑草 抜き 除草 ガーデン 庭 ガーデニング
楽天市場】送料無料 ! 便器を傷つけにくい シリコン製トイレブラシ 水が飛び散りにくい【 トイレ掃除 ケース付き シリコントイレブラシ スタンド たわし 掃除ブラシ コンパクト スリム 新着!】 送料込 ( 日本郵便 ) ◇ トイレブラシMCZ : セールプラザ楽天市場】送料無料 ! 便器を傷つけにくい シリコン製トイレブラシ 水が飛び散りにくい【 トイレ掃除 ケース付き シリコントイレブラシ スタンド  たわし 掃除ブラシ コンパクト スリム 新着!】 送料込 ( 日本郵便 ) ◇ トイレブラシMCZ : セールプラザ
光洋陶器 KOYO 14.5cm ラウンドスレートプレート R5000007

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

本日はUnity調査枠です。

先日GitHub上で公開されているリポジトリから直接Unityパッケージとして機能をインポートする方法を記述しました。

この際にリポジトリのルートが直接パッケージとして読み込める形になっていない場合として任意のパスのフォルダを指定しする方法を紹介しました。

redhologerbera.hatenablog.com

今回はフォルダではなく任意のブランチを指定する方法を紹介します。

〇任意のブランチをUnityパッケージとして導入する。

GitHubでは複数のブランチでプロジェクトが管理されていることがあります。

例えばMicrosoft MixedRealityToolkit GraphicsToolsではmainブランチのほかにpublic/0.4xなどいろいろなブランチが存在しています。

通常何も指定しない場合先日の方法ではdefalutのブランチ(MRGTではmainブランチ)が指定されます。

今回はここを任意のブランチに変更して使用していきます。

今回はpublic/0.4.xのブランチを使用していきます。

package.jsonに次の一行を追加します。

    "com.microsoft.mrtk.graphicstools.unity": "https://github.com/microsoft/MixedReality-GraphicsTools-Unity.git?path=/com.microsoft.mrtk.graphicstools.unity#public/0.4.x",

前回の階層を指定する方法は?path=/(フォルダ名)でしたが今回のブランチを指定する方法は末尾に#(ブランチ名)をつけることで可能になります。

この方法でブランチを選択してインポートできるようになりました。

本日はUnity調査枠です。

今回はGithubのリポジトリから直接パッケージとしてUnityのプロジェクトに導入していきます。

〇環境

・Unity2021.3.5f1

・GitHub

〇経緯と前提

UnityのパッケージではUnity公式非公式問わずに様々なパッケージを入手、使用することができますが、例えばGitHubでオープンソースで開発されているプロジェクトでリリースとして提供されているバージョンではなく、GitHubの最新のリポジトリをパッケージとして導入したいという場合もあります。

筆者の場合Microsoft MixedRealityGraphicsToolsの開発に参加しているということもありリリース版ではなく最新のGitHubリポジトリの機能を使用したい場合があります。

 そういった場合UnityではGitHubのリポジトリ自体からPackageとしてインポートすることができます。

 この方法が可能な条件としてpackage.jsonが存在しUnityパッケージとして機能する必要があります。

 

①UnityプロジェクトのエクスプローラーからPackages/manifest.jesonを開きます。

dependenciesに次の一文を追加します。

 "dependencies": {
    "com.microsoft.mrtk.graphicstools.unity": "https://github.com/microsoft/MixedReality-GraphicsTools-Unity.git",

この名前はMixedReality-GraphicsToolsのpackage.jsonnameがそれに該当します。

github.com

{
  "name": "com.microsoft.mrtk.graphicstools.unity",
  "version": "0.4.14",
  "displayName": "MRTK Graphics Tools",
  "description": "Graphics tools and components for developing Mixed Reality applications in Unity.",
  "msftFeatureCategory": "MRTK3",
  "unity": "2020.3",
  "author": "Microsoft",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/microsoft/MixedReality-GraphicsTools-Unity"
  },
  "bugs": {
    "url": "https://github.com/microsoft/MixedReality-GraphicsTools-Unity/issues"
  },

urlはリポジトリをクローンする際のHTTPSを指定します。

③URLの末尾に次の行を追加します。

?path=/com.microsoft.mrtk.graphicstools.unity

これはpackage.jsonがリポジトリの直下に存在する場合は必要ないですが、今回のMRGTの場合リポジトリのcom.microsoft.mrtk.graphicstools.unityフォルダにpackage.jsonがあり、一つ下の階層を指定する必要があります。

これを行うためにはHTTPS?path=/(フォルダ名)を使用します。

これによってUnityのプロジェクトを開いた際にパッケージが導入されます。

以上でGitHubリポジトリからUnityパッケージとしてインポートできました。

ミシン油 100cc ノズル付 プーリー印ミシンオイル オザワ工業

本日はMRGT調査枠です。

前回に引き続きMixedRealityGraphicsTools StandardShader全機能を解説していきます。

前回はCullModeの実装を見ていきました。

強化磁器製子供用食器 ふしぎらんど(パワーセラ) 深小皿 (99×26mm・100cc) 三信化工[YS-2FU] 業務用 保育園・幼稚園向け

本日はAlbedoの処理を追っていきます。

〇Albedo

Albedoは最も基本的な設定になります。

ここではテクスチャと色を指定することができます。

プロパティ上は冒頭に記載されている_Color_MainTexで定義されています。

Shader "Graphics Tools/Standard"
{
    Properties
    {
        // Main maps.
        _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0)
        _MainTex("Albedo", 2D) = "white" {}

また実装ではPixelShaderの最初期に処理が行われています。

MRGTShaderのPixelShaderでは最初にテクスチャ関係の処理が行われています。

half4 PixelStage(Varyings input, bool facing : SV_IsFrontFace) : SV_Target
{
  ・・・
#if defined(_TRIPLANAR_MAPPING)
    // Calculate triplanar uvs and apply texture scale and offset values like TRANSFORM_TEX.
    half3 triplanarBlend = pow(abs(input.triplanarNormal), _TriplanarMappingBlendSharpness);
    triplanarBlend /= dot(triplanarBlend, half3(1.0h, 1.0h, 1.0h));
    float2 uvX = input.triplanarPosition.zy * _MainTex_ST.xy + _MainTex_ST.zw;
    float2 uvY = input.triplanarPosition.xz * _MainTex_ST.xy + _MainTex_ST.zw;
    float2 uvZ = input.triplanarPosition.xy * _MainTex_ST.xy + _MainTex_ST.zw;
  ・・・
#endif
// Texturing.
#if defined(_DISABLE_ALBEDO_MAP)
    half4 albedo = half4(1.0h, 1.0h, 1.0h, 1.0h);
#else
#if defined(_TRIPLANAR_MAPPING)
#if defined(_URP)
    half4 albedo = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uvX) * triplanarBlend.x +
                   SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uvY) * triplanarBlend.y +
                   SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uvZ) * triplanarBlend.z;
#else
    half4 albedo = tex2D(_MainTex, uvX) * triplanarBlend.x +
                   tex2D(_MainTex, uvY) * triplanarBlend.y +
                   tex2D(_MainTex, uvZ) * triplanarBlend.z;
#endif
#else
   ・・・
#if defined(_URP)
    half4 albedo = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
#else
    half4 albedo = tex2D(_MainTex, input.uv);
#endif
#endif
#endif
#endif

ここでは機能ごとに分かれていますが基本的な処理は次のようになります。

#if defined(_URP)
    half4 albedo = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
#else
    half4 albedo = tex2D(_MainTex, input.uv);
#endif

URPの場合とビルドインの場合で処理が分岐していますが、どちらもサンプリングを行っているだけです。

これらのサンプラーはGraphicsToolsStandardInputで定義されています。

#if defined(_URP)
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
#endif
#else
sampler2D _MainTex;

URPではSAMPLERが使用できるため最適化されています。

half4 albedoは最終出力へ出力されております。

本日は以上です。

このあたりは基礎的なものですね。

本日はBlenderモデリング枠です。

今回はBlenderでNゴンを表示する方法を紹介します。

〇Nゴンとは?

Nゴンとはメッシュの形状を指す言葉です。

3DCGは様々な拡張子があり、様々な表現が行われていますが、共通して頂点と3つの頂点をもとに構成される面であるメッシュで構成されています。

この三角形のメッシュをポリゴンと呼びます。

しかしBlenderでは3つ以上の頂点をもとにメッシュを作成することができます。

上記の例では32個の頂点で一つのメッシュが形成されています。

このように3つ以上の頂点で構成されるメッシュのことをNゴンと呼んでいます。

 Blenderだけで使用する場合はまだよいのですが、NゴンはBlenderからエクスポートされた場合自動でポリゴンへ変換されます。

 この際にメッシュが破断してしまうことがあります。また一部のアドオンなどではメッシュ形状に依存しているものがあり、Nゴンは許容するかNゴンを作らないように作成するかはモデラーが後先のことを考えて作成する必要があります。

〇Nゴンを検出する

今回はアドオンの関係でNゴンが許容できず修正する必要がありました。

具体的にはHairToolで髪を作成する際に4つの頂点で構成されるメッシュである必要がありました。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

HairToolを使用するためにはメッシュを四角形にする必要があります。

これは三角面を四角面にを選択して半自動的にメッシュを修正します。

ですが単純に行っては一部に三角形やNゴンが生じます。

この先は手動で修正する必要がありますがここからNゴンの検出を行います。

ここからは特徴で全選択から面の辺数を選択します。

メニューから頂点数を今回発見したいNゴンの数にします。

ここで表示されている面が今回では四角形以外のメッシュになります。

5角形のNゴンを検出したい場合は頂点数を5に設定します。

以上でNゴンを検出できました。

本日はグラフィック調査枠です。

〇RenderDocとは?

RenderDocはオープンソースで開発、提供されている、GPU上で実行されている処理を見ることができるソフトウェアになります。

〇RenderDocを使用してUnityアプリのデバッグを行う。

今回はOculusLinkで接続したPCVR用のアプリケーションのデバッグを行います。

今回はもともとMetaQuest単体で動かすために開発していたソフトウェアを急遽PCVRでアプリケーションを実行したところ、一部のオブジェクトが描画されないという問題が発生しました。

 今回はなぜ描画がされていないのかデバッグを行いました。

 UnityではEditor自体がRenderDocによるデバッグをサポートしているためRenderDocがインストールされているPC環境ではGameウィンドウ、もしくはSceneウィンドウからキャプチャを行うことができました。

 Unityで開発したアプリケーションにはその機能はないため、RenderDoc経由でアプリケーションを起動する必要があります。

〇環境

・Windows 11

・PCVR(Desktop)向けにビルドしたUnityアプリケーション

・RenderDoc

〇手順

①RenderDocを起動します。

前述のとおりデバッグを行うアプリケーションはRenderDoc経由で起動する必要があります。

②Launch Applicationタブを開きます。

Executable Pathの右側アイコンを選択します。

④起動したいUnityアプリのexeファイルを選択します。

⑤Pathが入ったことを確認してLaunchを選択します。

以上でアプリが起動します。

RenderDoc経由で起動した場合左上部にデバッグログが表示されるようになっています。

キャプチャをとるためにはF12キーを選択します。

〇ピクセル単位のデバッグ

今回はあるピクセルにおいてどのような処理が実行されているのかを調べます。

Texture Viewerで任意のピクセルを右クリックします。

これによってPixel Contextにピクセル単位の表示が行われます。

Pixel Context下部のHistoryを選択することでそのピクセルで行われているイベントを見ることができます。

画像の例では4つのイベントが走っていることがわかります。

各イベントをダブルクリックすることでそのイベントへと飛ぶことができます。

Pixel Contextを使用することでそのピクセルで実行されているイベントと描画されるRGBAを見ることができます。

 これによってより描画がおかしい場所などデバッグを行いやすくなっています。

本日は以上です。

アウトレット 天然木製 汁椀 お椀 スープカップ 木製汁椀 おわん 布袋型 木目 漆塗り 味噌汁椀 和食 和食器 お椀 おわん 多様椀 漆

本日はMRGT調査枠です。

前回に引き続きMixedRealityGraphicsTools StandardShader全機能を解説していきます。

前回はRenderingModeの実装を見ていきました。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

今回はCullModeを見ていきます。

〇CullModeとは?

CullModeはカリングを指し、もともと不要なものを取り除くという意味があります。

 Shaderではメッシュの裏面、表面のどちらかを描画するかを指定するパラメータになります。

 CullModeの意味に合わせると『メッシュの表、裏どちらを不要な描画として描画しないか』になります。

デフォルトではBackが指定されており、この状態ではメッシュの裏面が描画されなくなっています。

CullMode=Back

この場合メッシュの表面のみが描画され、Unityプリミティブキューブの場合では近づいたときに見えるキューブの内側は描画されていないことがわかります。

反対にfrontでは面の表面がカリングされ、裏面が描画されます。

CullMode=front

もう一つOffというモードがあります。

これはカリングを無効(=カリングしない)モードでこの場合メッシュの両面が描画されます。

通常の不透明オブジェクトの場合デフォルトのBackで問題なく表示されますが、例えば次の画像の髪のように板ポリゴンで構成されているメッシュの場合見た目が悪くなることがあります。

オフにすることで両面が描画され、ある程度違和感のない見た目が実現できます。

当然Offにすることで描画負荷は上がってしまいますが、MRTKのシェーダーの場合任意に切り替えることもできるので、裏面が見えないようなオブジェクトをポリゴンで再現する場合とCullModeで対応する場合で比較した場合ほとんどの場合はCullModeで両面描画するほうがパフォーマンスもよくなると思うので、便利な機能です。

〇実装

カリングはShaderLab内で次のように定義します。

Cull Off
Cull Front
Cull Back

Graphicstools StandardShaderでは次のように実装されています。

  // Default pass (only pass outside of the editor).
        Pass
        {
            Name "Main"
            ・・・
            Cull[_CullMode]
            ・・・
            HLSLPROGRAM
   ・・・
            ENDHLSL
        }

_CullModeはPropetiesブロックで定義されています。

        [Enum(UnityEngine.Rendering.CullMode)] _CullMode("Cull Mode", Float) = 2                             // "Back"

UnityEngine.Rendering.CullModeはUnityで提供されるEnum型のクラスです。

docs.unity3d.com

冒頭で紹介した通りBack、Front、Offが提供されておりそれぞれ値を渡せるよういなっています。

本日は以上です。

本日はUnityのトラブルシューティング枠です。

本日まで3日ほど筆者は所属している会社の方で展示会に出展しておりました。

ピンク 名入れ なまえ オリジナル 動物 かわいい キッズ 記念 プレゼント ギフト 名札 ポイント消化 送料無料

今回はPCVR(OculusLink)向けにアプリケーションを開発したのですが、作成したexeファイルをPCで実行する際にセキュリティスキャンが始まり起動できない問題がありましたので今回は解消した方法を残します。

〇問題

冒頭で紹介したようにUnityで出力された.exeファイルを実行時にセキュリティスキャンが行われ、いつまでもアプリが起動しない問題がありました。

この問題を解消するためには一時的にWindowsのセキュリティを解除するウことを行いました。

これを行うためにWindowsの[設定]アプリを開きます。[更新とセキュリティ]を選択します。

[Windoiwsセキュリティ]を選択し[アプリとブラウザーの制御]を選択します。

この設定では実行するアプリやWebブラウザーでのウィルスなどのセキュリティをチェックしています。

今回は筆者自身が作成したアプリケーションであるため一時的にセキュリティを解除しています。

次に[評価ベースの保護設定]を選択します。

最後に[望ましくない可能性のあるアプリをブロック]をオフに設定します。

この設定はデフォルトではオンになっているものです。

この操作によってアプリ起動時のブロックが発生しなくなります。

この状態で[管理者権限で実行]を利用してアプリケーションを起動することでループから抜け出しアプリケーションが起動します。

本日は簡単なトラブルシューティングになりました。

なお、セキュリティの問題からアプリ終了時にはセキュリティによる保護を再度確認し、有効にする必要があります。