Web Design Articles

  • 2040

Design Basics: Always carry a notebook

Vestibulum cursus in ligula lacinia lobortis. Morbi at velit at velit auctor efficitur ut ac justo. Donec quam est, suscipit vel ligula ut, aliquet maximus libero. Pellentesque finibus tellus vitae dolor lacinia eleifend.

  • 2039

Ask good questions and get better answers

Nulla sit amet nunc massa. Praesent sed est pellentesque, varius tellus non, efficitur nisi. Sed sit amet purus in odio varius tincidunt. Mauris ut ante lobortis, elementum orci efficitur, bibendum leo.

  • 2038

Work to live, don’t live to work

Vestibulum cursus in ligula lacinia lobortis. Morbi at velit at velit auctor efficitur ut ac justo. Phasellus porttitor, elit vitae scelerisque vestibulum, nunc libero bibendum massa.

Forming client relationships

When is creative too creative? ALorem ipsum dolor sit amet, consectetur adipiscing elit. In et scelerisque sem. Nunc molestie neque augue, at gravida mi blandit eget. Aenean eu augue id lacus eleifend interdum. Cras sit amet metus sit amet velit lacinia ullamcorper. Nam [...]

M1MaxでUnityはまだもっさり!?かもしれぬ話

メインPCをAppleシリコン搭載の最新PCであるMacBookPro16に置き換えましたUnityを使ってみた感想です。定量的なレビューじゃなくて、感想です。 比較対象は2021年に組み立てた自作PC(30万円くらい) 比較PC Macスペック CPU: M1Max 10コアCPUGPU: 32コアのGPUメモリ: 最大64GBのユニファイドメモリ価格は50万円ほど。価格なら間違いなくこちらが勝ってる! 組んだデスクトップPC CPU: 第三世代 Ryzen9 3950 GPU: Radeon RX6700XT メモリ: DDR4 64GBメモリ本体で30万円ほど ディスプレイやキーボードを含めたら40万円ほど。 それでもM1Maxの方が高いです。 Unityスペック UnityのAppleシリコン対応版の最新は、記事作成時点で 2021.2.16f1 結果 問題点 Unity Visual Effect Graph を使おうとすると M1の方はビジュアルエディタがちょっともっさりしてるエフェクトのプレビューがカクついたり安定性や、重い処理はやっぱりデクストップPCの方が快適ですね。本格的にやるときはデスクトップで、技術検証とは軽く作るときはM1Maxで みたいな使い方になりそう 通常の3D作成 特に問題なし!!どっちも速い。特に不便を感じない! iOSへのビルド 問題なくできる!!Xcodeのビルドスピードもめっちゃ速い!! M1Max速い!! デスクトップPCではXcodeでのiOSアプリへの最終ビルドはできないので これは助かる と言うわけで、iOSへビルドするならM1 Max最適かなと。PC向けの高画質なものを作るなら、Windowsの方が部がある感じかと思われます。

QNAPのWEBサーバーにSSL証明書を設定する方法

ゆえ合って、SSL証明書が必要になりました。QNAPで動いているQTS(QNAPの独自OS)はLinuxの独自拡張OSのようで SSHログインしてLinuxのように操作できます。以下、設定方法です。 SSHサービスを起動 まずは「ネットワークサービスファイルシステム」から 「SSH」をONにしてSSHターミナルからSSHでログインします。 apacheのSSL証明書の設定を実施 設定ファイルはここにあります more /etc/config/apache/extra/apache-ssl.conf記述中のこのあたりの部分を変更していく感じです。 SSLCertificateFile "/etc/stunnel/stunnel.pem" #SSLCertificateKeyFile "/etc/config/apache/server.key" #SSLCertificateChainFile "/etc/config/apache/server-ca.crt" #SSLCACertificatePath "/etc/config/apache/ssl.crt" #SSLCACertificateFile "/etc/config/apache/ssl.crt/ca-bundle.crt" #SSLCARevocationPath "/etc/config/apache/ssl.crl" #SSLCARevocationFile "/etc/config/apache/ssl.crl/ca-bundle.crl"必要なファイルを /etc/config/apache/ 以下に設置します必要なファイルは以下の3つです。 ALPAH SSLとか安くてオススメです。 (Let's Encriptでもいいけど3か月ごとに更新するのがちょっとリスキー) Webサーバ証明書ファイル SSLCertificateFile /etc/config/apache/web.crt 秘密鍵ファイル SSLCertificateKeyFile /etc/config/apache/server.key 中間CA証明書ファイル SSLCertificateChainFile /etc/config/apache/server-ca.crt" apache-ssl.confのSSLの設定を以下のように修正 #SSLCertificateFile "/etc/stunnel/stunnel.pem" SSLCertificateFile "/etc/config/apache/web.crt" SSLCertificateKeyFile "/etc/config/apache/server.key" SSLCertificateChainFile "/etc/config/apache/server-ca.crt" #SSLCACertificatePath "/etc/config/apache/ssl.crt" #SSLCACertificateFile "/etc/config/apache/ssl.crt/ca-bundle.crt" [...]

