タグ

ブックマーク / blog.canele.dev (33)

  • ゲームの数学 for UE4 行列編 - Happy My Life

  • ゲームの数学 for UE4 ベクトル編 - Happy My Life

    先日紹介したゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでは、 3章はベクトルの話。ここからようやく3Dの話らしくなってきた、と思っているところ。 このではUnityでのベクトルの扱いについて書かれているので、このエントリーではUE4でのベクトルの扱いを書いてみる。 ベクトルとは ベクトルとは数学的には「向きと大きさを表したもの」という定義になる。例えばボールが壁にぶつかって跳ねるといった古典力学の演算は、ベクトルを導入することで演算が楽になる(といっても、ゲームエンジンでは物理演算は物理エンジンが処理してくれるのだけど)。 ベクトルの定義の詳細は、こちらの解説が参考になるはず。 ベクトルの型 UE4には、Vector型とVector 2D型の2つがある。Vector型は(x, y, z)を扱い、Vector 2D型は(x, y)を扱う。 サポートされているBluePrint

    ゲームの数学 for UE4 ベクトル編 - Happy My Life
  • ゲームの数学 for UE4 座標系編 - Happy My Life

    前回に引き続き、ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでの2章の話を。ここでは座標系の解説をしている。 座標系は、コードの話はあまりなくて(話のしようがない)、知識として知っておくべき事が書かれている。ここでは、重要そうなネタをメインに書いていく。 右手系、左手系 2Dの座標系や3Dの座標系でもっともく使われるデカルト座標系(x,yや、x,y,zを使ったよくある座標系)の解説が書かれており、続けてデカルト座標系ではおなじみの右手系、左手系の話となる。右手系、左手系とは、X、Y、Zの座標軸の定義の違いを表している。詳細は座標系 (Direct3D 9)にも書かれている。 右手系、左手系をざっくり分類すると以下の様になる。 右手系:OpenGL 左手系:Direct X、Unity、UE4、CryEngine 以前であれば、OpenGL向けのサンプルコードをDirect X向

    ゲームの数学 for UE4 座標系編 - Happy My Life
  • ゲームの数学 for UE4 三角関数編 - Happy My Life

  • 書籍「ゲームアプリの数学」を読んでみて - Happy My Life

    先日発売になったばかりのゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでを読んでいるところ。 で、その感想をつらつらと書いてみる。 ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでposted with amazlet at 15.09.28久富木 隆一 SBクリエイティブ 売り上げランキング: 3,719 Amazon.co.jpで詳細を見る 数式と図の解説がメイン、Unityはオマケ こののタイトルには、Unityで学ぶ~、と書かれているけど、Unity的な要素はオマケ的なものであり、質的な解説は図と数式で行われているので、数式が理解できれば、Unity(C#)を知らなくても理解はできる。もちろん、それがUnreal Engine 4であっても。 ただ、数式の意味がいまいち理解できないので、ソースコードも詳しく載せて欲しかった、というニーズもあるだろうなぁ、とと

    書籍「ゲームアプリの数学」を読んでみて - Happy My Life
  • LLVM/Clang実践活用ハンドブックが発売されました - Happy My Life

    ということで、「LLVM/Clang実践活用ハンドブック」というLLVM/Clang関連のを出しました。 LLVM/Clang実践活用ハンドブックposted with amazlet at 14.07.03出村成和 ソシム 売り上げランキング: 4,679 Amazon.co.jpで詳細を見る 目次等は、ソシムさんのHPを参考にして貰うとして。LLVMのといえば、きつねさんでもわかるLLVM ~コンパイラを自作するためのガイドブック~を思い浮かべる人も多いでしょうが、きつねさんのはコンパイラをつくるための解説をしているのに対して、今回のは、Clangを有功に使う側にとって必要な知識等について解説しています。 Clangは普通にgccなどのコンパイラの代替として使う分には便利なコンパイラだと思います。開発で使っていてもいろいろ便利だと感じた点も多々ありますし。ただ、Clangの便利

    LLVM/Clang実践活用ハンドブックが発売されました - Happy My Life
  • 7月に組み込みAndroidのセミナーを行います - Happy My Life

  • xkbでキーバインドを変更する - Happy My Life

    Ubuntu 12.04を利用している時、キーバインドの変更(例えばCaps LockとCtrlの入れ替えなど)は、.Xmodmapファイルをホームディレクトリに配置するだけで対応できてきた。 で、最近インストールしたUbuntu 14.04では、この方法では変更できなかった。 で、いろいろ調べていくと、Xmodmapは事実上の廃止状態で、Ubuntu 13.10以降ではxkbを利用するのが正攻法ってことらしい。ので、xkbでキーバインドを変更する方法を色々調べてみた。 xkbで設定を行えば、X window上で動作しているすべてのアプリに設定が反映されるので。 Caps LockとCtrlの入れ替え程度であれば、xkb以外にも方法があるのだが、xkbを使う方法では、「;キー」にenterキーを割り当てるなど変則的な対応もできるのが魅力。 変更は次のように行う。 xkbでキーバインドを変更

    xkbでキーバインドを変更する - Happy My Life
  • ABC2014Springで登壇してきました - Happy My Life

    タイトル通り、Android Bazaar and Conference 2014 Springで「できる!ART」という内容で発表してきました。 Kitkatから公になったART(Android RunTime)の基礎を解説となってます。ベースはDalvikVMに替わるランタイム ARTというエントリーですが、これを図を入れて分かりやすくした内容となってます。 今回、久しぶりにABCに参加しましたが、バザーでいろんな人と話をしたり、登壇したりと非常に楽しく過ごせました。地方在住組としては、このABCがいろんな人に会えるチャンスだったりしますからね(ここ数ヶ月は、Effective Androidを執筆した関係上、執筆陣とは何かと顔を合わせる機会が多かったですが) スタッフのみなさん、登壇者のみなさん、お疲れ様でした。

    ABC2014Springで登壇してきました - Happy My Life
  • Android NDKをスタンドアローンで使う時の注意点 - Happy My Life

  • RaspberryPiサーバを諦めた - Happy My Life

    この間まで、RaspberryPi + Raspbian(以下RPiサーバ)を使って家庭内サーバを運用してた。利用目的は、NAS + プリンターサーバという内容で。NASはちょっとしたデータのバックアップ用途に、プリンタサーバは、どのPCからでもプリントできるように(年代物のプリンタなので…)という意味で。他にもソースコード検索も行いたかったけど、なんせCPUが非力なのでそのあたりは割り切って。 RaspberryPiサーバは、消費電力が少ない、設置場所も取らないなど、いろいろメリットも多かったし、いろいろ便利だったのだけど、そのうちいくつか問題が浮上してきた。そのうち大きな問題は次の2つ。 安定しない 転送速度が遅い まずRPiサーバは安定稼働しない。ふとした時にNASに接続しても、接続できない。ssh接続しようとしても蹴られる。何度再起動してもすぐに再起動しないetc…。これが、何度も

    RaspberryPiサーバを諦めた - Happy My Life
  • DalvikVMに替わるランタイム ART - Happy My Life

    Android 4.4 KitKat 冬コミ原稿リレーの 11月15日分です。 ここではKitKat(Android 4.4)から追加された新しいAndroidランタイムであるART(Android RunTimeの意味?)の話をします(ランタイムとはソフトウェアを動作させる基盤となるライブラリのこと)これまで利用されていたDalvikVMにかわるランタイムとして2年間かけて開発されてきたようです。 ARTの最大の特徴は、ソフトウェアをネイティブコード(CPUが直接実行できるコード)で実行することを前提に設計されている点です。 ARTを有効化することで、アプリケーションはAOTコンパイラによって事前にネイティブコード化され、実行時にはネイティブコード化されたアプリケーションを実行しています。そのためパフォーマンスが向上が期待できます。 ARTはKitKatで初めて公開されたコードであり開発

    DalvikVMに替わるランタイム ART - Happy My Life
  • KitkatのキャンペーンでNexus7もらった - Happy My Life

    わーい、Kitkatの40周年キャンペーンでNexus7(2013)もらったよー。 これは、Kitkat 40周年キャンペーンで、Nexus7 & Google play 500円分が当たるキャンペーンが開催中で、この第1回目の抽選が10月にありました。一時期はTwitterのタイムラインを賑わしてしたので、キットカット5袋(5枚で1口なので)を1ヶ月程度かけてべて応募したのですが、その抽選で当選したのです!twitterでは「2口応募したけど当たらなかった」とか見かけたので、競争倍率はそれなりに高かったようで。 この抽選で当たらなかったらNexus7(2013)を持たないつもり応募したので、当たったのでめちゃちゃうれしい!あまりこういう抽選には縁がないのですが、やっぱ出さないと当たらないですね。当然のことながら。 ちなみに抽選はあと2回あるので、まだチャンスがあります。次の締め切りは1

    KitkatのキャンペーンでNexus7もらった - Happy My Life
  • NDKr9で使える2つのtoolchain - Happy My Life

    Android NDKr9より、Android NDK体の他に、古いバージョンのtoolchain(コンパイラとか開発ツールのことね)がダウンロードできるようになりましたね。 ちなみに、初めてAndroid NDKをダウンロードする人であれば、android-ndk-r9-<OS環境名>.tar.bz2のみあればよいです。android-ndk-r9-<OS環境名>-legacy-toolchains.tar.bz2は、古いバージョンのコンパイラが必要など、これまでNDKを使いこなしてきた人向け、と考えてよいです。 大半の場合は、NDK付属のtoolchainを使ってビルドしたらよいのですが、プロジェクト(というかソースコード)によっては、古いバージョンのtoolchainで無いとビルドが通らない場合があったりします。以前であれば「サポート打ち切りました」とchange logに書かれて

    NDKr9で使える2つのtoolchain - Happy My Life
  • 「lsを読まずにプログラマを名乗るな!」を読んでみて - Happy My Life

    ということで、私の周辺では話題沸騰のlsを読まずにプログラマを名乗るな!を担当編集者さんより頂きました。このの編集者さん、Android NDKネイティブプログラミングを出版した際に担当していただいてた方だったので、その縁で。 lsを読まずにプログラマを名乗るな!―技術的な「壁」を突破するCの達人たちの知恵と工夫posted with amazlet at 13.09.27藤原 克則 秀和システム 売り上げランキング: 4,408 Amazon.co.jpで詳細を見る ちなみに私は「lsのソースを読まずにプログラマを名乗っていました、ごめんなさい」というクチです。OSSなコードって当に必要な箇所しか読まないので…。 lsのソースコードを解説している で、このは一言で言うと「lsのソースコードを解説している」です。それ以上でも、それ以下でもないです。これは、筆者さんのtweetで見

    「lsを読まずにプログラマを名乗るな!」を読んでみて - Happy My Life
  • Android NDKで線形代数ライブラリEigenを使う - Happy My Life

    ndroid NDKで使える線形代数ライブラリ(平たく言うとベクトルや行列演算などの2D,3Dグラフィックスの演算を行うライブラリ)を色々調べていたのだが、そのなかでもEigenの使い勝手がよさそうなので試しに使っているところ。OpenGLとの親和性も高く、使い勝手がよさそうなので今後使っていこうかと思っている。 Eigenの特徴は、テンプレートライブラリであること。つまり、ライブラリのビルドが不要で、ヘッダファイルを取り込むだけでプロジェクトで使える。これだとAndroid NDKのような特殊な環境(でもなくなってきた?)でもすんなり使える。 ただ、Android NDKで使える様にするにはちょっとした設定が必要なので、そのメモを兼ねて記録を残しておく。ここでは、Eigen 3.1.2、NDKr8eを使った。 ダウンロード~インストール Eigenの公式サイトから、たどってEigen 3

    Android NDKで線形代数ライブラリEigenを使う - Happy My Life
  • 組み込みAndroidのセミナーをします - Happy My Life

    ということで、組み込みAndroidのセミナーの告知を。 8月2日(金)、3日(土)に、東京巣鴨のCQ出版セミナールームにて、実習・組み込みAndroid開発力強化集中講座 (金曜&土曜 2日コース) Androidボードからさまざまなデバイスを制御してみようと題して、実習の含めた組み込みAndroidのセミナーを行います。申し込みはこちらから。 このセミナーでは、BeagleBoard-xMとAndroid 2.3を使って、基礎的な解説から「加速度センサーへの対応」「タッチパネルへの対応」「独自SDKの作成、ビルド & サーボ制御」といった内容を実習を交えて学んでいきます。 ちなみに組み込みAndroid エキスパート テクニックブックを読んでおくと、理解が早まります(セミナーの内容の半分が、このに書かれているので) 参加特典として、実習で利用した開発環境(VirtualBoxのファイ

    組み込みAndroidのセミナーをします - Happy My Life
  • ARMアセンブリ言語本が出ます - Happy My Life

    ということで、「ARMで学ぶアセンブリ言語入門」が6月22日に発売になります。 一言で内容を表すと「C言語で組み込み開発している人向けのARMアセンブリ言語入門」。言い方を変えると「バリバリとアセンブリコードが書ければ言うことないけど、C言語でコードを書いてたとしても、アセンブリ言語がどんなモノで、どんな風に成り立っているのか知っておこうよ。後できっと役に立つよ」。 内容としては、ARMアーキテクチャの話から、アセンブリ言語特有の考え方(レジスタ、命令など)、命令解説、C言語との連携、例外・割り込みの解説など、アセンブリ言語を扱うのに必要なところを一通り、といった感じで。 サンプルコードは特定ハードウェア(評価ボード)に依存せず、QEMU(ARMプロセッサをエミュレートするソフトウェア)上で動作することが前提となっている。よくあるパターンで、ARMプロセッサの解説だと何かしらのARMプロ

    ARMアセンブリ言語本が出ます - Happy My Life
  • Renderscriptの今 - Happy My Life

    ってことで、Renderscriptは今どうなっているのかをまとめてみた。 一番の謎は、Google I/O 2013に「High Performance Applications with RenderScript」というセッションがあったこと。一言でいうと「Renderscriptはいつ使うの? 今でしょ! 今後も頑張って拡張しちゃうよ。期待しててね!」という内容。なんでセッション1つ設けたんでしょうね? Renderscriptの紹介 Renderscriptって何やねん? ってところからお話する。単純に言うと「AndroidGPU Computingを行うため開発環境」のこと。 もうちょっと詳しく書くと以下のようになる。 文法はC言語(C99) .RSファイルにコードを書いてJavaから呼び出す(NDKみたいだけど呼び出し方は緩い) LLVM/clang使ってるから、CPU、GP

    Renderscriptの今 - Happy My Life
  • Emacsユーザーならば見ておきたい動画 - Happy My Life

    Emacsはとても強力なエディタだと言われているが、周囲に使っている人がいなかったり、なんとなく使っていたりして、いまいちピンと来ない人も多いはず。 そんな人に観て欲しいのが、このEmacs Rocks!という動画集。Emacs Rocks!では、毎回Emacsの様々な機能にフォーカスを当てて解説している。 1が5分以内の短いもので英語の解説付き。喋っている内容が理解できなくても、動画を見ていれば、だいたい理解できる。 ここでは、そのうちのWeb開発に役立ちそうな機能を解説した動画3つを紹介しておく。残りの動画は、Emacs Rocks!の公式サイトや、You Tubeのemacsrocksチャンネルから見られるので、興味がある人はぜひ。 Emacs Rocks! Episode 11: swank-js Emacs Rocks! Episode 13: multiple-cursors

    Emacsユーザーならば見ておきたい動画 - Happy My Life