1. ホーム
  2. キッチン、日用品、文具
  3. トイレ用品
  4. トイレ用ペーパーホルダー
  5. トイレットペーパーホルダー おしゃれ 通販 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル
【日本産】 通常便なら送料無料 トイレットペーパーホルダー おしゃれ 通販 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル pfsa131.com pfsa131.com

トイレットペーパーホルダー おしゃれ 通販 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル

1156円

トイレットペーパーホルダー おしゃれ 通販 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル

ご利用シーンやイベントなど: お正月 初売り 初詣 お年玉 成人の日 成人式 節分 バレンタインデー 桃の節句(ひなまつり) ホワイトデー 春物入荷 お花見 入学式 ゴールデンウィーク 母の日 衣替え 父の日 梅雨 夏物入荷 山開き 海開き 七夕 お中元 暑中お見舞い 夏休み 花火大会 盆踊り 夏祭り 秋物入荷 防災 敬老の日 ハロウィン 運動会 文化祭 学園祭 お歳暮 冬物入荷 クリスマス プレゼント 贈物 贈り物 ギフト お返し 引っ越し祝い 新生活 お祝い 内祝い 出産祝い 引っ越し祝い 引越し祝い 引越祝い 新築祝い 成人祝い 卒業祝い 就職祝い 合格祝い 入園祝い 入学祝い 進学祝い 結婚祝い 婚約祝い 退院祝い ボーナス祝い 七五三祝い 退職祝い 還暦祝い 長寿祝い 誕生日 お誕生日 大掃除














ITEM DETAILS
ブランド名 POSH LIVING(ポッシュリビング)
商品名 トイレットペーパーホルダー ダブル
商品説明 ・トイレがおしゃれな空間に早変わり!取り替えがカンタンなトイレットペーパーホルダー(ダブルタイプ)が発売。
・武骨な印象のアイアンと、ナチュラルな雰囲気のマンゴーウッドを組み合わせた、シンプルながらかっこいいデザイン♪
・マンゴーウッドは天然素材ならではの木目が特徴。(※天然木を使用しているため、色味や風合いに個体差があります。また、古材のような加工により傷等がある場合があります。)
・トイレットペーパーを横に2つ収納可能。
・天板の上には予備のトイレットペーパーをストックしておいたり、小物をディスプレイしてもOK。
・壁面にビスで4ヵ所固定するだけ!元々ついているペーパーホルダーを外して同じ位置に取り付けできるから、新たに穴を開ける必要がなく賃貸でも安心◎(※ビス穴直径約3.5mm。取付用ビスは付属しておりません。)
素材 アイアン、マンゴーウッド
生産国 インド
サイズ [縦]約10cm/[横]約31cm/[奥行]約11cm
※サイズは当店計測の実寸サイズです。実際の商品ならびにメーカー表記サイズとは多少の誤差が生じる場合がございます。あらかじめご了承ください。
重量 約741g
注意点 ※天然材を使用しているため、製造部位によって色味、木目などの個体差があります。また、継ぎ目がある素材を使用する場合がございます。
※保管状況によりごく稀に虫が発生する場合がございます。
※素材の特性上、直射日光や高温多湿、水濡れにより、変色や腐食、サビが発生します。
※防水、防滴処理は施されておりません。
※手作業での塗装のため、色付きにばらつきがございます。
[壁へ取り付ける製品に関して]
※壁は材質、気候、経年等により強度が異なります。取り付ける壁が荷重に耐えられるかご確認下さい。
※石膏ボード、コンクリート、化粧ベニヤ等へのお取り付けの場合はそれぞれの材質に合った市販の金具をお買い求めください。
※予期せぬ事態での落下、脱落することも予想されます。製品の下には物を置かないようにして下さい。
[製品取扱上の注意事項]
※製品の落下、接触などにより塗装がはがれる可能性があります。
※カメラやモニターの性質により、画像と実物の色の違いがある場合がございますのでご理解願います。

トイレットペーパーホルダー おしゃれ 通販 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル

