1. ホーム
  2. 車、バイク、自転車
  3. 自動車
  4. ブレーキ
  5. 全国送料200円 BMW E90 E91 E92 E93 E87 E82 320i 325i 335i 130i 135i フロント ブレーキパッドセンサー 1本 34356792560
OUTLET SALE すぐったレディース福袋 全国送料200円 BMW E90 E91 E92 E93 E87 E82 320i 325i 335i 130i 135i フロント ブレーキパッドセンサー 1本 34356792560 pfsa131.com pfsa131.com

全国送料200円 BMW E90 E91 E92 E93 E87 E82 320i 325i 335i 130i 135i フロント ブレーキパッドセンサー 1本 34356792560

360円

全国送料200円 BMW E90 E91 E92 E93 E87 E82 320i 325i 335i 130i 135i フロント ブレーキパッドセンサー 1本 34356792560

[3シリーズ]
E90 E91:320i 325i 335i
E92:325i 335i
E93:335i

[1シリーズ]
E87:130i
E82:135i

■全国送料200円 BMW フロント ブレーキパッドセンサー 1本
■純正部品番号:34356792560
■交換時期の症状:ブレーキパッド消耗によるランプの点灯、ブレーキパッド交換時に
■管理番号:34356792560
■Search word:パットセンサー ディスクパッドセンサー

■適合確認について
適合車種欄の該当車両であっても不適合の場合がありますので、必ず純正品番号又は部品番号をご確認の上、ご購入ください。
適合の確認は、お問い合わせフォームに【年式】【グレード】【車台番号全桁】を記載いただき、送信/ご連絡ください。
お電話又はFAXでの適合確認もお受付しております。
適合確認をせずにご購入された場合、不適合でも返品・交換不可となります。



プロテックオートストア
プロテックオート
ベンツ・BMWの部品は「安心・親切・丁寧・安い」プロテックオート。OEM品、消耗品、足回り、チューニングパーツを破格にて販売。
即納可能、指定エリア翌日届 ニュースレター申し込み 9時から営業中!ご購入前のご注意

注意事項
ヤフーショッピング店はこちら

ご落札の前に以下の商品の適合確認・同意事項・送料についてご確認ください
商品の適合確認・同意事項 → 同意事項 送料 → ご利用ガイド
定形外郵便での発送について ※必ずお読みください
<<重要>>
定形外郵便の荷物には正確な住所の記載が必要です。
ご住所入力欄には送付先名、建物名・アパート名・マンション名のアルファベット表記、カタカナ表記を含め、正確な住所の入力をお願い致します。
住所が省略されている場合、配送先不明によりお荷物が配送されません。

1. 本商品は定形外郵便でのお届けですので、土日祝日を除く2日以内に発送致します。
2. 全国送料200円にてお届け致します。
3. 定形外郵便につき、同梱可能な商品は限られております。
同梱の承れない商品に関しましては個別配送となり、別途送料が発生致します。
※同梱可能な商品の限度個数につきましては各商品ページに記載しております。ご不明な際にはお問い合わせください。
4. お支払い方法はクレジット決済、又は、銀行振込のみにて承ります。
代金引換での発送はできかねますのご注意ください。
5. 定形外郵便には破損や紛失に対しての損害補償はございません。
6. 梱包は商品の外箱にエアキャップを3重に巻き、細心の注意を払い破損のないよう努めておりますが、 万が一事故が発生しました際の責任は負いかねますので予めご了承ください。
7. 郵便物につき、お届けにお時間がかかることもございます。(通常3〜7日程度)
8. 配達日時の指定サービス及び、荷物の追跡サービスはございません。
9. 商品不良の際の交換品も定形外郵便にて発送致します。
※上記内容をご理解、ご了承いただけた方のみ定形外郵便でのご購入をお願いします。
発送後のキャンセルは対応致しかねます。

■宅急便(代引き)での発送も対応します。
弊社出品の別商品をご注文いただいている場合は、同梱の上で発送致します。
また、お急ぎの方、代引きをご希望の方は通常送料にて宅急便での発送も受け付けております。
送料、代引き手数料はご利用ガイドをご参照ください。

