1. ホーム
  2. 車、バイク、自転車
  3. バイク
  4. バッテリー
  5. バイクバッテリー充電器セット ◆ PerfectPower充電器 台湾 YUASA ユアサ TTZ10S 充電済 互換 YTZ10S FTZ10S 初期充電済 即使用可能 XSR900 YZF-R1 CB400
品質満点 お気に入り バイクバッテリー充電器セット PerfectPower充電器 台湾 YUASA ユアサ TTZ10S 充電済 互換 YTZ10S FTZ10S 初期充電済 即使用可能 XSR900 YZF-R1 CB400 kentaro.sakura.ne.jp kentaro.sakura.ne.jp

バイクバッテリー充電器セット ◆ PerfectPower充電器 台湾 YUASA ユアサ TTZ10S 充電済 互換 YTZ10S FTZ10S 初期充電済 即使用可能 XSR900 YZF-R1 CB400

2910円

バイクバッテリー充電器セット ◆ PerfectPower充電器 台湾 YUASA ユアサ TTZ10S 充電済 互換 YTZ10S FTZ10S 初期充電済 即使用可能 XSR900 YZF-R1 CB400

信頼のユアサ製バッテリーとパーフェクトパワー充電器のセットです

信頼のユアサです。
液注入済み、初期充電済み、電圧チェック済みですので、即、利用可能です。

電圧:12V
サイズ(目安):横幅150/奥行87/高93(mm)
重量:2.7kg

この商品は並行輸入品です。
Maid in Taiwan











信頼のユアサ製バッテリーとパーフェクトパワー充電器のセットです

信頼のユアサです。
液注入済み、初期充電済み、電圧チェック済みですので、即、利用可能です。

電圧:12V
サイズ(目安):横幅150/奥行87/高93(mm)
重量:2.7kg

この商品は並行輸入品です。
Maid in Taiwan

●適合車種
※参考ですので適合保証をするものではありません。
※装着済みのバッテリーを必ずご確認ください。

400X / 2BL-NC47
400X(ABS) / 2BL-NC47
400X(ABS) / EBL-NC47
CB400 SUPER BOL D'OR / BC-NC39
CB400 SUPER BOL D'OR / EBL-NC42
CB400 SUPER BOL D'OR (ABS) / EBL-NC42
CB400 SUPER BOL D'OR ABS / EBL-NC42
CB400 SUPER BOL D'OR ABS E Package / EBL-NC42
CB400 SUPER FOUR / BC-NC39
CB400 SUPER FOUR / EBL-NC42
CB400 SUPER FOUR (ABS) / EBL-NC42
CB400 SUPER FOUR ABS / EBL-NC42
CB400 SUPER FOUR ABS E Package / EBL-NC42
CB400 SUPER FOUR 教習車 / EBL-NC42
CB400F (ABS) / EBL-NC47
CB400SF VTEC SpecII / BC-NC39
CBR400F (ABS) / EBL-NC47
CBR400R / 2BL-NC47
CBR400R (ABS) / 2BL-NC47
CBR400R (ABS) / EBL-NC47
CBR400X (ABS) / EBL-NC47
VT400S / EBL-NC46
シャドウ カスタム / EBL-NC45
シャドウ クラシック / EBL-NC44
シャドウSlasher / BC-NC40
シャドウSlasherデラックス / BC-NC40
CB650F / 2BL-RC83
CB650F / EBL-RC83
CBR600RR / BC-PC37
CBR600RR / EBL-PC40
CBR600RR ABS / EBL-PC40
CBR600RR Special Edition / BC-PC37
CBR650F / 2BL-RC83
CBR650F / EBL-RC83
CBR650FA-E / EBL-RC83
CB900ホーネット / BC-SC48
CBR1000RR / BC-SC57
CBR1000RR ABS / EBL-SC59
CBR1000RR SP / EBL-SC59
CBR1000RR・スペシャル / BC-SC57
CBR900RR / SC50
CBR929R / -
CBR929RR / SC44
CBR954RR / BC-SC50