ノーカラージャケットセレモニースーツ入学式&ツイードフレアスカートフォーマル コインケース 札入れ IL BISONTE ORIGINAL LEATHER COIN CASE
?Shall Shall? 5
アセロラ末が入っているからなのかも知れませが、ハトムギ茶と言われる 紙パック式の 軽く煮出すタイプ(※香ばしくて茶色の どちらかと言うと ほうじ茶の様な物で かなり薄い感じ物) の 数分で作れる安価なお茶に 1さじ溶かして飲んでいます。自分的には 割合として、大きめのマグカップのお茶 300mlに1さじで飲みましたが 非常に飲みやすいです?この商品を1さじ入れる事により、若干 甘さを感じます??あまり味気の無いお茶が ほんのりと甘さを感じ 奥行きが出て 結構美味しくなりましたので、味的には1発で気に入りましたね?こちらの袋入りはお得です、自分の場合 他からの購入でしたので Amazonよりも 100円高くなりましたが、ガラス瓶タイプ(※使用?保存に便利で スプーン付きの120g入り) が 欲しかった為、そちらと揃えて購入。ですが、今後は Amazon側からの購入になると思います。実は、10代の頃から 濃いホクロだったモノ(※顔の頬や、腕の皮膚が柔らかい部分に有ったモノ) が、何故なのか 閉経後の 年齢経過と共に 徐々にイボに変化していったり、又は、頭部に痒みを伴う肌色のイボが複数出たり、又は、首や 揉み上げ(※何故か殆んど毛の有る部分に多く、髪の毛との境目なので うなじ、又は 耳ではなくて 耳よりも顔の頬の脇の 髪の毛の有る部分なので揉み上げ??) に 3mm~5mm の 黒くはなくて肌色の 少し痛い感じの膨らんだイボが出来るので、皮膚健康維持の為に 購入してみました??イボに効果が有ると良いのですが。ハトムギは 20代の頃、足の裏に出来て、かなり厄介だった 痛いウイルス性のイボに 効きましたので(※当時は 皮膚科医に処方して頂いたハトムギ末を服用)私的には、痛くて歩き辛くなっていたので、通院するに至るまでには、軽石やフェイス用のナイフで(少々流血しながら)かなり大変な思いをしながら削っていたウイルス性のイボ、これは 次々に増えてしまう為、自然治癒は困難だと思い 通院しましたが、ハトムギ末を毎日服用する事で それらを 2週間で完治しました。(※当時は 若かったので完治が早かったと思います)こちらの商品にも 効果が有ると良いのですが…「10倍濃縮」のキャッチコピーに引かれて入手しましたが、今のところ サッと溶けて とても飲みやすく 重宝しております?通常の、ハトムギ粒や ハトムギ粉末100%そのものは かなり溶けにくく、味にも 結構なクセが有ります。それに、炊いたり 煮出したり等の 使用するまでの作業にも時間がかかり大変です。その為、普通ならば 続ける事が辛いのですが、その点 こちらの商品は クセが無くて 簡単に取り入れやすく非常に助かります。年齢的にも 時間が掛かりそうなので、長く愛用出来るハトムギ製品の物を探していましたこちらの商品に出合えて 本当に良かったです。効果が有り、良い商品でしたら、これからも 長く続けたいと思います????お肌にはとても良さそうですし、自分的に期待を込めて 星は多めに付けて置きますが、また、何か有りましたらコメント記入させて頂きます??

nyan 4
熱燗に最適。辛いけど、すっきり飲みやすく。アッという間に飲み切ってしまいました。おいしいので、逆に購入すると飲みすぎそうでちゅちょしています。

