Web Design Articles

  • 359

When is creative too creative?

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.

  • 1817

Simply Pianoやばい。ピアノコードが直感的に覚えられる

なんだか、最近ピアノにハマっている、のすけです。PCばかり触っていると、揺らぎあるものに無性に引かれるもので辿り着いたのがピアノ。 小学生の時に3年ほど習ってたんだけど、それ以来。ピアノは電子のやつで、6万円くらい?でYAMAHAのP125ってやつを買いました。ヤマハ YAMAHA 電子ピアノ Pシリーズ 88鍵盤 ブラック P-125Bヤマハ(Yamaha)Amazon色々触ったのだけど、これが一番グランドピアノのキータッチに近かったので。迷った末に購入。ちょっと、キーが重くて指が疲れるけど、後悔はしていない。 最近は、Youtubeとかオンライン学習サイトが充実してて、ピアノの先生に習いに行かなくても、全然学習できるのね。 Udemyとかで色々買ってみたけど、今、一番ハマっているのがこれ Simply Piano (年間コースで1万円くらい. 安すぎ!) 何がスゴイって、iPadにインストールしたら、あとはピアノとiPadをUSBケーブルで繋ぐと認識して押したキーを合ってるか審査してくれるんだよね。 あと、カリキュラムが充実してて子供の頃に習った、クラシックピアノ系もあるしさらに! ピアノのコードを学習するカリキュラムもあって実際のPOPSに合わせてコードで伴奏する方法が学べちゃう。 もう3ヶ月くらい毎日やって、もう少してコードのカリキュラムはクリアしちゃうのが、ちょっと物足りないんだけど。終わったら、どうしようか。 クラシックピアノコースに進むか、もしくはYoutubeのコースでも進むか。

  • 1818

UniRxやってます

最近何も書いてなかったので、雑記をこんにちは、のすけです。最近は、これのシングルトンとかobservableパターンを読んでGame Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ作者:Robert NystromインプレスAmazonその後、UniRx勉強してますUniRx/UniTask完全理解 より高度なUnity C#プログラミング (アスキードワンゴ)作者:打田 恭平ドワンゴAmazonVue.jsなどでobservableをなんとなく使ってたのですがこれを読んで理解が深まりました。イベントと実処理を分離した実績達成システムを実装したくてたどりついた感じでゲームのパターンってなってますが、結構汎用的に、いろんなシステム開発で使える手応えを感じてます。 ではまた

  • 1819

shopifyという凄いECプラットフォーム

こんにちは、のすけです。ただの雑記なのですが、shopifyというECプラットフォームご存知でしょうか。最近は、簡単に個人のショップを作れるサービスがいっぱいあって例えば ・BASE ・STORES とか便利で利用していました。数クリックでWEBのECショップが簡単に作れて便利ですよね。ただ、セール中のモーダルを出してみたりなど、ちょっとした複雑な機能を 追加したりなんかは難しくてそうなってくると、他のECプラットフォームになってくるわけですがたとえば ・WordPressにECプラグイン(WooCommerceとか)入れる ・ECcubeを使う 何かの選択肢が出てきたりします。そんな中で、最近?2018年らしいけれど日本語にも対応したshopifyが中々凄いそう利用間隔はBASEやSTORESのような感じでありながら カスタマイズ性がWordPressやECcubeのような感じ。つまり サーバー不要で数クリックでショップを開けるけて かつ細かいカスタマイズも色々できる!APIもあって中々いじりがいがあるようです。 フロント部分はスクラッチで自前で作って、管理画面だけ利用するなんてこともできそうなので 期待が持てます。海外性ということもあり、海外向けのEC作りたい場合にはかなり重宝しそうです。ちょっと色々いじっていこうかなと では!

test

test   こんにちは!!!

babylon.js ステップ11 画面クリックとの衝突判定 (Picking Collisions)