■YAMAHA(車種名/型式)
MAXAM CP250 / BA-SG17J
MAXAM CP250 / JBK-SG21J
マジェスティ YP250 / JBK-SG20J
XVS400 ドラッグスター / EBL-VH02J
XVS400C ドラッグスタークラシック / EBL-VH02J
YFM350R(四輪バギー) / -
ドラッグスター XVS400 / EBL-VH02J
ドラッグスター クラシック XVS400C / EBL-VH02J
MT-07 / EBL-RM07J
MT-07 ABS / 2BL-RM19J
MT-07A / EBL-RM07J
MT07 / EBL-RM07J
MT07A / EBL-RM07J
XP500 TMAX / EBL-SJ08J
XP500 TMAX WGP50th / EBL-SJ08J
YZF-R6 RaceBace / -
MT-09 / EBL-RN34J
MT-09 ABS / 2BL-RN52J
MT-09 TRACER ABS / 2BL-RN51J
MT-10 ABS / 2BK-RN50J
MT-10 SP ABS / 2BK-RN50J
MT09 / EBL-RN34J
MT09A / EBL-RN34J
MT09TRA / EBL-RN36J
MT09TRA / -
XSR900 / EBL-RN46J
XSR900 XSR / EBL-RN46J
YZF-R1 / -
YZF-R1 / EBL-RN24J
YZF-R1 / 海外向ケ
YZF-R1 50th Anniversary / EBL-RN24J

■KAWASAKI(車種名/型式)
Ninja 650 / 2BL-ER650H
Ninja 650 ABS / 2BL-ER650H
Ninja 650 ABS KRT Edition / 2BL-ER650H
Ninja 650 KRT Edition / 2BL-ER650H
VULCAN S / EBL-EN650A
VULCAN S / EN650AGF
VULCAN S ABS / EN650BGF
VULCAN S ABS / EBL-EN650A
Z650 / 2BL-ER650H
Z650 ABS / 2BL-ER650H
Ninja H2 / ZX1000NFF
Ninja H2 Carbon(マレーシア仕様) / ZX1000XHFA
Ninja H2(東南アジア仕様) / ZX1000NGF
Ninja H2(マレーシア仕様) / ZX1000XHF
Ninja H2R / ZX1000PFF
Ninja H2R / ZX1000PGF
Ninja ZX-10R ABS / ZX1000KCK
Ninja ZX-10R ABS / ZX1000KDF
Ninja ZX-10R ABS / ZX1000KEF
Ninja ZX-10R ABS / ZX1000SGF
Ninja ZX-10R ABS KRT Edition / ZX1000SGFA
Ninja ZX-10R ABS KRT Edition Test / ZX1000SGFB
Ninja ZX-10R ABS SE / ZX1000KFFA
Ninja ZX-10R ABS KRT Edition / ZX1000SHFA
Ninja ZX-10R ABS(マレーシア仕様) / ZX1000SHF
Ninja ZX-10RR(マレーシア仕様) / ZX1000ZHF
Ninja H2 / ZX1000NFF
Ninja H2 Carbon(マレーシア仕様) / ZX1000XHFA
Ninja H2(東南アジア仕様) / ZX1000NGF
Ninja H2(マレーシア仕様) / ZX1000XHF
Ninja H2R / ZX1000PFF
Ninja H2R / ZX1000PGF
Ninja ZX-10R ABS / ZX1000KCK
Ninja ZX-10R ABS / ZX1000KDF
Ninja ZX-10R ABS / ZX1000KEF
Ninja ZX-10R ABS / ZX1000SGF
Ninja ZX-10R ABS KRT Edition / ZX1000SGFA
Ninja ZX-10R ABS KRT Edition Test / ZX1000SGFB
Ninja ZX-10R ABS SE / ZX1000KFFA
Ninja ZX-10R ABS KRT Edition / ZX1000SHFA
Ninja ZX-10R ABS(マレーシア仕様) / ZX1000SHF
Ninja ZX-10RR(マレーシア仕様) / ZX1000ZHF
その他適合あり

※上記はあくまでも一例となりますので、取り付けを保証するものではありません。
※装着済みのバッテリーを必ずご確認ください。 ※「液別」で購入のお客様は、下記注意事項をご確認のうえ、ご購入下さい。