そろそろSandyBridgeおじさん卒業。VRがしたくて新しい自作PCを組んだ話

こんにちは、のすけです。=== 去年書いて眠ってたので出しときます。 この記事で作成したPCはもう1年稼働中。いい感じです。 ただ最近はVRはしてませんorz === PCの温度管理は大切!なんて記事を8年前?に書いて、今でも結構みられているのですが。その時のPCが2010年に制作したCore i7 2600K(SandyBridge)を積んだhollywis.hatenablog.comこれです。 今話題?のVRが無性に気になってしまい。こちらの11年前のPCに思い切って GTX 1660 Superを買って強引にくっ付けて、さらに【国内正規品】HTC VIVE Cosmos EliteHTCAmazonVIVEのCOSMOS Eliteなんてのを買って、動くか試しました。 で、結果。 なんと、、、 動いたw 2010年のPCで動くんかいぃ!!すげえな2600K。全然カクツキも感じない。 ただ、一つ問題が。。。 どうやらSandyBridgeってUSB3.0に正式対応してないらしくて ただ、たまたまマザボがUSB3.0を搭載していたから奇跡的にCOSMOS Eliteがうごたわけなんだけど 起動が5回に1回動けばいい方で、結構な割合で起動しないことが多かったんだよね。 原因としては頭につけるガチャピンみたいなヘッドマウントディスプレイとPCを接続するUSB3.0の相性が悪いようだった。 ということで、11年ぶりに思い切ってPCを一新することにした。 構成はこうだ! [構成概要] CPU: Ryzen9 3950x 16コア32スレッド メモリ: TEAM DDR4 3200Mhz PC4-25600 32GBx2枚 SSD: CFD販売 SSD 1TB 内蔵 M.2-2280(MVMe) 接続 PCIe Gen4x4 マザボ: MSI [...]

StripeのSubscriptionのhookについて

こんにちは、のすけです。クレジットカード決済プラットフォームStripeの新しいバージョン。と言っても数年前のアップデートですがによって、機能がいろいろ拡充されてますよね。ただ機能が多過ぎてドキュメントを読んで仕様を理解するのも一苦労。 その中で、便利なサブスクの機能なのですがかなり柔軟に料金設定ができるのですが、既存のシステムにもサブスクの管理がある場合 重複して管理しなくてはならなくなります。例えば他の決済プラットフォームも併用している場合には、仕方なく、自社システムにも サブスク管理の仕組みを作って、Stripeのサブスクといい感じに連動させる必要があるかと思います。 それで、サブスクの入会、退会はどうやって検出したらいいの?という問題にぶち当たるのですが。そこはStripe、イベントをhookする仕組みが用意されています。着信する Webhook を使用してリアルタイムで更新を取得する | Stripe のドキュメントただ、いっぱいイベントあるんですよね。。サブスクの登録、キャンセルはどのhookを使えば、、、 'customer.subscription.created'を使ってみる サブスクが登録された時、このイベントが走ります ですのでこちらをhookするのが正攻法かと思います。 ただ、自社のサブスク管理システムとの連携の際に、 契約されたサブスクがどのサブスクかを識別するためには、あらかじめ登録時に metadataに識別のためのプランidなどを仕込んで置く必要があります。 ただ、Stripeの管理画面の商品設定画面ではproduct(商品)やprice(価格)にはメタデータをあらかじめ設定できるのですが サブスク契約(sub_xxxx)は契約時に作成されるので 事前にメタデータを仕込むことができないっぽです。 なので、やり方としては 登録は例えばコーディング不要のStripe既存のcheckout sessionの仕組みを使う場合 どうすればいいのかと言うと checkout.session.create時に subscription_dataというパラメータを設定できるので、そこのmetadataに 自社のサブスクを識別する識別子を設定しています。 これで、例えば'invoice.payment_succeeded'をhookして、渡されたJSONデータをパースすると どのサブスクか判別できます。 'invoice.payment_succeeded'での検出 Stripeでの支払いの際には(トライアルの¥0決済含む)必ず発行されるイベントに invoice.payment_succeeded'があります。 こちらをhookすることでサブスクの登録と継続決済の検出ができるのでいいかなと思います。 なぜなら、billing_reasonという項目にサブスクの状態が入っているからです 登録時には"subscription_create"が、継続決済時には"subscription_cycle"が入ってくるので こちらを識別する方法があります 'customer.subscription.updated'の場合 このイベントは、サブスクリプションが変更されるたびにトリガーされます。 たとえば、クーポンの追加、割引の適用、インボイス項目の追加、プランの変更はすべて、このイベントを発生します。 この変更検知では、サブスクの継続支払いをだけを綺麗にhookできないです。 関係ない設定変更でも検出されてしまうので、何の変更なのかを吟味する必要があります。 個人的には使いづらいので、私はこちらは継続決済の検出には使ってません。 'customer.subscription.deleted' これは普通にサブスクがキャンセルになったら発動します。 適切に検出してキャンセル手続きをしましょう。 番外:無料トライアル期間の設定 サブスクの無料トライアル期間はStripe管理画面からはできません。 登録しようとすると、レガシー機能で非推奨ですなんて出て、実際反映されません。 なのでAPI経由で設定が必要です。 これもStripe既存のcheckout sessionの仕組みを使う場合 [...]