babylon.js チュートリアル ステップ11 は画面クリックとのコリジョンです。コリジョンシリーズの3回目です。いきましょう! 3Dオブジェクトのクリック(hit)を検出 ヒットした情報を用いて銃槍の位置をずらす デモ 3Dオブジェクトのクリック(hit)を検出 壁を表す平面と、銃創の絵が描かれた平面の2つを作成して、壁への衝突を検出し、衝突している場合は、そこに銃槍を刻むシーンをやってみます。 まず、クリックイベントで「pick」関数を使用して座標を取得します //クリックイベント検出 window.addEventListener("click", function () { // pickでポインタ情報を取得する var pickResult = scene.pick(scene.pointerX, scene.pointerY); }); pickResultオブジェクトは、主に4つの情報で構成されています。 hit (ブール値):クリックがシーン内のオブジェクトにヒットした場合はtrue。 distance (float):アクティブなカメラとヒットの間の距離(メッシュにヒットしなかった場合は無限) pickedMesh (BABYLON.Mesh):オブジェクトにヒットしたメッシュ。hitしてない場合はnull pickedPoint (BABYLON.Vector3):クリックしたVector3型で返す。hitしてない場合はnull ヒットした情報を用いて銃槍の位置をずらす pickResultを用いて // もしクリックが壁にhitした場合、ぶつかった画像の位置を更新する if (pickResult.hit) { impact.position.x = pickResult.pickedPoint.x; impact.position.y = pickResult.pickedPoint.y; } デモ 完成したデモはこちら https://www.babylonjs-playground.com/#NU4F6Y 次回は,FPSなどで使えるレイキャスト(Raycasts)やっていきます

babylon.js ステップ10 メッシュの交差衝突判定 (Intersect Collisions – mesh)

メッシュ同士が、それぞれ衝突を検出する方法をやりますいきましょう!! 説明 2つのメッシュが接触しているときに衝突イベントを発生させる方法 メッシュと1点間の接触を検出する方法 まとめ 説明 衝突検出の2つの方法を紹介します。 2つのメッシュが接触しているときに衝突イベントを発生させる方法 メッシュと1点間の接触を検出する方法 2つのメッシュが接触しているときに衝突イベントを発生させる方法 intersectsMesh()を使うことで、対象との交差(衝突)判定を行うことが出来ますコードは次の通り // 平面(plan1)とballoon1との交差判定 if (balloon1.intersectsMesh(plan1, false)) { balloon1.material.emissiveColor = new BABYLON.Color4(1, 0, 0, 1); } else { balloon1.material.emissiveColor = new BABYLON.Color4(1, 1, 1, 1); } バビロンエンジンでは、交差判定を効率よく行うために オブジェクトの周囲に下図のように境界ボックス(バウンティングボックス)を作成し、このボックスと衝突するメッシュの間の交差をテストします。 また、より詳細に接触を検出したい場合には第二引数をtrueにすることで、バウンティングボックスをメッシュにより近くし、交差判定を正確にすることが出来ます。ただ、この操作は計算負荷が高くなるようです。 左が、falseの例、右がtrueの例です。このタイプのバウンディングボックスは、メッシュをある角度に回転させる場合に特に役立ちます。 メッシュと1点間の接触を検出する方法 特定の1点との接触判定をする方法が、intersectsPoint()です。 使用方法は次の通り var pointToIntersect = new BABYLON.Vector3(10, -5, 0); if [...]

babylon.js ステップ9 カメラとメッシュの衝突判定&重力 (Cameras, Mesh Collisions and Gravity)

babylon.js を覚えようステップ9は衝突判定と重力制御です! いやー、重力とか楽しそうですね。 メッシュだけでなく、カメラにも設定できるようです。 いきましょう!! 説明 1.重力の設定 2.楕円体を定義する 衝突を適用する(Apply collision) メッシュオブジェクトとメッシュオブジェクトの衝突 ArcRotateCameraでの衝突 まとめ 説明 FPS(First Person Shooter)ゲームをプレイしたことがありますか?この回では、そのFPS的なカメラの動きをシミュレートします。カメラは床にあり、地面と衝突しており、シーン内のオブジェクトと衝突している可能性がありますねでは、このFPS的な設定をしていきましょう! 1.重力の設定 シーンにグラビティ(重力)ベクトルをVector3型で設定します。 scene.gravity = new BABYLON.Vector3(0, -9.81, 0); 古典的には、yに重力加速度9.8を下向き(負)に設定すると良いです。カメラへの適用は、applyGravityプロパティをtrue設定します camera.applyGravity = true; 2.楕円体を定義する 次の重要なステップは、カメラの周りに楕円体を定義することらしいです。この楕円体はプレーヤーの幅(プレイヤーサイズ)を表します。外部のメッシュがこの楕円体に接触すると衝突イベントが発生し、カメラがこのメッシュに近づきすぎないようにすることで、カメラがメッシュにめり込まないようにします。 babylon.jsカメラの楕円体プロパティのデフォルトはサイズ(0.5、1、0.5)ですが、値を変更すると、調整された軸に応じて、背が高く、大きく、小さく、薄くなります。次の例では、カメラの楕円体をデフォルトの楕円体よりも少し大きくします。 //カメラの周りに楕円を定義 (e.g. your player's size) camera.ellipsoid = new BABYLON.Vector3(1, 1, 1); カメラの楕円体はオフセット(Offset)され、常に視点が楕円体の上にあります。camera.ellipsoidOffsetプロパティを更新することにより、この動作を制御できます。計算は次のようになります。finalPosition = position - vec3(0, ellipsoid.y, 0) [...]