「宅急便での発送」、又は「代引きでのお支払い」をご希望の方は、ご購入のお手続き前にお問い合わせフォーム又はお電話にてご連絡ください。
BOSCH

お届け・送料について
■配送業者:ヤマト運輸
※配送業者の指定はできません。



■商品発送日
宅急便:16:00までのご注文は当日発送いたします。
    ※土日祝日も発送しております。
定形外郵便:土日祝日を除く2日以内に発送致します。

◆ご注意 次の場合は翌日以降の発送となります。
・17:30の時点で入金確認が出来ない場合
・カード決済の確認が出来ない場合
・お客様確認が必要な商品で確認がとれていない場合



■配送時間指定
以下のように配送時間指定が可能です。入力画面でご指定ください。
◆午前中(12時まで)
◆14~16時
◆16~18時
◆18~20時
◆19~21時
※2017年6月19日出荷分より改正されました。旧時間指定をされた際には、12~14時は「指定なし」、20時~21時は「19時~21時」、のように自動変換されますので予めご了承ください。

※配送業者の都合で上記表示より遅れる場合もございます。 また、一部地域におきましては、交通・物流網の乱れ等により、商品の発送、配送に遅延がでる可能性がございます。 お客様のご理解、ご了承をいただけますようお願いいたします。



■航空便での発送(沖縄、一部離島など)
沖縄や離島への発送の際、一部の商品(圧力がかかるもの、オイル・燃料系など可燃性があるものなど)が危険物扱いとなり航空便での輸送ができません。
該当商品については船便での配送となり、到着予定日は発送日より5~7日程度になります。
お急ぎの方は、ご購入前に問い合わせフォーム、またはお電話にて到着予定日のご確認をお願いします。
また、下記の記載がない商品でもX線検査により船便となる可能性がございます。 配達遅延についての注文キャンセルは承っておりません。予めご了承ください。

※航空便で取り扱いできない商品
コンプレッサー、サスペンション、潤滑剤オイル、ショックアブソーバー、トランスミッション、燃料ポンプ、発電機、モーター、油圧シリンダー、油圧ポンプ、油圧サスペンション、油圧モーター、等
■同梱配送
ご注文の商品は基本的に1個口のお荷物で同梱にて発送致します。 電動ファン、ラジエーター等の大型商品は、同梱不可の為別口発送になります。 またご注文商品が多数の場合には同梱できない場合がございます。複数口のお荷物での発送の場合はお荷物ごとに別途送料が掛かりますのでご了承ください。同梱可能かご不明の場合は、ご注文いただく前にお問い合わせページからご連絡ください。




■送料
※商品ページに個別送料設定が有る商品がございます。商品ページをご確認ください。
※沖縄・離島への送料につきましては、カート計算時に自動で入力される金額は目安です。商品のサイズにより異なりますので、お支払い前に必ず弊社からのご連絡をご確認ください。
※サスペンションキット、エアサス、ラジエーター、電動ファン、ハードトップスタンド等の大型商品は別送料となっております。
1,200円: 北海道
760円: 本州
1,080円: 四国、九州
要相談: 沖縄
ASK: 北海道・沖縄以外の離島


■大型商品送料
(サスペンションキット、エアサス、ラジエーター、電動ファン、ハードトップスタンド、他)(税込)
1,800円: 北海道
1,200円: 本州
1,600円: 四国、九州
3,500円: 沖縄
ASK: 北海道・沖縄以外の離島

INFORMATION
お支払い方法について

全国送料200円 BMW E90 E91 E92 E93 E87 E82 320i 325i 335i 130i 135i フロント ブレーキパッドセンサー 1本 34356792560