【注意事項(毒物劇物取締法)】
電解液未注入(希硫酸)の商品は毒物劇物取締法の適用を受けます。
次の1から3に該当する方には電解液を未注入での販売できません。
1、18歳未満の者
2、心身の障害により毒物または劇物による保健衛生上の危害の 防止の処置を適正に おこなうことができない者として厚生労働省令で定めるもの。
3、麻薬、大麻、あへん、または覚せい剤の中毒者。

こちらの商品は納品の際、返信用はがき(料金はこちらで負担します。『毒物及び劇物譲受書』への署名及び. 捺印が法令にて定められて)おります。 商品購入の際は必ず、『毒物及び劇物譲受書』に必要事項の御記入・御捺印の上、 弊社まで郵送していただけますよう宜しくお願い致します。

許可番号 千葉県 松保 第0685

バイクバッテリー充電器セット ◆ PerfectPower充電器 台湾 YUASA ユアサ TTZ10S 充電済 互換 YTZ10S FTZ10S 初期充電済 即使用可能 XSR900 YZF-R1 CB400

テクミヨ デスクトップPC用 メモリ1.35V (低電圧) 16GB DDR3L 1600 PC3L-12800 8GB2枚 240Pin CL11 Non-ECC DIMM Mac 対応 永久保証 スリムウォーク スキニールームウェア ブラック Mサイズ ショウエイ(SHOEI) CWR-F PINLOCK EVO lens クリア -
河原井 望 5
今回、初めてソイプロテインを飲んでみました。チョコ系の飲み物が苦手だったので心配でしたが、そこまで甘くなく美味しく飲めました!水割っても美味しかったですが、豆乳の方がより美味しかったです。味はきな粉みたいな感じかと。ランチで置き換え頑張ってみようと思います。

アヴェダ AVEDA ヘアブラシ パドルブラシギフトラッピング無料
PERFECT POWER LFP10S リチウムイオンバッテリー 互換 ユアサ TTZ10S YTZ10S FTZ10S 即使用可能 マグザム :10000146-p:バイクバッテリーバイクパーツ博士 - 通販 - Yahoo!ショッピングPERFECT POWER LFP10S リチウムイオンバッテリー 互換 ユアサ TTZ10S YTZ10S FTZ10S 即使用可能 マグザム  :10000146-p:バイクバッテリーバイクパーツ博士 - 通販 - Yahoo!ショッピング
Yuasa battery ttz10s 12v 9ah = ytz10s yamaha yzf r1 S 1000 2012 2013 | eBayYuasa battery ttz10s 12v 9ah = ytz10s yamaha yzf r1 S 1000 2012 2013 | eBay
PERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリーPERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリー
ハイキューパーツ 円形マスキングシールL(4.8~6.0mm)(1枚入) [CMS-L-MSK] 純正ソニー Xperia T2 ULTRA D5303 D5306 D5316 D5322 XM50h バッテリー容量:3000mAh 電圧制限:3.8V
Yuasa battery ttz10s 12v 9ah = ytz10s yamaha yzf r1 S 1000 2012 2013 | eBayYuasa battery ttz10s 12v 9ah = ytz10s yamaha yzf r1 S 1000 2012 2013 | eBay
Corecio 散髪 はさみ セット ステンレス製 調整してお届け セルフ ヘア カット ハサミ すきバサミ キッズ 髪 美容 理容 ベビーフレーム FAIRI(フェアリ) 12窓 おしゃれ 卓上 壁掛け 写真入れ 写真立て フォトフレーム ウォールアート ウォールインテリア 出産祝い 結婚祝い シーエー
あい 3
化粧水前の導入として使います。肌が潤い、化粧水の入りが良いです。香りもほのかで、気になりません。