babylon.js ステップ8 アニメーション(Animations)

babylon.js でのステップも8個目!!今回はアニメーションです!アニメーションは、メッシュに動きを与えて見栄えがするシーンを作成出来ます。いきましょう! アニメーションの2つの方法 キーフレームアニメーション アニメーションを止める方法 終了を待って同期処理をする CreateAndStartAnimation関数 アニメーションのブレンド アニメーションの重みを設定してブレンド イージング機能 複雑なアニメーション まとめ アニメーションの2つの方法 アニメーション方法には2つあります。 予めアニメーションの動きのキーフレームを定義する方法 実行時にアニメーションを適用されるようにプロパティを随時変更する方法 キーフレームアニメーション まず環境を作りますシーン、ライト、カメラを設定してから、箱を一個置いてみます。 function createScene() { //Here... your basic scene as before: [scene, light, camera] //Create a box var box1 = BABYLON.Mesh.CreateBox("Box1", 10.0, scene); box1.position.x = -20;アニメーションオブジェクトを定義します。 (GSAPみたいなトゥイーン的な方法ですね) // new BABYLON.Animation(名前,変更対象(例:xの大きさ),値の型,動作タイプ); var animationBox = new [...]

babylon.js ステップ7 ライティング

babylon.js ステップ7 ライティングです。3D表現はライティングが無いと始まりません。ライディングの無い空間はただの暗黒です。暗黒の空間に一条の光として、ライトを設置します。ライトと言っても、太陽のような環境光もあります。いきましょう! ライトの種類 4種類のライトあります ポイントライト(Point Light) 指向性ライト(Directional Light) スポットライト(Spot LIghe) 半球ライト(HemiLight) ポイントライト/点光源(Point Light) ポイントライトは、ワールドスペース内の一意のポイント(点)にから発光されるライトです。光はこのポイントからあらゆる方向に放出されます。ポイントライトの分かりやすい例は、裸電球です。ちょっと上(y軸を多め)に置くとメッシュ全体を照らせます。 var light = new BABYLON.PointLight("pointLight", new BABYLON.Vector3(1, 10, 1), scene); 例はこちら https://www.babylonjs-playground.com/#20OAV9 指向性ライト/平行光源(Directional Light) 指向性ライト/平行光源は、方向によって定義される特殊な光です。光は、指定された方向のあらゆる場所から放出され、無限の範囲を持ちます。指向性ライトの例としては、太陽からの十分に遠い惑星があったとしてその惑星に対して、並行な光が降り注ぐと思うのですが、そんな感じです。下方向に光を当てると、オブジェクトの上部が明るくなります。 var light = new BABYLON.DirectionalLight("DirectionalLight", new BABYLON.Vector3(0, -1, 0), scene);例はこちら https://www.babylonjs-playground.com/#20OAV9#1 スポットライト(Spot LIghe) スポットライトは、単一の点から一方向に円錐状に放出されます。方向、角度、および指数を設定出来ます。値は、位置、照らす方向で光の円錐を定義します。照射角は、ラジアンで、スポットライトの円錐ビームのサイズ(照明のフィールド)を定義し、指数は、距離(距離)に伴う光の減衰の速度を定義します。 // new BABYLON.SpotLight(名前, 位置, 照らす方向, 照射角, 光の減衰, [...]

Finding the assets you need

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 [...]

The best creative tools to use

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 [...]

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.