Amazon | BMW車用 E82 E87 E88 E90 E91 E92 E93 F20 F21 F30 F31 フロント ブレーキパッドセンサー 116i 118i 120i 320i 323i 325i 335i 34356789440 | 車&バイク | 車&バイクAmazon | BMW車用 E82 E87 E88 E90 E91 E92 E93 F20 F21 F30 F31 フロント ブレーキパッドセンサー  116i 118i 120i 320i 323i 325i 335i 34356789440 | 車&バイク | 車&バイク
QRコードスタンプ 手帳 スタンプ はんこ かわいい 文房具 文具 ハンドメイド 手作り システム手帳 リフィル スケジュール帳 バレッタ オーバル型PPデザインバレッタ 新発売セール
Amazon.co.jp: BMW車用 E87 E90 フロント ブレーキパッド左右 + パッドセンサー1本 セット 120i 320i 34116769951 34116769763 34356789439 : 車&バイクAmazon.co.jp: BMW車用 E87 E90 フロント ブレーキパッド左右 + パッドセンサー1本 セット 120i 320i  34116769951 34116769763 34356789439 : 車&バイク
BMW 1 3シリーズ E82,E88,E90,E91,E92,E93 フロントブレーキパッドセンサー マイレ製 価格は安くBMW 1 3シリーズ E82,E88,E90,E91,E92,E93 フロントブレーキパッドセンサー マイレ製 価格は安く
子供用 メイクセット キッズ コスメセット ごっこ遊び キッズコスメセット ままごと 化粧品おもちゃ メイクアップセット 化粧道具 お化粧セット 中国製 23pcs
BMW (E82 E84 E87 E88 E90 E91 E92 E93) / リア ブレーキパッド 左右セット / 34216774692 / BMW純正 | ユーロオート.JP【EUROAUTO.JP】通販BMW (E82 E84 E87 E88 E90 E91 E92 E93) / リア ブレーキパッド 左右セット / 34216774692 / BMW純正  | ユーロオート.JP【EUROAUTO.JP】通販
faaab 3
ご注意下さい。 ICチップはありますが、クリアされていないケースにインクを充填しただけの商品のようです。残量表示は出来ません。 説明にしっかり明記してから販売して欲しいですね。 返品します。

地先ブロック B型 パール金属 H-5650 デュアリス 18-8ステンレス製スライド式シンク調理台
メーカー在庫限り品 中古車 マツダ RX-8 本革 エアクリ BOSE 社外エアロ 記録簿 exelop.comメーカー在庫限り品 中古車 マツダ RX-8 本革 エアクリ BOSE 社外エアロ 記録簿 exelop.com
TIANQIU CR1632 ×10個 CR1632 TIANQIU CR1632 乾電池 ボタン電池 リチウム電池 CR1632 TIANQIU CR1632
この度は、とても迅速な対応をしていただきありがとうございました。またの機会もお世話になりたいと思えるとても信頼できるストアー様でした。次回も宜しくお願いいたします。
ワンピース[ミニポーチ]ネオプレーン フリー ポーチ/海賊万博 週刊少年ジャンプ m2lKf67Tsg, ファッション - terapiatelakka.fiワンピース[ミニポーチ]ネオプレーン フリー ポーチ/海賊万博 週刊少年ジャンプ m2lKf67Tsg, ファッション -  terapiatelakka.fi
BMW E82 E87 E88 E90 E91 E92 E93 リア ブレーキパッドセンサー 116i 118i 120i 320i 323i 325i 335i 34356789445 出荷締切18時(BMW用)|売買されたオークション情報、yahooの商品情報をアーカイブ公開 - オークファン(aucfan.com)BMW E82 E87 E88 E90 E91 E92 E93 リア ブレーキパッドセンサー 116i 118i 120i 320i 323i 325i  335i 34356789445 出荷締切18時(BMW用)|売買されたオークション情報、yahooの商品情報をアーカイブ公開 -  オークファン(aucfan.com)
コバックス[9713]ファイル当てゴム キャンディブロックW[取寄]
じゅん 3
運転席側が少し短い。遠目では分からないので まあまあ満足してる。値段相応かな。