ランチバッグ トートバッグ 保冷バッグ 保温バッグ 大きめ 大容量 ハンドバッグ 手提げバッグ ミニバッグ お弁当バッグ お弁当袋 保冷 保温 ランチ 広島東洋カープグッズ 鯉坊やラグランTシャツ 広島カープ Tシャツ
楽天市場】バイクバッテリー充電器セット ◇ PerfectPower充電器 + 台湾 YUASA TTZ10S 初期充電済 即使用可能 互換 YTZ10S FTZ10S DTZ10-BS マグザム CB400SF-VTEC YZF-R1 バイク充電器 : バイクメンテナンス博士楽天市場】バイクバッテリー充電器セット ◇ PerfectPower充電器 + 台湾 YUASA TTZ10S 初期充電済 即使用可能 互換  YTZ10S FTZ10S DTZ10-BS マグザム CB400SF-VTEC YZF-R1 バイク充電器 : バイクメンテナンス博士
ランチバッグ おしゃれ LUNCH BAG Bowknot ブラック お弁当袋 あづま袋 ランチケース メール便送料無料
Amazon カスタマー 5
色々なマスク試しましたが、コスパかなり良いと思います!刺激に関しては、肌が荒れている時はピリピリしますが、潤っている時は感じません。シートもちょうど良いふっくら感、美容液のヒタヒタ具合は取り出すと滴るぐらいです。夜に使うと朝の化粧ノリが違います!出産後、化粧したまま寝落ちする日が増え、肌がゴワゴワボロボロでしたが、これを使うようになってから楽に潤いを取り戻せるので助かっています。今まではデパ地下コスメや通販高級コスメを使っていましたが、コスパ良すぎてもう戻れません。日本の会社なので頑張って欲しいです!

Amazon | Toplite 台湾ユアサ TTZ10S バイク用耐震 バッテリー AGM シールド型 液入り充電済み YTZ10S互換品 台湾YUASA 第2ブランド | バイクバッテリー | 車&バイクAmazon | Toplite 台湾ユアサ TTZ10S バイク用耐震 バッテリー AGM シールド型 液入り充電済み YTZ10S互換品  台湾YUASA 第2ブランド | バイクバッテリー | 車&バイク
デジタルテスターセット PERFECT FTZ10S POWER PTZ10S TTZ10S YTZ10S 互換 充電済バイクバッテリー 即使用可能 話題の行列 POWERデジタルテスターセット PERFECT FTZ10S POWER PTZ10S TTZ10S YTZ10S 互換 充電済バイクバッテリー 即使用可能  話題の行列 POWER
楽天市場】バイクバッテリー充電器セット ◇ PerfectPower充電器 + PERFECT POWER PTZ10S 充電済 互換 YTZ10S FTZ10S DTZ10-BSマグザム CB400SF-VTEC YZF-R1 初期充電済 即使用可能 : バイクメンテナンス博士楽天市場】バイクバッテリー充電器セット ◇ PerfectPower充電器 + PERFECT POWER PTZ10S 充電済 互換 YTZ10S  FTZ10S DTZ10-BSマグザム CB400SF-VTEC YZF-R1 初期充電済 即使用可能 : バイクメンテナンス博士
PERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリーPERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリー
Fuji T-KWSG 12
グローブ付! 台湾 YUASA ユアサ TTZ10S バイクバッテリー 互換 YTZ10S FTZ10S 初期充電済 即使用可能 :1017-b: バイクバッテリーバイクパーツ博士 - 通販 - Yahoo!ショッピンググローブ付! 台湾 YUASA ユアサ TTZ10S バイクバッテリー 互換 YTZ10S FTZ10S 初期充電済 即使用可能 :1017-b: バイクバッテリーバイクパーツ博士 - 通販 - Yahoo!ショッピング
サーモス ランチバッグ 保冷 角型 2L RFC-002 ( Thermos 保冷バッグ 保冷ランチバッグ 弁当袋 お弁当袋 マチ広い )
PERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリーPERFECT POWER LFP10S FTZ10S ユアサ 互換 即使用可能 TTZ10S YTZ10S マグザム リチウムイオンバッテリー

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

ロングカーペット 廊下 用 長方形マット 洗濯可能 廊下用カーペット 幅80 幅90 300 ロングマット さらさら おしゃれ 耐久 オシャレインテリア 階段マット

本日はMRGT調査枠です。

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

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

ウルトラディテールフィギュア No.697 UDF キン肉マン シリーズ2 キン肉マン(KINスーツ)[CCP]《06月予約》

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

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

本日は以上です。

ドッグフード ユーカヌバ ラージ シニア 7.5kg シニア用 大型犬種用 7歳以上 ジップ付 ウェットティッシュ2種おまけ付 沖縄別途送料

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

プラス エコノミー フラットファイル A4縦 2穴 10冊パック 79-356 グリーン

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

〇問題

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

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

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

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

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

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

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

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

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

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

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

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

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