ゲーム作るゲーム作る時のヒントなどUnity愛が強すぎてUnityでスライドを作ってしまったコメントをどうぞここからみれます。s2kw[Unity3d]プロジェクトを開始時する前にしておきたいソースファイルの文字コードの設定2件の返信プロジェクトの途中、いろんな環境で作業しているスタッフが混在していたり、スタッフが途中で増員すると環境が一人だけ違っていたりする事がある。コミットされたファイルの文字コードが違っていたりすると後で変更することは可能だが、svnのdiffが効かなくなったりblameで変遷を追えなくなる。いえ、Unityで生成されるファイルはデフォルトでUtf-8なので、これ以外を使おうとする場合はコミット前に毎度確認しなければならなくなる。いった事態を回避する為に、予め特定の文字コードでファイルが生成されるように設定しておくと後々の不幸な出来事が無くなるのでメモしておく。[wp_ad_camp_1]親ファイル新規に生成されるファイルは特定のファイルをコピーしただけになるので、親ファイルを特定して変更すればすべて解決する。/Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.boo/Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.cs/Applications/Unity/Unity.app/Content/Resources/NewBehaviourScript.js/Applications/Unity/Unity.app/Content/Resources/NewShader.shaderNewBehaviourScript.csとかjsとかbooとかshaderとかのファイルがあるのでこれを書き換えておく。生成時にこれがまるっとコピペされるので署名等も入れておくと便利。ちなみにこれらは3.xの場合。4.x以降の場合ファイルは.txtとして完全にテキストファイル化している。環境変数っぽいものも使えるようで、これを駆使して様々な記述ができそうではある。Fileから変更が可能。Windows版の場合3.xについては以下の通り。Unity/Data/Editor/Resources/NewBehaviourScript.booUnity/Data/Editor/Resources/NewBehaviourScript.csUnity/Data/Editor/Resources/NewBehaviourScript.jsUnity/Data/Editor/Resources/NewShader.shader4.xについては様々な問題により調査してません。Mac版同様の構成になってると思われるので次の単語で検索すると出てきそう。Shader-NewComputeShader.compute.txt※最後のファイルは何なんでしょう...。はやく4.x環境に完全以降したい!注意UnityのTextAssetはiOSむけにコンパイル後、UTF-16withBOMのファイルを読み込ませてパースしようとすると、BEだろうがLEだろうがパースエラーになって落ちる。作ったやつ)3D空間のカメラ(mainカメラ)3D空間のブジェクトサンプルgistやってること3Dカメラでワールド座標からスクリーン上の座標に変換1の値を別のカメラのスクリーン座標上に変換2D上に表示させたいアイテムのx,y座標だけ2で得た座標を上書き※zは描画順やカメラの有効射程から外れるので無視。原点がくるように指定する。bottomにすると原点が中央下部になるので、3Dオブジェクトのちょい上にあらかじめ表示が可能になる。Spriteオブジェクトが乗ったパネルオブジェクトをPoint2DのplaneObjectに参照させるそうするとパネル内で表示物を切り替えたりするときに便利だから。日本語が使えるフォントと使えないフォントが入り交じっているが、表示用文字挿入カラム内に日本語を入力してフォントを選択することで、日本語フォントを内包するフォントを洗い出す事が出来る。試用不可能な場合は画像の様に使用可能には見えなくなる。フォント一覧カラム内をアローキーで順繰りにしていけばプレビューに日本語が表示されるので、仕様可否が判別できる。日本語が表示可能だとプレビューが変化する。一つ注意をするとすれば、フォントを選ぶ際は最低限の文字列で行うべきだ。プレビュー作成にけっこうな時間を要してしまう。青空文庫のサイトで漢字の基準がまとまってUPされている。青空文庫ここから任意の基準の文字列をDLしてbmGlyphに記入する。エラーが出るsuffixを記述しないとその旨のエラーが出る。記述してもエラーが残る場合は、bmGlyphを再起動することで回避できる。Makerでフォントを作成するbmGlyphで作成したテクスチャとテキストデータをドラッグしてフォントを作成する。名前を新たにつけておく。Fontをクリックしてしばらく待つとドラッグ元にプレファブが生成される。UILabelに実際に文字を入れてみるUILabelをアタッチしたオブジェクトに名前を入れる。”晋弘”部分はフォントに無いので表示されない。このとき、UILabelのx,yのスケールはポイントを表すので画面サイズに対して何ポイントで表示させたいかでスケールを決める必要がある。UILabelには文字数の上限があって、1800文字程度入力すると表示がされなくなる。よって、規約などの文字列がおおいものを一度に表示するのではなくて、複数のオブジェクトに分けるか、WebViewを出現させるスクリプトを仕込んで別アプリケーションで対応させるなどが現実的だ。s2kwiOSの画面をキャプチャする手段いくつかコメントをどうぞ[wp_ad_camp_1]企業内でデバッグチームが組まれ、開発とデバッグチームが乖離している場合、バグチケットでの文章説明だけではバグの症状を伝えにくい事が多々ある。その際は画面撮影等も有効な手段だけれども、動画が撮れるなら再現性が低いものでも確認がとりやすい。そんな状況でiOSのキャプチャ方法はないものかとグーグル先生に聞いてみたところ、いくつか紹介されていたのでまとめておく。iPhoneスクショとりまくるスリープボタン+ホームボタンでスクショが取れる。10秒以上押すととリセットなので注意。ProEducreations画面をデジカメ等で撮影する完全にネタ。Reflectorを使うこれが一番現実的かと。Reflectorというアプリをキャプチャする側にインストールすることで無線で描画内容を取得できるようです。Win/Mac両対応。s2kw[Unity][XML][C#]テキストデータを外部ファイル化するサンプルコメントをどうぞ[wp_ad_camp_1]Unityのプロジェクトで日本語をコード内に記述してる事案があって、これを解消した時の構造をメモ。gist::ogkslowninTxtLib.csstaticで定義したテキストデータをKeyValue形式で保持したライブラリを複数所持するクラス。プロパティは次に説明するXMLPlistContainerクラスで定義される。使い方はライブラリの種類と取得したい文字列と対になっているkeyを渡すことで文字列データを取得する。XMLPlistContainer.csクラス生成時にファイルを読み込む。Editor上でのみ、ファイルのタイムスタンプを参照して使用時に読み直しをする。文字列を取得する際にはインデクサを用意して、key文字列を渡すことで得られる仕組み。fruit_default.xmlここのファイルにkeyと対になる文字列を定義しておく。ファイルは同名にして各国分用意する。サンプルではアプリケーションサーバを各国で分ける前提での設計なのだけれど、各国のファイルを平行して保持したいのであれば、XMLのファイル名を国別に用意し、XMLPlistCOntainer内での読み込み時の”_default_”を、引数として受けた国名文字列と差し替える記述をすれば対応可能になる。s2kw[Uniyt]ShootAndDropコメントをどうぞ先日作ってみたものを公開します。今回作るにあたっての目標は以下の通り。スクリプトをC#で書く。完了したらWebプレイヤー向けとして公開する。2の理由によりマウスオペレーション前提。記号的な物体のみで作成する。モデルはメタセコイアを使う。メタセコイアはMac上でMikuinstaller経由で動作してます。FBXプラグインを入れたのでUnityでも直ぐ読み込めます。動作が面白かったので公開したもの。柱倍加ただ、こういったものを作りまくってノウハウやデータの蓄積は大事だなと。公開するという一つの区切りは、通過儀礼的な役割として非常に重要なメンタルエネルギー源になりますね。影おちない非プロなので見栄え良くするにはシェーダいじるしか無い様で、勉強する事が常に山積みです。—-三宅陽一郎氏がAIに関する記事を書いたとか。errorコメントをどうぞ何を血迷ったかこんなエラーを発生させていた。原因はカメラにMeshColliderコンポーネントを割り当てるという愚行。描画したいレイヤーのみ選択した状態に。例では2Dのロックオン用演出と、プレイヤーのパラメータまわりを選択中。Layersで追加を行う。Inspector内、Depthは値が少ない順に描画を行うのでメインカメラよりも多い数字に。背景のみを描画したい時などは-1等にして背景画像を設置する。手前側ほど後から描画するから順番としては後になる。真上からパース無しで撮影した映像を手前に描画する。描画させる座標を変える。マップ用に手順は作り直すやり方にしてるので前回の手順を無視してかまわない。手順マップ表示用にカメラを追加する。PerspectiveをOrthographicにして近距離と遠距離での表示に違いを無くす。描画順(Depth)は4とか適当な数値に。2D情報よりも手前にするか奥にするかで順番の変更をする。Layerで作成)に指定。”2D_Radar”のみにチェックが入った状態にする。プレイヤーキャラとして作成しCharacterControllerコンポーネントを付けたGameObjectの子として扱うとキャラが旋回すると同時にマップも旋回してくれる。ここまで済んだら画面は以下の様になってるはず。赤い箱の子として赤Sphereを持たせている。Radar表示として丸が描画されている。プレイヤー用カメラが右を向いたらレーダ上のオブジェクト(●で表示されてるもの)が左へ移動。同様に反対側を向くとレーダは右に旋回する。このままでは画面中のオブジェクトとレーダー上のオブジェクトを混同するので表示位置を明確に切り分ける。Rectを変更して表示させたい位置とサイズの変更を行う。Rectを変更した画面。画面の右上に真上から俯瞰したカメラの画像を配置した状態。参考カメラを複数用意した際の設定等を参考に。Rectの存在を知らせてくれた。Direct3D10/11(シェーダーを完全にマスターできる本)あとがき?検索するときのワードは気をつけようと思う。専門家に聞く事で知り得なかった固有名詞を知る事が出来た。