チョークケース 黄 DC-CK-Y 直送品 日本理化学工業チョークケース 黄 DC-CK-Y 直送品 日本理化学工業
ローファー JVAM スクエアトゥローファー ビジネススラックス ノータック ロング メンズ 無地 シンプル ストレッチ 紳士 スリム 細身 洗える 通勤 オフィス 秋冬 EmersonGear PVC Patch パッチ“POLICE” メール便 ネコポス可 巾着付き! お出かけ ガーゼ 2枚組 セット ベビー ガーゼハンカチ 安心 の 日本製 ガーゼタオル コットン100% DORACO ドラコ 出産祝い ギフト 人気 ソファーカバー1 2 3 4人掛け北欧風コーナーソファカバー無地マルチカバーストレッチL字カウチ対応L型肘付き滑り止め四季兼用おしゃれ洗濯OK
キトリさん 5
色々なお品を検討して、見た目もシンプルで自然の音5種類&可愛らしい形のこちらのお品にしてみました。日本語に説明書がありましたので取り扱いは簡単でした。一番気に入ったところはバッテリー内臓でUSB充電出来る所でした。星の色がグリーンですが私は星が白でなくても全然気にならないし逆に寝るときは眼鏡をかけませんので(笑)近眼でもグリーンがきちんと認識でして良かったです。荷物ごちゃごちゃのお部屋でもこのオーロラ&星でライトアップすると一気に見違えて綺麗なお部屋に変身(笑)めちゃくちゃ気に入りました。自然の音楽は鈴虫&小動物、海波の音がお気に入り、その他雨や豪雨は10秒毎の繰り返しの切れ目がちょっと気になりましたが許容範囲です。あと音量が最小でもかなり大きめですので、寝ながら聞くにはリラックスできない感じなので、もう少し小さい音量だったら良かったです。このお値段でこのクオリティーは大満足でした。

ケースペック K-SPEC ヴァリトン 砲弾タイプマフラー M125 サイレンサー付属 スズキ SUZUKI ワゴンR MH23S RR不可 SILKBLAZEエアロ車用 2008年09月〜
ふるさと割】 - 分割式ドライブシャフトブーツ speasy スズキ H21.12 BAC-KA02R 内側用 H18.ふるさと割】 - 分割式ドライブシャフトブーツ speasy スズキ H21.12 BAC-KA02R 内側用 H18.
OD261736R 在庫あり オーデリック ダウンライト LED4.5W 電球色 埋込穴125 白熱灯60W相当 非調光 がまかつ(Gamakatsu) スイベル 桜幻 鯛ラバ用 カスタムスイベル 4個
Kena 5
端がゼロから始まるので助かります。20センチタイプがあれば欲しかったです。

タイガー魔法瓶 オーブントースター KAM-R131 WM マットホワイト
ふるさと割】 - 分割式ドライブシャフトブーツ speasy スズキ H21.12 BAC-KA02R 内側用 H18.11 HG21S インナーブーツ セルボモード スピージー 駆動系パーツふるさと割】 - 分割式ドライブシャフトブーツ speasy スズキ H21.12 BAC-KA02R 内側用 H18.11 HG21S  インナーブーツ セルボモード スピージー 駆動系パーツ
巾木 永大 お取り寄せ商品 巾木 幅木・廻り縁兼用 7mm厚タイプ 7mm×35×3950 (6本入り)セット販売 A品 エイダイ IPE-MH201XX39-6 約10kg 代引不可
納得できる割引 Z4 ロードスター2.2i 社外マフラー 外AW ローダウン 記録簿付 assessoriarealizze.com.br納得できる割引 Z4 ロードスター2.2i 社外マフラー 外AW ローダウン 記録簿付 assessoriarealizze.com.br
日本酒 高知 土佐酒造 桂月 純米大吟醸 スパークリング 好 Hao ハオ 375ml 炭酸 女子会 パーティー ★Kura Master 2020 金賞受賞

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

ダイニングテーブル ダイニングテーブルセット 2人 ダイニング 椅子 ダイニングセット 伸縮 アンドリアバタフライ3点セット テーブル 北欧 人気

本日はMRGT調査枠です。

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

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

(SALE セール) ビルケンシュトック サンダル メンズ レディース アムステルダム クロッグ レギュラーフィット (幅広) BIRKENSTOCK AMSTERDAM GC559121 SK

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

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

本日は以上です。

2023年卓上 深田恭子カレンダー

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

ささめ針 リューギDSヘビーデルタTG SHD083 3 8oz

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

〇問題

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

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

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

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

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

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

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

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

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

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

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

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

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