1. ホーム
  2. スポーツ
  3. テニス
  4. ボール
  5. ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』
【SALE/10%OFF ファッション通販 ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持 回復装置 ball-rescuer テニスアクセサリー 即日出荷 kentaro.sakura.ne.jp kentaro.sakura.ne.jp

ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』

2244円

ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』

ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』







3,980円以上ご購入で送料無料
送料:800円、3,980円以上で全国送料無料

もう空気が抜けたボールを捨てる必要はありません!
いつも新鮮なボールを打てる夢の装置の登場です!

ボールの管理、どうしてますか?
空気が抜けたら捨てる?
空気が抜けたら練習用ボールに、、、
定期的に新球に入れ替える、、、

フェルトはまだ大丈夫なのに
捨てるのは、もったいないですね。
(日本は砂入り人工芝コートが多いのでフェルトの減りが少ないです)

ソフトテニスのように
ボールに簡単に空気を入れることができたらなぁ〜?
と思ったことはありませんか?

ボールを良いコンディションで長く使う商品の登場です。

《ボールレスキュー(Ball Rescue)》

これを使えば、これまでの何倍も長く、良い状態でボールを使うことができます。


《ボールレスキューの2大機能》

◆空気圧維持機能
常にボールに、正確に圧力をかけ保存できます。

▼本体インジケーター
ボールレスキュー目盛
※ゲージの色の変化(赤・黄・緑)で内部の気圧を把握することができます。
1 15psi未満
2 ≒15psi:新球開缶前のペットボトル内圧力
3 ≒20psi:新球練習後にすぐ保管する場合に
4 ≒30psi:完全に空気が抜けてしまったボールに
5 ≒35psi:通常より速くボール内圧力を戻したい場合に
※psi(ポンド・スクエア・インチ)、圧力の単位になります。
これ以上の圧力をかけるとQAにあるようにボールが潰れ、また危険ですのでしないで下さい。

開けたてのボールなのか、空気が既に抜けてしまったボールなのかによって、加える空気圧を変えていきます。
色々な条件で変わってきますので、戻りが思わしくない場合は強く、逆に空気が入り過ぎたと感じた場合は弱く調整します。

◆空気圧回復(蘇生)機能
空気が抜けてしまったボールも蘇ります。
ボールの内から外に抜けた空気は、外から内に戻すことができます。
(ボールのゴムを通過する空気は一方通行ではないのです)
※空気の抜け具合によって回復までの時間は異なります。
開けてからの時間と同じだけかかるとお考え下さい。
完全に抜けてしまっているボールは、2-3か月で戻ります。
新球を練習後に、すぐに保管するのが、いつまでも簡単によい状態を保ててお奨めです。


《ボールレスキューの特徴》

★テニスバッグにも入る手軽さ
★簡易ポンプで簡単に正確に加圧できる

⇒テニスが終わったら、その場で簡単に、開缶前の環境に戻せます。
⇒ゲージが付いているから正確な空気圧で保管できます。


《ボールレスキューの効果》

◎ボールの寿命を長くできます。
 空気が抜けることによる寿命がなくなります。
 ボールの寿命=フェルトの寿命になります。
◎快適にテニス
 いつも、開けたてのようなボール(空気圧)でプレーできます。
◎ボール代を節約できます。
◎ボールの廃棄サイクルを長くできます。
◎環境に優しい
 廃棄ボールは、特殊ゴミとして燃やされ、CO2を発生させます。


《使用方法》
◆保管
テニスが終わったら、ボールの砂を落として、専用ケースに入れます(最大4球)
蓋を回してしっかりと閉めます。
ポンプで適切な圧力まで加圧します。
次回のテニスまで、この状態で保管します。
◆開缶
減圧ボタンを押して空気を抜きます。プシュー♪と音がします。
音がしなくなるまで押し続けます。
蓋を回して開けます。

■同梱物:ボールレスキュー本体、専用ボトル1個、ハンディ空気入、取扱説明書
■製造国:スペイン
■商品種類(2種類)
 ☆ボールレスキューセット(空気入れ付)
 ☆ボールレスキュー単体
■販売元:SmartSwing.Pro



★よくある質問(QA)

Q:圧力はどれ位、加えればいいですか?

A:ボールの状態により、加える圧力を変えていきます。
新品の開缶前のボトルには14PSIの圧力が、ボール内部には12PSIの圧力がかかっています。
一度開缶してボールを使用する(打つ)と、ボール内部の空気圧は抜けて低くなってしまいます。
使用後は、ボールレスキューで、それ以上の圧力状態の中に入れないと、元のボール内部圧12PSIには戻せません。
▼以下を目安にして下さい。
(1)新しくボールを開けプレーした直後(当日)のボール:20PSI
(2)長い間放置してあり空気が抜けてしまっているボール:30PSI
※本体インジケーターで確認。また付属の空気入れにはPSIゲージが付いています。
付属の空気入れでは、およそ40回で20PSI、50回で25PSI、60回で30PSIの圧力がかかります。
使用していく中で、皆さんの環境に合った圧力の調整具合は分かっていきます。
-----

