unity SocialConnector ボタンを押すとスクリーンショットを撮って投稿する
作業
zipをダウンロード
以下のコミットのデータを取ってきた「Facebookでテキストをシェアできなくなったので追記 #19」
SocialConnector以下のディレクトリーをコピーしてAsset以下に置く
スクリーンショットをSDカードに保存するように修正
シーンの修正
Sampleシーンの以下の場所にのSample.cs代わりに以下のスクリプトを入れる
ShootUI.cs
CaptureAndShareImage.cs
using UnityEngine; public class ShootUI : MonoBehaviour { GUIStyle style; void Start() { style = new GUIStyle (); style.fontSize = 100; } int count = 0; void OnGUI() { Rect rect = new Rect (10, 100, 400, 300); GUI.Label (rect, count.ToString (), style); if (GUILayout.Button ("<size=30><b>CaptureAndShareImage</b></size>", GUILayout.Height (60))) { GetComponent<CaptureAndShareImage>().Shoot (); } count++; } }
CaptureAndShareImageの構造説明
ファイル名が同じ場合の、「すでにファイルが存在している時」対処をしなければならない。
つまり、ファイルが上書き状態にあるかどうかの判定処理を追記しなければならない(以下のような存在確認だけではダメ)。
do { //Debug.Log ("Temporary ScreenShot hav not been written yet. " + GetImgPath + fileName); //書込み処理のために1フレーム待つ yield return new WaitForEndOfFrame (); } while (!System.IO.File.Exists (GetImgPath + fileName));
また、Twitter投稿時に同じ画像ファイル名を送ると前に利用した画像が出力されてしまい新しい画像が投稿できないことがあった。
以下の理由により、写真を撮るたびに投稿画像名を変更した。
private void CreateScreenshotsFileName() { fileName = DateTime.Now.ToString ("yyyyMMddhhmmssfff") + ".png"; }
最後に、このオブジェクトの生成時に毎回画像を削除するようにした。
結果
C++ 関数ポインタ クラス
概要
C++ではクラス内で関数ポインタを使う時書き方がが変わるので、それを記載する。
gist.github.com
gist.github.com
gist.github.com
実行結果
$ g++ -o FunctionPointer *.cpp $ ./FunctionPointer function1() void func1() void func2() function2() void func1() void func2() cs.run1() void FunctionPointer::func1() void FunctionPointer::func2() cs.run2() void FunctionPointer::func1() void FunctionPointer::func2() void FunctionPointer::func3()
Unity オブジェクトの階層と当たり判定
Unity4→5にUpdateした時、以下のような状態が発生したので、その解決方法を記載する。
発生方法
子オブジェクトにRigidbodyを持つ親オブジェクトのスケール値を(x,y,z)同じ値にしない
実行するとこうなる
解決方法について説明
親オブジェクトのスケール値を(x,y,z)を同じにする
子オブジェクトのスケール値のみへんこうする
Unity Animationを利用しているオブジェクトの階層を変更した場合の対応方法
概要
以下のようなAnimationを利用したオブジェクトの階層構造がある
この階層にmiddleというオブジェクトを追加しすると、以下のように参照が外れてしまう。
参照の修正方法
ファイルを修正できるように設定を行う
アニメーションファイルのパスを調べる
➜ Assets grep path Animation.anim path: B/B:Child path: D/D:Child path: A/A:Child path: C/C:Child path: A path: B path: C path: D - path: 1696498558 - path: 1976881102 - path: 1836819750 - path: 3557989513 - path: 3554254475 - path: 1255198513 - path: 1037565863 - path: 2746444292 path: B/B:Child path: D/D:Child path: A/A:Child path: C/C:Child path: A path: B path: C path: D
このファイルを以下のように修正する
path: 階層
path: middle/階層
今回は、Xcodeで置換した
処理後
➜ Assets grep path Animation.anim path: middle/B/B:Child path: middle/D/D:Child path: middle/A/A:Child path: middle/C/C:Child path: middle/A path: middle/B path: middle/C path: middle/D - path: 1696498558 - path: 1976881102 - path: 1836819750 - path: 3557989513 - path: 3554254475 - path: 1255198513 - path: 1037565863 - path: 2746444292 path: middle/B/B:Child path: middle/D/D:Child path: middle/A/A:Child path: middle/C/C:Child path: middle/A path: middle/B path: middle/C path: middle/D
結果
資料庫/Unity/Texture
2Dテクスチャー
Unity - Texture 2D
Unity - マニュアル: テクスチャ 2D
ピクセルパーフェクトの画像を使う場合に適したテクスチャ設定の確認(その2) - 強火で進め
Unity - Manual: Reducing the File Size of the Build
テキストにグラデーションをつけるスクリプト
資料庫/Unity/シェーダ
nakamura001 @ ウィキ - トップページ/Unity(Unity3D)/内蔵シェーダのソースコード
nakamura001 @ ウィキ - トップページ/Unity(Unity3D)/内蔵シェーダのソースコード/Transparent/Cutout/Diffuse
UnlitAlphaWithFade - Unify Community Wiki
Unity - マニュアル: サーフェイスシェーダーの例
Unity: Shader with Normals + Shadows
Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips
マテリアルのマスク処理 Unity3dで円形のマップを作る
http://wiki.unity3d.com/index.php?title=Texture_Mask
ビルドイン(内蔵)シェーダの「Diffuse」のコードを読む - 強火で進め
その2 ShaderLabでUnityシェーダの下地作り
Unity で Transparent/Diffuse で描画順が崩れてしまう際の対処法 - 凹みTips
資料庫/Unity/UGUI
メモ
UGUIのキャンバスはStart,Awakeで宣言しないと最初から表示できない
URL
GameObjectが重なっている時uGUIで配置したボタンだけタッチに反応させる [stepism@Unityメモ]
UnityのuGUIでコンボボックス(或いはドロップダウンリスト)を作る - テラシュールブログ
Unity - マニュアル: Canvas Group
UnityでuGUI【Image編】 - 万年素人からHackerへの道
Unityの新GUI、uGUIはどうなる?こうなる! - テラシュールブログ
Unity - uGUIでゲージを作った話 - Qiita
Unityの2DやuGUIのパフォーマンス最適化についての7つのTips - テラシュールブログ
UnityのuGUIでスクロールビューを作る - テラシュールブログ
Canvas UI(uGUI)のイベント処理 - Unityな日々(Unity Geek)
uGUIでボタンのクリックイベントを取得 - チラ裏Unity
Unityの新GUI、UGUIのイベント制御について - テラシュールブログ
uGUIのTextの使い方【ひよこエッセンス】
Post Position 【Unity】 ScriptableObjectを使おう
【Unity4.6beta】EventSystemの通知を受け取ってみた | ケットシーウェア