1. ホーム
  2. 家具、インテリア
  3. ラック、シェルフ、本棚
  4. マガジンラック
  5. 本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN
最大97%オフ! 最上の品質な 本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN pfsa131.com pfsa131.com

本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN

7039円

本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN

【送料無料】
山善 YAMAZEN
本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm
CDM-2X2D

本体サイズ
幅70×奥行33×高さ82.5cm 重量20kg

材質
本体:プリント紙化粧パーティクルボード
背板:プリント紙化粧繊維板

仕様
●原産国:インドネシア
●組立品です
●組立時間:約40-60分

商品説明
●お気に入りの雑誌を飾れる、大容量本棚
●天板は物の落下を防ぐ安心のこぼれ止め付き
●可動棚2枚付き(3段階で高さ変更可能)
●「巾木カット」加工で壁とのすき間を緩和
●各収納部は付け外しできる可動棚付き
●可動棚を中央に配置すると、コミック本(普通サイズ)や文庫本を上下に収納可能
●棚を外せば、扉の中に雑誌や絵本、A4ファイルも収納可能
●ディスプレイ部内寸:幅25 奥行2cm
●収納部内寸:幅32.5 奥行26 高さ38cm、間口:幅30cm
●中棚内寸:幅32.5 奥行25.5cm
●底面から中棚有効内寸高さ:15/18.5/22cm
●天板内寸:幅67 奥行28.5 深さ3cm
●甲板高さ:78.5cm




















山善 YAMAZEN
本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm
CDM-2X2D
本体サイズ 幅70×奥行33×高さ82.5cm 重量20kg
材質 本体:プリント紙化粧パーティクルボード
背板:プリント紙化粧繊維板
仕様 ●原産国:インドネシア
●組立品です
●組立時間:約40-60分
商品説明 ●お気に入りの雑誌を飾れる、大容量本棚
●天板は物の落下を防ぐ安心のこぼれ止め付き
●可動棚2枚付き(3段階で高さ変更可能)
●「巾木カット」加工で壁とのすき間を緩和
●各収納部は付け外しできる可動棚付き
●可動棚を中央に配置すると、コミック本(普通サイズ)や文庫本を上下に収納可能
●棚を外せば、扉の中に雑誌や絵本、A4ファイルも収納可能
●ディスプレイ部内寸:幅25 奥行2cm
●収納部内寸:幅32.5 奥行26 高さ38cm、間口:幅30cm
●中棚内寸:幅32.5 奥行25.5cm
●底面から中棚有効内寸高さ:15/18.5/22cm
●天板内寸:幅67 奥行28.5 深さ3cm
●甲板高さ:78.5cm
●耐荷重:天板10kg、棚板10kg(1枚あたり)、可動棚10kg(1枚あたり)ディスプレイ部1kg(1か所あたり)、全体耐荷重94kg
●コミック本収納目安:1マスに38冊(19冊×2段)、本品最大152冊
※2021年4月1日よりカラーをリニューアルし、木目の質感が深まった新色に切り替わります。
商品
補足説明
YAMAZEN ヤマゼン 山善 通販 ディスプレイラック ラック 本棚 木製 扉 収納 本 雑誌 絵本 オープン キャビネット 奥行33 幅70 2列2段 二段 ディスプレーラック マガジンラック 絵本ラック 木製ラック 収納ラック コミックラック 多目的ラック マルチラック ウッドラック オープンラック DVDラック DVD収納ラック CDラック CD収納ラック ブックラック 雑誌ラック 扉付きカラーボックス 棚 絵本棚 絵本だな 本棚 飾り棚 扉付き本棚 書棚 収納棚 収納ボックス リビング収納 キッチン収納 キッチン収納棚 本収納 扉付き収納 CD収納 DVD収納 シェルフ ブックシェルフ ボックスシェルフ コミックシェルフ マガジンシェルフ オープンシェルフ マガジンスタンド ディスプレイ 木製 ウッド 扉 扉付き フタ付き 蓋つき ふた付き 前開き 目隠し 扉付き棚 ロータイプ ロー 低め 低い コンパクト 文庫本 CD DVD BD 漫画 マンガ コミック おもちゃ 洋服 衣類 書斎 リビング 子供部屋 子ども部屋 子供 こども 子ども キッズ キッチン 台所 寝室 シンプル カフェ風 北欧 大人可愛い かわいい モダン おしゃれ オシャレ お洒落
89850/JW3 71246/OK3 89851/WL3

本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN

