1. ホーム
  2. 車、バイク、自転車
  3. 自転車
  4. 自転車アクセサリー
  5. Ruler(ルーラー) 高輝度ホワイトLED バッテリーライト [1000カンデラ、単3乾電池x2本] ブラック BL02K
最大95%オフ! 上品 Ruler ルーラー 高輝度ホワイトLED バッテリーライト 1000カンデラ 単3乾電池x2本 ブラック BL02K kentaro.sakura.ne.jp kentaro.sakura.ne.jp

Ruler(ルーラー) 高輝度ホワイトLED バッテリーライト [1000カンデラ、単3乾電池x2本] ブラック BL02K

518円

Ruler(ルーラー) 高輝度ホワイトLED バッテリーライト [1000カンデラ、単3乾電池x2本] ブラック BL02K

・ブラック 全長:97mm幅:40mm BL02K
・・Color:ブラック
・全長:97mm
・ 幅:40mm
・ 本体重量:41g(電池、ブラケット除く)
・ 規格:JIS規格適合前照灯
・ 使用電池:単3乾電池x2本(アルカリ電池推奨)
・ 点灯モード:Highモード、Lowモード
・ 連続使用時間:(Highモード)約15時間、(Lowモード)約20時間
・ 明るさ:1000カンデラ
・ 機能:交換時期がわかるお知らせ点滅、生活防水
・ 取付ハンドル径:22mm~32mm
・ 付属品:プッシュリリースブラケット、単3乾電池x2個











ハイパワーで広範囲の照射面積でありながらコンパクトなボティ! コストパフォーマンスに優れた高輝度LEDバッテリーライト・高輝度ホワイトLEDの明るさとWIDE FOCUSレンズによる広い照射面積によって、1000カンデラの配光を実現。・もちろんJIS規格に適合した前照灯としてどんな自転車にもご使用頂けます。取付は工具不要の簡単脱着で、付属のプッシュリリースブラケットはボタンを押して本体スライドで簡単取り外し可能!・電池残量が20%を切ると赤い点滅で交換時期を知らせてくれる便利な機能も搭載。同じ明るさのバッテリーライトを凌ぐ性能と圧倒的コストパフォーマンスはご納得いただけること間違いなしです!

Ruler(ルーラー) 高輝度ホワイトLED バッテリーライト [1000カンデラ、単3乾電池x2本] ブラック BL02K

市場 Ruler 高輝度ホワイトLED バッテリーライト ルーラー市場 Ruler 高輝度ホワイトLED バッテリーライト ルーラー
SALE/70%OFF】 76Lubricants ユノカル76 ライトスニーカー,軽量作業靴,グリーン discoversvg.comSALE/70%OFF】 76Lubricants ユノカル76 ライトスニーカー,軽量作業靴,グリーン discoversvg.com
ふりかけ 無添加 ご飯のお供 創健社 ふりかけ45 32g 3個セット 送料無料 テクノス 人感センサー付き消臭セラミックファンヒーター 1200W パネルヒーター TEKNOS 電気暖房 リビング暖房 子供部屋暖房 TS-P1222(W) TS-P1223(NV) 同等品 夫婦箸 おしゃれ 通販 箸 セット 箸置き お箸 お箸セット プレゼント ギフト 贈り物 結婚祝い 結婚記念日 新生活 お祝い 桐箱 箱入り めおと箸 笑門来福 木製レターバナー 祝百日 100日祝い 100days 撮影アイテム お食い初め 寝相アート おひるねアート ベビーほたて ボイル済み 2kg 1パック150〜200粒 送料無料 ホタテ 帆立 蒸し 仕送り 業務用 食品 おかず お弁当 お取り寄せ お歳暮 ノア精密 NOA 腕時計 XXW-500 SM 電波ソーラー メンズ レッグガード (高級レザー) 010 白 フリーサイズ (Lサイズ) レガース スネサポーター キックボクシング空手用 GLOBAL SPORTS グローバルスポーツ
オフィスチェア メッシュ 腰楽ランバーサポート付 デスクチェア おしゃれ 白 黒 ワークチェア 椅子 学習椅子 テレワーク 在宅ワーク ハイバック パソコンチェア
SUPAREE h3 led フォグランプ 24v 爆光 h3 led 24v ホワイト ショート h3 led バルブ 6500K 120 GfIjv5DvWc, 車、バイク、自転車 - centralcampo.com.brSUPAREE h3 led フォグランプ 24v 爆光 h3 led 24v ホワイト ショート h3 led バルブ 6500K 120  GfIjv5DvWc, 車、バイク、自転車 - centralcampo.com.br
Tom 5
ホリの深いダイヤル。複雑すぎないインジケータ。スマートなステンレスベルト。気に入ってます。