Q:空気入れのバルブは、どれを使えばいい?

A:自動車やバイクに使われている米式になります。ママチャリなどは英式、スポーツ用自転車は仏式になります。
通常の空気入れは、米式への変換が可能になっている商品も多いです。
ボールレスキュー商品に付属しているハンディ空気入れは米式のもので軽量・高性能でお勧めです。

-----

Q:空気を入れたらボールが潰れました。
テニスボールが潰れているケース

A:空気圧をかけ過ぎています。特に空気の抜けた古いボールは潰れやすくなっています。
潰れたボールはその状態では復元しません。空気を抜いてやり直してください。
また、ゲージが《緑色で一杯》になった以上の空気の入れすぎは危険ですので、絶対にしないでください。

-----

Q:空気が漏れている?
空気を入れても、時間と共に内部圧が弱くなっている場合(ゲージが緑→赤に変化)

A:【重要】空気の抜けたボールを保管した場合、ボール内部に空気が入った分、外部の圧力が減ります。この場合は、空気をポンプで足してください。
蓋とクランプはペットボトルに触らないように、強めに閉めてください。緩いと空気漏れの原因になります。
ボールに付いた砂が蓋に挟まっている場合もありますので、しっかりとボールについた砂は落としてから使用下さい。
蓋内部のゴムパッキンに砂やゴミが付いている場合は、柔らかいブラシなどを使って落としてください。
水を張ったバケツに、ボールレスキューを沈めると、空気漏れとその箇所を発見することができます。

-----

Q:ペットボトルについて
市販の各メーカーのボールのペットボトルは使用できますか?

A:できません。ペットボトルの口の形状が各社で違うためです。
ペットボトルが破損した場合は、別途ご購入下さい。

-----

Q:ボールの数について
4個以外でも使えますか?

A:はい、1〜3個でも問題なく使えます。

-----

Q:既に空気が抜けたボールにも使えますか?

A:はい、使えます。空気の抜けたボールも蘇ります。
ゴムの内部から外部に抜けた空気は、逆に外部から内部に戻すことが可能です。
但し、空気の抜け具合が大きいほど、戻すには時間がかかります。
分かりやすく説明をすると、1か月かけて抜けたボールは、戻すのに1か月かかります。
テニス終了後、こまめにボールレスキューで保管することをお勧めします。

-----

Q:濡れたボールの使用について

A:ボールが濡れた場合、水分を乾かしてから、ボールレスキューに入れることをお勧めします。
濡れたままだと、開缶して使用する時も濡れた状態のままになってしまいます。
雨で濡れてしまった場合には、ドライヤーで乾かすのがお勧めです。

-----

Q:ノンプレッシャーボールには有効ですか?

A:いいえ、ノンプレッシャーボールは空気圧で弾む構造ではありませんので無意味です。プレーッシャーボールにのみ有効です。

-----

Q:ソフトテニスのボールには使えますか?

A:使えません。ソフトテニスボールは、専用のポンプを使用して空気を充填してください。

-----

テニス アクセサリー テニスアクセサリー




ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』

ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:KPIsports - 通販 - Yahoo!ショッピングボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:KPIsports - 通販 - Yahoo!ショッピング
楽天市場】【テニスボール空気圧維持・回復装置】ボールレスキュー(Ball Rescuer)セット(空気入れ付) : テニスプロショップラフィノ楽天市場】【テニスボール空気圧維持・回復装置】ボールレスキュー(Ball Rescuer)セット(空気入れ付) : テニスプロショップラフィノ
新発売の あす楽対応 ボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持 回復装置 ball-rescuer-set テニスアクセサリー 即日出荷 qdtek.vn新発売の あす楽対応 ボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持 回復装置 ball-rescuer-set  テニスアクセサリー 即日出荷 qdtek.vn
PING HW-U222 Deo.0 TOUR VISOR White Black Navy フリー(57〜59cm) パナソニック デジタルカメラ ルミックス ノーブルバイオレットDMC-FX66-V [22-23] FELLOW サーフブーツ ウェットブーツ メンズ レディース 3mm 裏起毛 ウェットスーツ サーフィン 日本規格
カテゴリ6 RJ45コネクタ 10個 1000BASEーTX 単線・ヨリ線仕様 LD-6RJ45T10 エレコム
楽天市場】「あす楽対応」ボールレスキュー(Ball Rescuer)単体(空気入れ付属無)テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『即日出荷』 : pro sports楽天市場】「あす楽対応」ボールレスキュー(Ball Rescuer)単体(空気入れ付属無)テニスボール空気圧維持・回復装置 ball-rescuer  テニスアクセサリー『即日出荷』 : pro sports
PS4/F1 22
いわちゃん 3
頚椎症が悪化して首が痛く、腕も痺れる為に購入。首回り43cmで巻き感は良かったのですが、猪首の為に高さが高く結構苦しい。寝る時には装着しないとの注意書きでしたが、寝る時が痛いので就寝時に着用。医師の言う通り二ヶ月程度にて自然と痛みが少なくなった為に使用を中止。

ボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持・回復装置 ball-rescuer-set テニスアクセサリー 『即日出荷』 :ball-rescuer-set:KPI - 通販 - Yahoo!ショッピングボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持・回復装置 ball-rescuer-set テニスアクセサリー  『即日出荷』 :ball-rescuer-set:KPI - 通販 - Yahoo!ショッピング
外反母趾グッズ こども用 外反母趾 楽歩 1足セット 日邦薬品 ACL アクルミュールセラムローション 500ml
ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:SPORTS JAPAN - 通販 - Yahoo!ショッピングボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:SPORTS JAPAN - 通販 - Yahoo!ショッピング
ラグの下敷きマット ふかピタL 170×230cm 3畳用 <スミノエ ふかぴた 床暖房 ホットカーペット対応 厚手 ラグマット カーペット>
sdtk 4
手薬指関節が痛いので購入。圧迫感もなく普段は巻いていることを忘れる、しかし手を握ると少し曲がるがそこで止まるので痛みが出ない。多少水が掛かっても大丈夫、2日位は持つ、3日経つと替えたくなる。値段が高いのが難点ですが、効果が有るのでリピートします。

エコギア(Ecogear) バグアンツ 4インチ(6本入) 411 シルキーオレンジイエロー
楽天市場】【全品10%OFFクーポン〜10/30】「あす楽対応」ボールレスキュー(Ball Rescuer)セット(空気入れ付)テニスボール空気圧維持・回復装置 ball-rescuer-set テニスアクセサリー 『即日出荷』 : KPI楽天市場】【全品10%OFFクーポン〜10/30】「あす楽対応」ボールレスキュー(Ball Rescuer)セット(空気入れ付)テニスボール空気圧維持・回復装置  ball-rescuer-set テニスアクセサリー 『即日出荷』 : KPI
テニスボール空気圧維持・回復装置】ボールレスキュー(Ball Rescuer)セット(空気入れ付) | テニスショップLAFINO(ラフィノ)テニスボール空気圧維持・回復装置】ボールレスキュー(Ball Rescuer)セット(空気入れ付) | テニスショップLAFINO(ラフィノ)
バーディ 5
年月を経過した仏具磨きをしました。

ボールを完全に復活させることは可能です!「ボールレスキュー」ニューボールが維持できる環境とお財布に優しいボール保管道具!一般購入者が購入してインプレ! - テニスチャンネル「TO BE WINNER」の本体ブログボールを完全に復活させることは可能です!「ボールレスキュー」ニューボールが維持できる環境とお財布に優しいボール保管道具!一般購入者が購入してインプレ!  - テニスチャンネル「TO BE WINNER」の本体ブログ
ボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:SPORTS JAPAN - 通販 - Yahoo!ショッピングボールレスキュー Ball Rescuer 単体 空気入れ付属無 テニスボール空気圧維持・回復装置 ball-rescuer テニスアクセサリー『 即日出荷』 :ball-rescuer:SPORTS JAPAN - 通販 - Yahoo!ショッピング
プエラリア99CS サプリ 定形外郵便で送料無料
ボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持・回復装置 ball-rescuer-set テニスアクセサリー 『即日出荷』 :ball-rescuer-set:KPI - 通販 - Yahoo!ショッピングボールレスキュー Ball Rescuer セット 空気入れ付 テニスボール空気圧維持・回復装置 ball-rescuer-set テニスアクセサリー  『即日出荷』 :ball-rescuer-set:KPI - 通販 - Yahoo!ショッピング
Hotcott 綿混あったかインナー・腹巻きレディース(おしりすっぽり長め丈) S 1枚 M 1枚 L 1枚 LL 1枚 3L 1枚
matsuyama 4
値段も安くてほどよく締め付けてくれるのでとても楽です。お勧めです。

黒烏龍茶 水出し 黒ウーロン茶 ティーバック がぶ飲み 350ml 142本分の大容量 ティーパック 5g×50包 烏龍茶 コットントレーダース メンズ ハンドグローブ ラグビー 手袋 CTM03 CTM-03

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

マフラー BRUSHED SCARF

本日はMRGT調査枠です。

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

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

「365日出荷」DUNLOP ダンロップ 「St.JAMES Premium セントジェームス プレミアム 15缶 60球 」テニスボール 『即日出荷』

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

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

本日は以上です。

ドライブレコーダー ミラー型 前後カメラ完全分離式 フロントカメラ360°回転可能 11インチ 1080PFHD タッチパネル 日本語取扱説明書付

本日は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ブラウザーでのウィルスなどのセキュリティをチェックしています。

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

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

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

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

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

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

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

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