アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

プログラミング

DX12でスクリーンショット保存

こんにちは、みにくい社長です。 今日はスクリーンショット保存機能の実装についてです。 Nintendo SwitchやPlaystationでは、1ボタンでスクリーンショットを保存する機能がありますね。 windowsにも1ボタンでスクリーンショットを撮る(クリップボードにコ…

ついに3年目!

こんにちは! ふるいプログラマーです。 4月に入って新年度が始まりましたね、これから新社会人として働き始める方や、入学される方などいらっしゃると思いますが、自分は特に変動がないので、何か身の回りの物を変えてみようと思い切って眼鏡を買い変えてみ…

PyScriptが企画用のツールに使えるかも

webブラウザでPythonを実行できるPyScriptを使ってみたので簡単にまとめました。htmlを書くだけでPythonを実行できる&結果を確認できるのは大きな利点かなと感じました。

気づけば年末。。。

最近急に寒くなってきましたね。。。 …と、こんにちは!ふるいプログラマーです! 先月はブラックフライデーでいろいろなところがセールしていましたね~ 自分が購入したのは相変わらず日用品が大半でした。 というわけで本題へ... 皆さんはVisualStudioは20…

DirectX12の描画フロー(最適化編)

こんにちは、みにくい社長です。 前回は基礎編でしたが、今回は最適化編です。 DX11で開発していたフレームワークをDX12に切り替えると、大体パフォーマンスが悪くなってしまいます。 本来DX12の方が細かい調整ができるので、より高速化が可能なはずなのです…

Unity2019系からUnity2021系へのバージョンアップ問題

こんにちは、ちゃらいアヒルです。 弊社で開発している「ポケットずかん」にてUnity2019ではどうしようも解決できない問題(Google Play Billing Library v4へのアップデートが2019では不可能)がありましたのでアップデートを行いました。 その際に発生した…

DirectX12の描画フロー(基礎編)

こんにちは、みにくい社長です。 昨今は汎用ゲームエンジンが使える為、DirectXで描画エンジンを実装した経験のある人も少なくなってきていると思います。 実際にwebで検索してみても、DX12よりもDX11やDx9の方が記事が多く、DX12の実装では調べてもわからな…

コンストラクタ

こんにちは、みにくい社長です。 今日はオブジェクト指向プログラミングの基礎、コンストラクタについて書きます。 初期化方法 コンストラクタはオブジェクト作成時に必ず呼ばれる初期化用関数です。 対になるものにデストラクタがあり、オブジェクトが破棄…

【Unity】スクリプトの呼び出し順を制御する方法

こんにちは!いかついプログラマです。Unityでゲームを作成していると、Monobehaviourクラスのイベント関数(Start、Updateなど)の呼び出し順序を変更したい場面が間々あるかと思います。 通常、Unityではこれらイベント関数の呼び出し順序は不定となってお…

DX12との格闘 #3

こんにちは、ちゃらいプログラマです。 今回は今まで行ってきたプリミティブ描画を複数表示してみた結果になります。 以前まではmain.cppにべた書きを行っていましたが今回からちゃんとクラス分けをしました。 またスマートポインタの使用を廃止しております…

ゲームプログラマの初心

こんにちは、みにくい社長です。 そろそろ4月の新卒社員の入社時期が近づいてきました。 毎年、自分が新社会人になった時のことを少し思い出します。 僕はずっとゲーム業界を志していたにも関わらず、プログラミングは初心者の状態でゲーム会社に入社しまし…

プランナー資料作成用VBA:エクセル資料提出のお作法~再帰版~

こんにちは!するどいプランナーです!今日も簡単なVBAの使用例です。前回作成した「エクセル資料のカーソル位置をデフォルト位置にする」を改良していきます。 仕様書として提出するエクセルファイルのお作法として ファイルを開いたとき、トップページ(=…

読みやすいプログラム

こんにちは、見えないプログラマです。 早いもので今年ラストのブログとなってしまいました。 今日は読みやすいプログラムについてすこし語ってみたいと思います。 プログラムは書くよりも読むことのほうが多いもので、例えば複数人で開発をしていると他人の…

衝突判定

こんにちは みにくい社長です。 今日はゲームに欠かせない技術、衝突判定について解説します。 衝突判定は一般的に、物理エンジンと呼ばれるライブラリで行われることが多いです。 有名なものでは下記の3つがあります。 - Bullet(オープンソース) - NVIDIA …

平方根を高速で近似したい!

こんにちは!いかついプログラマです。 ゲームを作っていると、欲しい数値を割り出すのに平方根(√)を使用したいことがあります。 ただ、平方根は他の演算と比べて負荷が高いことが一般的に知られているかと思います。 (Unityなんかでも平方根を使用しないVec…

プランナー資料作成用VBA:エクセル資料提出のお作法

こんにちは!するどいプランナーです!今日は簡単なVBAの使用例のおまけとして「エクセル資料のカーソル位置をデフォルト位置にする」を説明します。 仕様書としてエクセルを利用しているケースはまだ多々あるかと思いますが、上司や取引先に提出したりする…

DX12との格闘 #2

こんにちは、ちゃらいプログラマです。 今回はテクスチャを表示してみたいと思います。 ※前回の記事はこちら blog.ahiru.co.jp 準備 png形式の画像を表示したかったのでWIC(Windows Imaging Component)を使用しています。 github.com 上記から DirectXTex/d3…

資料作成用VBA:マップ上に移動範囲を描画する

簡単なVBAの例です。 プランナーの資料作成が楽になるようなものとして「後編:マップ上にアイコンからの範囲を描画する方法」を説明します。

バイトオーダー

こんにちは、みにくい社長です。 プログラミングでバイトオーダー(エンディアン)を気にする場面が少なくなってきていると思いますが、 関連して悩んだ部分があったので、今日はその話をしようと思います。 エンディアンとは? バイトオーダーというのは複…

3D空間のオブジェクトに追従するUIの話

こんにちは!おもろいプログラマです。 今日は真面目にUE4の話題を。 ゲーム制作中に3D空間のオブジェクトの位置に2DのUIを配置したい事ってありませんか? 無いですか。この話は終わりですね。 …いえ、あるんです。 例えば、こんな風なHPゲージを3Dキャラ…

プランナー資料作成用VBA:マップ上アイコンの表示をON/OFFする

こんにちは!するどいプランナーです!今日は予定を変更して簡単なVBAの使用例を説明していこうかと思います。 プランナーの資料作成が楽になるようなものとして前編:マップ上アイコンの表示をON/OFFする後編:マップ上にアイコンからの範囲を描画するの2…

DX12との格闘 #1

こんにちは、ちゃらいプログラマです。 いろいろ話題のレイトレーシングをやってみたいなーと思ったのですが DirectX9で知識が止まっている… DirectX12を勉強しなきゃ! となりました。 手始めにポリゴンを描画できるところまでやってみたのでご紹介します。…

ビジュアルプログラミング

こんにちは、みにくい社長です。 今日はビジュアルプログラミングについて書いてみたいと思います。 昨今では小学校からプログラミング教育が必修となり、注目されてきています。 AHIRU社では7年前ぐらいから子供向けのプログラミングスクールを始めたりと、…

通信対戦で送信データを最適化したい!

こんにちは、ちゃらいアヒルです。 今ではすっかり当たり前になりつつ通信対戦ですが、例えばプレイヤーの情報を全体へ送信する必要があるとき送信量が少なければ少ないほど良いとされています。 今回はよく知られているビットパッキングの方法を紹介したい…

クラス継承の基礎

こんにちはみにくい社長です。オブジェクト指向言語の特徴の1つにクラス継承があります。C++, C#, Javaで概念は同じですが、多少ルールが異なる部分があり、間違った解釈をしてしまっているケースを目にすることがあるので、解説したいと思います。クラス継…

ポケットずかんに塗り絵機能追加!

こんにちは、ちゃらいプログラマです。 弊社で開発/運用しているスマートフォンアプリの「ポケットずかん」に塗り絵機能が追加されました。 技術研究の名目で2回ほど記事を書かさせて頂きましたが製品版にするにあたり色々試行錯誤をしました。 以前は 1…

楽しい塗り絵の時間!(#2)

こんにちは。ちゃらいプログラマです。 前回はシェーダー側の解説を行いましたので今回はC#側の解説を行います。 C#側での対応は以下になります。 1.画面タッチした座標からピクセルカラーを取得 2.シェーダーに1.で取得した色(InColor)と塗りたい色(O…

楽しい塗り絵の時間!(#1)

こんにちは。ちゃらいプログラマです。 技術研究で塗り絵に挑戦してみたので共有したいと思います。あ、ちなみに全然楽しくないです。 要件は以下の2点 1.画面タッチした箇所の色を塗りつぶしたい色で塗りつぶす (塗りつぶし機能) ※上の図で緑色の部分…

ミリ波帯

こんにちは、まるいプログラマです。最近はケータイも5Gが使われはじめました。使用されている電波はミリ波と言うもので、アンテナが1cmにも満たないものです。同じミリ波帯が使用されてるものでは自動車の自動運転に使用されるミリ波レーダがあります。ラジ…

3Dモデルを動かせ~!

こんにちは、ちゃらいプログラマです。 3Dモデルを触る機会がありましたので、モーションもあることからどうせなら動かしてみたい!と思って作ってみました。 実行画面 移動する範囲は、 NavMeshを利用することで簡単に実装できました。 編集画面 移動先は、…