Portable LED Work Light - Rechargeable Outdoor RatedPortable LED Work Light - Rechargeable  Outdoor Rated
ソムリエナイフ セスタ ウェーターズナイフ ブラウン
マカロン 4
このシリーズ使いやすいです。シールやポケット、ジップの袋付きで、いつも重宝しています。

カネボウ ケイト ザBB カバー オイルブロック EX2 30g
PALMY パルミー 鍵 U字型 アルミシャックルロック R ダイヤル式 暗証番号設定 (ゴールド) ds89IHXwlq, サイクルウェア、ヘルメット - biscuits-felix.frPALMY パルミー 鍵 U字型 アルミシャックルロック R ダイヤル式 暗証番号設定 (ゴールド) ds89IHXwlq,  サイクルウェア、ヘルメット - biscuits-felix.fr
ポスカ 中字丸芯 インク色:パステルグリーン 品番:PC5MP.6 三菱鉛筆(uni) 専門ストア サインペン
Hana 3
酸化しているのか?!味が違いました。美味しくなく飲めませんでした。念の為に同じワイン(ハーフボトル)が家にあったので、飲み比べてみましたが、全然味が違いました。

AirPods Pro イヤーフック ブルートゥース 落下防止 アクセサリー イヤホン 耳掛け イヤーピース ワイレスイヤホンストラップ シリコン製 紛失防止 Ear Hook ごぼう茶 1.5g×40包(40包×1袋) 農薬検査済み 無漂白ティーバッグ
Portable LED Work Light - Rechargeable Outdoor RatedPortable LED Work Light - Rechargeable  Outdoor Rated
購入者 3
この商品の良い点追加バーが付属しており約610mmまでの間柱に対応していること新築なら壁掛けするところだけコンパネ入れてもらえば良いですが既存住宅なら後から補強するのは難しいのでこっちのほうがいい他の壁掛け金具だと455mmの間柱間に取り付けできないのでこちらの商品がいい悪い点商品重量があり1人で取付けるには大変&TVのサイズによってはそもそも1人では無理実際TVを金具に掛けるところがバーになっているのでほんとに60kgまでいけるのか?と思うことTVに重量があるとティルトや水平などの微調節がやりづらい、片寄するとそもそも水平が取れない(TV重量30kg未満でもダメでした)ティルト調節はボルトで10mmのソケットレンチ、水平調節は六角レンチと調節する道具が別々なのでやりにく

市場 Ruler 高輝度ホワイトLED バッテリーライト ルーラー市場 Ruler 高輝度ホワイトLED バッテリーライト ルーラー
DBLTACT 3段腰袋(大) ブラック H250×W190×D140mm DT-03-BK ヘアゴム9点セット シュシュ 髪の毛を傷めない ヘアアクセ 小さめ 可愛い カジュアル 小 物 ギフト 大人 リボ 髪留め おしゃれシンプル

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

ペットライン メルミル 介護期用 チキン ほたて味 30g

本日はMRGT調査枠です。

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

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

アース製薬 ゴキジェット プロ 300ml ゴキブリ殺虫スプレー

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

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

本日は以上です。

▲送料無料▲ スタジャン メンズ ブルゾン ワッペン 刺繍 カレッジ ロゴ アメカジ 春 ストリート

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

デイトナ D15727 SUS ハーフリアフェンダー

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

〇問題

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

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

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

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

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

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

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

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

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

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

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

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

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