コーディングもUnityになぞらえて学習時間を短縮したいところ。コーディングはGUI操作よりもエンジンの設計思想の影響を受けやすいので、ちゃんと違いを理解しておきたい。 幸い、Unreal Engineの公式ドキュメントにUnityのScriptと照らし合わせた解説が載っている。 Unity 引っ越しガイド:ゲームオブジェクトからアクタへ スクリプト可能な Actor ブループリント クラス UE4 の優れた機能をご紹介します。新規 Actor ブループリント クラスは、独自のブループリント ビジュアル スクリプティングを持ちます。これにより、個々のコンポーネントだけでなく、オブジェクト全体にロジックを追加できます。継承と組み合わせると (以下で説明)、ゲーム デザインのフレキシビリティが非常に高くなります。 Unity C# using UnityEngine; using System
SwiftはOptimization Levelによって顕著にパフォーマンスに差が出ます。 参考: Apples to apples, Part II · Jesse Squires また、Dynamic Dispatchでの呼び出しもオーバーヘッドになります。 参考: Swiftのfinal・private・Whole Module Optimizationを理解しDynamic Dispatchを減らして、パフォーマンスを向上する - Qiita ドキュメントなど読み解けば「どういう記述をすればどうコンパイルされるか」は大体予測付きますが、やはり実際にその予測通りになっているかは確認しておきたい時があります。 特にロガーなどグローバルに呼び出されるものの場合、そういう確認大事だと思っています。 (この記事もロガーの検証が元々の目的で、そのために調べてまとめています。ロガーについても記事
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 無線LANは目に見えないので場所によって速度が出なかったり、最悪の場合は繋がらなかったりします。物の配置によって変わるので、定期的なチェックが欠かせません。 そこで紹介したいのがwifi-checkです。WiFiの強度をチェックしてくれるツールです。 wifi-checkの使い方 wifi-checkはMac OSX用のソフトウェアで、そのままwifi-checkコマンドを実行するだけです。 $ ./wifi-check ======== Internet Information Address: 192.168.0.14 Gateway: 192.168.0.1 Ping: 6.379 ms (100% packets transmitted) DNS: OK ========
はじめに ちょっとディレクトリの監視をしたかったのでNSFileCoordinator/NSFilePresenterについて少し調べました。 ファイルシステムプログラミングガイドを読んだところ、ディレクトリを監視するには以下の二つの方法があるそうです。 FSEvents ファイルコーディネータ/ファイルプレゼンタ その中でFSEventは、CベースのAPIなので使うのがダルそうです。 swiftラッパーのソースも見つけたのですが、あんまりメンテされてなさそうだったので、ファイルコーディネータ/ファイルプレゼンタを使ってみることにしました。 ちょっとファイル監視するくらいなら簡単にできます。 実装 ここでは、NSFileCoordinator/NSFilePresenterを使って指定したディレクトリ内のファイルの追加、更新、削除を監視してみます。 流れ ファイル/ディレクトリを管理するオ
class ABC { public bool isBusy; } IEnumerator Hoge() { ABC a = new ABC(); while(a.isBusy) { yield retun null; } }
そもそも、2Dベースなら真面目に被写界深度エフェクトをやることもないよね! というわけで、範囲指定ができるブラーエフェクトを作った。 理屈 ImageEffectのDepthOfFieldエフェクトは深度バッファを参照してブラー範囲を決めることでピンボケを表現している。 この深度バッファ参照部分を改造し、テクスチャアセット参照にすることによって、範囲限定ブラーになると。 メモ テクスチャはモノクロで良いので8bit形式推奨。白い箇所にブラーがかかり、黒い箇所はそのまま描画される。 親クラスとシェーダはImageEffectのものを参照しているので、そのへんインポートしておかなければならない。 コード Unityバージョンは5.3.2p1 gist.github.com ブツ ボカす部分固定のナンチャッテ被写界深度 pic.twitter.com/5j63fjIK64— enu (@_enu
※この記事で使っているUnityのバージョンは Unity5.2.1p3 です。 木構造の表示 まずは木構造を表示させるウィンドウ using UnityEngine; using UnityEditor; using System.Collections.Generic; public class NodeEditor : EditorWindow { private Node root; [MenuItem("Window/Node Editor")] static void Open() { EditorWindow.GetWindow<NodeEditor>(); } protected void OnGUI() { if (this.root == null) { this.Init(); } BeginWindows(); this.root.Draw(); EndWindow
Shaderはゲーム中に使用する際にロードされ、それが原因でカクつきの原因になる場合があります。それを防ぐために、Unity5から導入されたShaderVariantCollectionの機能を使用し、ShaderのPreloadを行ないます。 公式で説明しているページはこちらになります。 シェーダロードタイムの最適化 ShaderVariantCollectionの機能 読み込みたいShaderとキーワードのリストを保持しています。 キーワードは"#pragma multi_compile"や、Fogのモードの"Linear"、"Exp"、"Exp2"等の同じShaderでも、異なる機能(Variant)を所持していた場合に、Preloadするものを選択する必要があります。 ShaderVariantCollectionの作成方法 "Project > Create > ShaderVa
しばしば「サイバーセキュリティは複雑だ。よく分からない」と言われる。脅威の複雑さもさることながら、ITの他の分野と異なり、あまりに多くの種類の「セキュリティソリューション」があふれていることも理由の一つではないだろうか。それらを大まかに整理することで、足りないもの、強化したいものを見つける手助けにしてほしい。 「多層防御」の重要性があらためて浮上 2015年に大きな話題となった標的型攻撃は、その巧妙なやり口により「脅威の侵入を100%防ぐことは困難である」「何か1つのソリューションで侵入を防ぐことは困難である」という事実を突きつけた。そこであらためて浮上しているのが「多層防御」の重要性だ。 ここでいう多層防御とは、脅威が入り込むことを防ぐ「予防」の観点で壁を何枚も設け、厚くする、という意味だけではない。もちろん、「ネットワークは突破されても、端末で防ぐ」といった具合に防御を固めることは重要
LINEとかチャット系アプリは大体踏襲しているアレです。 まとめて解説してるブログが見つからなかったので、必要最低限の部分だけメモっときたいと思います。 今回はメッセージ入力欄のみで、ポイントはこの二つ。 メッセージ入力欄・送信ボタンは下部固定(キーボード出現時は隠れないように移動) 入力テキストの行数によってメッセージ入力欄の高さが変わる 実現方法は色々だと思いますが、今回は StoryBoardでAutoLayout を使ってやります。 【完成イメージ】 StoryBoardでレイアウトを作成 まずは以下の構造で各種UIパーツをレイアウトします。 Constraintを設定 Constraintについてここでは詳しい説明はしませんが、View間の相対位置やサイズ等を定義するルールといったところです。 画面サイズが異なる端末でもそれぞれいい感じにレイアウトが組めるので便利です。 Stor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く