【Unity道場6】プレイヤーを動かすPlayerコントローラーの作成

回答例 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed = 3f; //移動スピード // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { float x = Input.GetAxis("Horizontal"); //左右方向のキー取得 float z = [...]

激しい動きのダンスのモーションをKinetixで作るとどうなるのか?

https://www.kinetix.tech/近年、メタバースが流行ってますよね!日本が生き残るためには、メタバース関連に力を投資しろ!なんて言われていますが確かに、日本のコンテンツ力は強いですよね。 そんなコンテンツ力を後押しするためにも、我々エンジニアは技術で裏ささえしなくてはいけないわけです! ということで、ダンスのモーションを作成したい!!メタバース上で動かしまくりたい!! VRでフルトラッキングすればいいわけですが、手は綺麗にトラッキングできますが足となると、VRゴーグルとトラッカーではなかなか対処できないのが現状かと思います。 商用のまともなフルトラッキング機材は100万円以上はするようですし、、、 でも、でも、チキチキバンバンみたいな、モーションデータ作りたい!! www.youtube.com オリジナルなやつがね!! 画像認識という選択肢 そこで、登場するのが動画からモーションデータを作るという選択肢です。オープンソースの技術としては、Googleなんかが力を入れていて OpenPoze BlazePose などなどオープンソースで利用できるライブラリなどがあったりします。 こんな感じで、動画中から人を思われる映像を推定し、そこに骨と思われるものを入れて姿勢推定を行います。かなり研究が進んでいて、Webカメラで撮影した動画をリアルタイムで分析し推定可能なレベルまで来ているそうです。 ただ、ほとんどの場合、Python言語でAIプログラミングしないといけないなどちょっとハードル高めです。デモのモデルががそのまま使える場合もありますが 超簡単に使えるKinetixというWebサービスを紹介 Kinetixとは話題の3Dモーション作成サービスで。なんと、動画をアップロードするだけで、この姿勢推定からのモーション作成までやってくれる画期的なサービスです。 来たるメタバース時代に向けて心強い味方となってくれそうな予感がありますね。サイトトップにはMetaverseと文字があります 早速やってみましょう アカウント作成 https://www.kinetix.tech/ サイトトップから右上の(Login)ログインから進みます。 メールアドレスとパスワード設定して進みます. プロジェクトの作成 ダッシュボードにログインするとこのような画面になっています。サンプルの動画もいくつかあるようですが、ここでは真ん中の「create animation」から新しくアニメーションの作っていきます。ここで目的のダンス動画をアップロードします。ビデオのURLからも行けるようなので、Youtubeの動画のURLを貼り付けるなどする方法でもいいのかもしれません アップロード中 結構時間がかかります。ちなみにアップロードしたのは3分(40MB)ほどの動画です。アップが完了するとトリム(必要な箇所だけ切り取る)作業に移ります。全編行きたいところですが、、1分以内にしなさいとのエラーメッセージが出ました。1分以内に切り取ります。 OKならばNEXT STEPで進みます 名前をつけます アニメーションの名前をつけたらConfirmで進みます 10分待つ Confirmを押すとダッシュボードに戻り、進捗率25%であと10分でできるよと。10分待ってみます モーション完成!! ついにモーションが出来ました!ムキムキのおじさんが踊ってくれます。どうやら精度はあまり高くなく、ところどころ動作がワープしたりして違和感がありますが、なかなかスムーズに動いてくれる!!スゲー!!!!こんな簡単にモーションが作れるなんて!! キャラや背景を変えてみる 上のメニューのCharactorというところからキャラを変更できます最初から入っている、女性のキャラや着ぐるみおじさんなど様々なキャラに変更可能です メリット ものすごく簡単!動画をアップロードするだけ 動くキャラクターを変えられる、追加できる 無料!!こんなに凄いのに無料 それなりに忠実にモーションを作れる こんなに簡単にできるとは思っていませんでした。動画さえあれば、誰でもモーションが作れるのは凄いことです!しかも、それが無料というのは素晴らしいです。 デメリット 編集画面がちょっと重い 分析に15分ほどかかる(大量の動画を一気にはやりにくい) 1 分以内の動画しか使えない モーションの重心が高い [...]

Let’s Work Together

Tell me more about your project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.