二重まぶたにする方法 癖づけ 矯正メガネ 50代 アイテム 形成器 メイクキープフレーム アイリッドトレーナー LIHAO 手あみ針 くつした針 短5本針 棒針 竹製 長さ20cm 75本 15サイズ 2.0mmから10.mmまで
トイレットペーパーホルダー おしゃれ 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル - 【BACKYARD FAMILY】- プレゼント&ギフトのギフトモールトイレットペーパーホルダー おしゃれ 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル  - 【BACKYARD FAMILY】- プレゼント&ギフトのギフトモール
たね たね フタバ種苗 パパイヤ ハワイ オウロ 小袋
トイレットペーパーホルダー おしゃれ 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル - 【BACKYARD FAMILY】- プレゼント&ギフトのギフトモールトイレットペーパーホルダー おしゃれ 2連 ダブル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル  - 【BACKYARD FAMILY】- プレゼント&ギフトのギフトモール
マルカン フレークスティック 12本 小動物 おもちゃ
市場 全品P5倍 トイレ用品 おしゃれ ホルダー カジュアル 北欧 ペーパーホルダー カバー 15日20:00〜19日9:59限定 トイレットペーパーホルダー 2連市場 全品P5倍 トイレ用品 おしゃれ ホルダー カジュアル 北欧 ペーパーホルダー カバー 15日20:00〜19日9:59限定 トイレットペーパーホルダー  2連
8x14x4 DDL-1480ZZ ミネベア NMB ステンレス ベアリング DDL1480ZZ ミネベア
Amazonカスタマー 1
他サイトなどでも書かれている通り、完全に目に癒着してしまっていてとにかく外せない。普通は乾燥すると外しにくくなるが、こちらは眼球に癒着してしまっているので、目薬をさそうがとにかく張り付いて癒着したまま外せない。コンタクト歴20年くらいですが、こんなのは初めてです。2時間かけても外せず眼科で高い金を払ってとても痛い思いをして外してもらったが、「将来白内障や弱視、失明になる可能性も十分にあるので、コンタクトは多少お金がかかってもまともなものを選びましょうね」と真剣に注意を受けました。他サイトのレビューをみていると、他にも同じような方がかなり多くいたようです。まだ新しい別のコンタクトが届いてないので仕方なく使うつもりでしたが、こんなことで失明するのも嫌ですしそもそもつけた後に自分で外せないので捨てて、しばらくメガネで過ごします。

炊飯器 3合炊き 3合 IH 一人暮らし用 安い アイリスオーヤマ 銘柄炊き 新生活 おしゃれ シンプル RC-IK30
トイレットペーパーホルダー アイアン 2連 ブラック カウンター用 壁付け用 :106090195:といれたす Yahooショッピング店 - 通販 - Yahoo!ショッピングトイレットペーパーホルダー アイアン 2連 ブラック カウンター用 壁付け用 :106090195:といれたす Yahooショッピング店 - 通販 -  Yahoo!ショッピング
アイアン トイレットペーパーホルダー 2連の人気商品・通販・価格比較 - 価格.comアイアン トイレットペーパーホルダー 2連の人気商品・通販・価格比較 - 価格.com
トイレットペーパーホルダー タオル掛け おしゃれ 2連 ダブル アイアン タオルハンガー 収納 カバー モダン シック シンプル DIY ブラック トイレ タオル タオル掛け付き 棚付き 紙巻器 新築 Blan ブラン 最大63%OFFクーポントイレットペーパーホルダー タオル掛け おしゃれ 2連 ダブル アイアン タオルハンガー 収納 カバー モダン シック シンプル DIY ブラック  トイレ タオル タオル掛け付き 棚付き 紙巻器 新築 Blan ブラン 最大63%OFFクーポン
ふるさと納税 鹿島市 令和4年産 佐賀県産 さがびより 2kg×3
楽天市場】トイレットペーパーホルダー おしゃれ 通販 シングル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル ナチュラルテイスト トイレ用品 トイレタリー インテリア 雑貨 : BACKYARD FAMILY ママタウン楽天市場】トイレットペーパーホルダー おしゃれ 通販 シングル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁  シンプル ナチュラルテイスト トイレ用品 トイレタリー インテリア 雑貨 : BACKYARD FAMILY ママタウン
トイレットペーパーホルダー タオル掛け おしゃれ 2連 ダブル アイアン タオルハンガー 収納 カバー モダン シック Blan トイレ ブラン 紙巻器 DIY 棚付き 新築 タオル掛け付き 【返品?交換対象商品】 タオル シンプル ブラックトイレットペーパーホルダー タオル掛け おしゃれ 2連 ダブル アイアン タオルハンガー 収納 カバー モダン シック Blan トイレ ブラン  紙巻器 DIY 棚付き 新築 タオル掛け付き 【返品?交換対象商品】 タオル シンプル ブラック
トイレットペーパーホルダー おしゃれ 通販 2連 ダブル ...|BACKYARD FAMILY【ポンパレモール】トイレットペーパーホルダー おしゃれ 通販 2連 ダブル ...|BACKYARD FAMILY【ポンパレモール】
4個セット オーリング Oリング ゴムリング 透明ピアス ボディピアス パーツ 透ピ キャッチ シリコン 半透明 クリア FASIO(ファシオ) マスカラ ベース ロングベース 02 7g ラグ シャギーラグ rug 100x140 マイクロファイバーシャギー 北欧 Z4糸 ラグマット カーペット 洗える 冬用 夏用 モダンデコ
FOXVGV 5
極普通に美味しかったです。手持ちを食べきったら再度購入したい。

