Apple LLVM 8.0 clang: error: no such file or directory:xxx/Prefix.pch がxcodeで出た時


Apple LLVM 8.0 clang: error: no such file or directory:xxx/Prefix.pch

Unityでビルドするとたまに出る。Build settingのPrefix Headerを見るとClasses/Prefix.pchとなってるけど、実際には存在しないので、そういう時は他のUnityでビルドしたプロジェクトからコピペして対処すればOK

Blenderから.objをエキスポートしてthree.jsで読み込む時

Blenderから.objをエキスポートすると.mtl内に

map_Kd floor.png

みたいな感じでテクスチャ名が書かれている。three.js上で別にテクスチャを読み込むので、ここの記述は1行いらなく、残しておくとエラーが出る。

 

さらに.obj内の記述で

usemtl Material.001

とマテリアル名が書かれている部分を,

usemtl floor

のようにfloor.mtlの名前の部分に書き換える。ここはBlender側でついてたマテリアル名がデフォで記述されているんだけど、three.js側は.mtlファイル名が必要っぽい。調べてないから詳しくはわからないけど。ここはブラウザでエラーも出ないのできづきにくい。

ナビゲーションバー用のアイコン画像に@2x,@3xを追加してリサイズするスクリプト

iOSのナビゲーションバーのアイコンアプリをピクセルレシオ2や3に対応した画像をリサイズして作るシェルスクリプト。解像度決め打ちで使い勝手悪いけど、とりあえずは十分楽になった。


#!/bin/bash
find . -name "*.png" -maxdepth 1 | while read f; do
sips -z 66 66 $f --out resize/${f%.*}@3x.png
sips -z 44 44 $f --out resize/${f%.*}@2x.png
sips -z 22 22 $f --out resize/${f%.*}.png
mv $f original/
done

画像のあるフォルダで実行するとリサイズしてresizeフォルダ作って中に画像を作ります。

社内の古いPCをGitリモートリポジトリにする

GitはほとんどBitbucketにリポジトリを作って使ってましたが、最近はデータが上限の2GBを大きく超えて4GBくらいになってきてて、プッシュしてもリジェクトされるので、社内の古いPCをGitのリモートリポジトリにして運用することにしたので、超簡単な手順をメモ。

リモートリポジトリを作る

1.古いPCにGit for Windowsを入れる。

2.リポジトリを入れるフォルダを作って移動(/git/hoge)

3.git init –bare –shared

これでリポジトリは完成。

クローンする

4.クローンしたいPCにフォルダを作って移動

5.git init してから、git clone //pc/git/hoge

6.git remote add origin //pc/git/hoge でリモート設定

これでOK

———-
Macでやる場合

1. システム環境設定の共有から、リモートログインを入にする

2. “ssh xxxxx@192.168.0.0″と入力してください。の xxxxx@192.168.0.0 でリモートから接続 ポート番号はたぶん22

3. git remote add origin ssh://xxxx@192.168.0.0:22/git/hoge でリモートに追加

Unity StreamingAssetsからファイルを読み出す

Streaming Assets で iOSとAndroidの違いにハマったのでメモ。

string FilePath;
#if UNITY_IPHONE
  FilePath = Application.dataPath + "/Raw/" + filename;
#else
  string fullPath = "jar:file://" + Application.dataPath + "/!/assets/" + filename;
  WWW www = new WWW (fullPath);
    while (!www.isDone) {
  }
  FilePath = Application.persistentDataPath + filename;
  File.WriteAllBytes (toPath,www.bytes);
#endif

iOSはそのままパスからファイル読み込みできるけど、Androidは一度Application.persistentDataPathにコピーしてから開かないといけない。

Unity Export Packageは実機でtagの情報を引き継がない

別のプロジェクトで作ったものを、いったん.unitypackageでエキスポートしたのですが、インポートすると、エディタでは問題なく動くのに、実機転送すると動かなくなる現象があり、むちゃくちゃハマりました。

もとのプロジェクトでつけてたtagがエキスポートすると引き継がれないのですが、エディタ上でプレファブのインスペクタのタグをみると、普通にタグがかかれているため、バグの発見に時間がかかりました。タグはよく使っていたので今後は注意します。

と思ったら引き継がれてました。。。あれ、どこでタグが消えてしまったんだろう。。。