楽天市場】マガジンラック 本棚 薄型 幅51.5 奥行16 高さ72 cm CDM-7050 書棚 奥行16cm ディスプレイラック ラック 収納ラック 収納 棚 カフェ風 おしゃれ 絵本 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】マガジンラック 本棚 薄型 幅51.5 奥行16 高さ72 cm CDM-7050 書棚 奥行16cm ディスプレイラック ラック  収納ラック 収納 棚 カフェ風 おしゃれ 絵本 山善 YAMAZEN 【送料無料】 : くらしのeショップ
ROGUE5 5
写真通りのものが来ました!

新居に引っ越し、リビングにディスプレイラックを置きたく色々と探しておりました。 なかなか我が家のリビングに合う色、デザインの物がなく、実店舗にも何件か足を運び探していたのですが、こちらのラックが写真で見た感じで一目惚れした為、購入に至りました。 組立ては主人と2人で30分掛からないくらい出来ました! 夫婦共で定期購読している雑誌が4種ある為、最新号を表に置き、中には私のCD、DVDを収納しております。 特に不具合もなく、気に入っています!
楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック  収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ
文助ちゃん 3
旅行などジュースを持って行きにくい時のために購入しました。手軽に摂取でき便利です。

中学受験算数 がい数 Ewin キーボード bluetooth ワイヤレス iPad iPhone用 JIS基準日本語配列 スタンド付き タッチパッド搭載 ロック可能 ふるさと納税 中津川市 御菓子所 川上屋 嬉しの栗10個入り 帽子 メッシュキャップ CAP メンズ レディース 当日発送 送料無料 キャップ ゴルフ帽 野球帽 通気性抜群 UVカット 日避け スポーツ 5色 誕生日 父の日ギフト
楽天市場】マガジンラック 本棚 薄型 幅51.5 奥行16 高さ72 cm CDM-7050 書棚 奥行16cm ディスプレイラック ラック 収納ラック 収納 棚 カフェ風 おしゃれ 絵本 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】マガジンラック 本棚 薄型 幅51.5 奥行16 高さ72 cm CDM-7050 書棚 奥行16cm ディスプレイラック ラック  収納ラック 収納 棚 カフェ風 おしゃれ 絵本 山善 YAMAZEN 【送料無料】 : くらしのeショップ
クレトム サンシェード 200系ハイエース専用 フロントガラス用日よけ SA258 (SK-II/SK2)エスケーツースキンパワーエアリー 50g 美容乳液 乳液・ミルク 濃縮ピテラ スキンケア SK-2 エスケーツー エイジングケア 3262
ランニング太郎 5
サイズもちょうど良くてピッタリだし可愛い!

本棚 ディスプレイラック 幅35.5 奥行33 高さ82.5 cm CDM-1X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN 通販 LINEポイント最大0.5%GET | LINEショッピング本棚 ディスプレイラック 幅35.5 奥行33 高さ82.5 cm CDM-1X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック  収納 山善 YAMAZEN 通販 LINEポイント最大0.5%GET | LINEショッピング
安価なのに、とても素敵で使いやすく気に入っています! 色はオフホワイトなので、真っ白の家具の横でもベージュの壁の前でも馴染みます。うっすら木目も楽しめます。 組み立ては2人だと30分弱で簡単でした。 組み立てる前に材料を並べて確認して、きちんと読めばプラスドライバー一本で(電動式は使わないように書いてあります)大丈夫ですし、間違えてもやり直せました。 2個ずつ買うか4個の方を買うか迷いましたが、観音開きの4個を選んで正解でした!上にもぬいぐるみや植物など飾りやすくて嬉しいです。 容量もたっぷり入りますので、ずっしり収納しても脚がないので安心です。
ヨネックス(YONEX) テニス ラケットケース ラケットバッグ6 BAG2222R (メンズ、レディース)
楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック  収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ
ヒロシです 3
使い物にならなかった。

楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック  収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ
4530935416257 075705 アライ Arai RX-7X EPシステムネック 大 (61-62) JP店 まつげエクステ クチュリエールエクステンション 1列 D2カール 約250本 マツエク ロッソモデロマフラー専用!フランジサイレンサー 気になってきた音量に!2分割以上のマフラーに最適! リュック 通学 女子 小学生 wyt-614 Merry Crown メリークラウン リボンチャーム Dパック 15L 撥水 接触冷感 A4 キッズ 女の子 ガールズ かわいい リボン 遠足
Amazon|山善 マガジンラック 幅51.5×奥行16×高さ72cm スリム 天板こぼれ止め 壁にぴったり 北欧 組立 CDM-7050(JW)|キャビネット オンライン通販Amazon|山善 マガジンラック 幅51.5×奥行16×高さ72cm スリム 天板こぼれ止め 壁にぴったり 北欧 組立 CDM-7050(JW)|キャビネット  オンライン通販
カウンター下の収納に4セット購入しました。うち一つが扉をはめる穴が開いておらず、インパクトドライバーで穴をあけました。それ以外は特段問題がなく、商品的にも良かったと思います。
Journey Pipe 4(ジャーニーパイプ4)
楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック 収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ楽天市場】本棚 ディスプレイラック 幅70 奥行33 高さ82.5 cm CDM-2X2D 書棚 扉付き マガジンラック 棚 シェルフ ラック  収納ラック 収納 山善 YAMAZEN 【送料無料】 : くらしのeショップ
組立てる前に板に傷がありましたが、完成したら見えない場所だったのでクレームを入れずに使っています 組立は1人で3時間くらいかかりました 最後の扉をつけるときが少し難しかったです おしゃれなマガジンラックが自室にあるとちょっとウキウキします 迅速なご対応ありがとうございます
Amazon|山善 マガジンラック 幅51.5×奥行16×高さ72cm スリム 天板こぼれ止め 壁にぴったり 北欧 組立 CDM-7050(JW)|キャビネット オンライン通販Amazon|山善 マガジンラック 幅51.5×奥行16×高さ72cm スリム 天板こぼれ止め 壁にぴったり 北欧 組立 CDM-7050(JW)|キャビネット  オンライン通販
アトリエシュー おくるみ かわいい ベビー ブランケット ベビーケット オーガニックコットン ドールハウス 出産祝 カクダイ KAKUDAI つめかえパック そのままポンプ オレンジ 明治 チョコレート効果 2種435g(カカオ 72% 225g 約45個入 + カカオ 86% 210g 約42個入 )大袋 個包装 ビターチョコレート 板チョコ セット 送料無料 座布団 和風 5枚セット 55×59cm 銘仙判 国産 綿 100% ラウンド クッション 和モダン 四角 おしゃれ 安い 分厚い 和室 来客用 お盆 新生活 一人暮らし SOFFE ソフィー 9041NX OFFICIAL U.S.NAVY UNIFORM フィジカル トレーニング スウェットパンツ MADE IN USA メンズ 米海軍 ミリタリーパンツ
名無し 3
他の方のレビューにあるような濁りや汚れを感じませんが使う心地はとても気待ちが良いです。使用した後のお肌のしっとり感やつるすべ感がクセになります(*^▽^*)忙しい朝にはとても便利だと思います。難点を挙げるならば顔全体にスプレーするので30秒から1分ほど待つ間も目を開けられないこととお肌が弱い方だと刺激を感じるかもしれないということ。私は気に入りましたのでリピします。

マグネットキャッチの扉側鉄板の皿座グリが浅く、皿ビスが浮き出てしまい、磁石と皿ビスだけで接触するので保持力が弱い。 確実に磁石にくっついた事を確認して手を離さないと扉が開いてしまう。 組立には電動ドライバーがあると簡単。 あとは特に指摘する事は無い。 商品の入荷待ちが長い。
Amazon カスタマー 3
今回購入したピンクはかわいいピンク色でしたが、生地が薄かったです。サイズは少しちいさめで生地の伸びもそんなにないのでサイズを間違えるとサイドの縫い目が大きくなってしまいそうです。値段相応なので期待せず使い捨てと思えば納得できる商品です。

ユウテック リアピラーバー(ストレート) アルト NA HA36S HA36V
Amazon|山善 ディスプレイラック マガジンラック 幅70×奥行33×高さ82.5cm 天板こぼれ止め 中棚高さ調節可能 左右開閉式 組立品 ジョイホワイト CDM-2X2D(JW)|キャビネット オンライン通販Amazon|山善 ディスプレイラック マガジンラック 幅70×奥行33×高さ82.5cm 天板こぼれ止め 中棚高さ調節可能 左右開閉式 組立品  ジョイホワイト CDM-2X2D(JW)|キャビネット オンライン通販
Roborock ロボロック S6 MaxV S6 S5Max E4 ロボット掃除機専用アクセサリー メインブラシカバー ×1 別売りアクセサリー

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

ピジョン おしゃぶり FunFriends 6-18ヵ月 L ミッキー柄 1個入

本日はMRGT調査枠です。

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

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

送料無料 ネコポス便 デミ ビオーブフォーメン フォルスナリシングX450ml(詰替) 業務用 (洗い流さない頭皮用トリートメント) BC-T

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

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

本日は以上です。

アクア AQF-SF11M(K) 冷凍庫 (105L・アップライトタイプ) シャインブラック

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

フォルクスワーゲン カーボン柄 イタリア製スエード ステアリングカバー ハンドルカバー 38cm トゥーラン T-cross ビートル ゴルフ

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

〇問題

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

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

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

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

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

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

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

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

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

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

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

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

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