やっちゃん 5
飛騨牛は、知る人ぞ知る隠れた名品。霜降りの脂の差し具合も良く、柔らかくてジューシーでした。

アルミラダーレール 2本セット スロープ 折りたたみ スタンド付き アルミトラック ラダーレール 農機具用 バイク トランポ 滑り止め Aタイプ ベビーチェア キッズチェア ロータイプ ローチェア 子供用椅子 木製 イス いす 大和屋 アーチIII Arch テーブル付 かわいい おしゃれ アーチ メーカー保証 北欧 YAMAZAKI 傘立て US-MV 36本用 アンブレラスタンド US-MVシリーズ 玄関 収納 スチール オフィス 店舗 雑貨 インテリア
再再販! トイレ収納 1年保証 トイレットペーパーホルダー DIY 新生活 白 2連 ダブル ブラック 黒 棚付き オシャレ ブラン ホワイト アイアン おしゃれ ヤマソロ カバー トイレ用ペーパーホルダー再再販! トイレ収納 1年保証 トイレットペーパーホルダー DIY 新生活 白 2連 ダブル ブラック 黒 棚付き オシャレ ブラン ホワイト  アイアン おしゃれ ヤマソロ カバー トイレ用ペーパーホルダー
《送料無料》 和菓子色々5種 和菓子 詰め合わせ お供え 誕生日 プレゼント 法事 ギフト お試し お菓子 志 内祝 お歳暮 お年賀
楽天市場】トイレットペーパーホルダー おしゃれ 通販 シングル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁 シンプル ナチュラルテイスト トイレ用品 トイレタリー インテリア 雑貨 : BACKYARD FAMILY ママタウン楽天市場】トイレットペーパーホルダー おしゃれ 通販 シングル アイアン 木製 ホルダー シェルフ型 ブラック ホワイト ペーパーホルダー diy 壁  シンプル ナチュラルテイスト トイレ用品 トイレタリー インテリア 雑貨 : BACKYARD FAMILY ママタウン

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パッケージとしてインポートできました。

[スプレンノ] スケボー スケートボード バッグ ケース リュック skateboard 収納 大型バッグ 防水 (120X38cm)

本日はMRGT調査枠です。

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

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

富士フイルム チェキフィルム instax mini 絵柄入りフレームタイプ RAINBOW (レインボーフィルム) (メール便可

本日は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を見ることができます。

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

本日は以上です。

ISEKI ヰセキ イセキ純正部品 エアクリーナエレメント (品番 1575-104-202-00) (トラクター エレメント)

本日は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日ほど筆者は所属している会社の方で展示会に出展しておりました。

オリーブの土 ( 12L )

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

〇問題

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

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

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

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

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

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

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

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

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

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

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

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

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