つよくなりたいなあ

地に足をつけず世界を生きぬくブログです

Unity+Xcodeを使って実機にインストールするときにできない問題

Unityからiphoneにアプリをインストールして動作確認するときにXcodeを使います。
そんなときにうまくビルドできない、なんでやーと思ってたのが一つ解決できたのでメモ。

基本的にはエラーちゃんと読んでの一言に尽きる。

f:id:heyassy:20181028210251p:plain

Xcodeでこういうエラーが出てビルドが失敗するとき、まず確認したいのはSigningに自分のTeam、ApplDが入ってるかどうか。そしてIdentityのBundle Identifierがきちんと任意の名前に変更されているかです。

初期設定のcom.Company.ProductNameのままだとビルドに失敗してしまいます。 ここをUnityのPlayer Settingから任意の名称に変更しましょう。

f:id:heyassy:20181028210641p:plain

上記の写真のように、UnityのFile>Build Setting>Prayer Settingの中にあるOther Settingsから変更できます。

ここを変更してもう一度Xcodeからビルドをやってみればいけるはず!

最近見た良きウェブ

Webデザインのインプットとして、よくイケてるウェブサイトを集めているので、ブログにもアウトプットしてみる。

01 GOOD MOODS

www.goodmoods.com

以前よりデザインが変わってる。洗練されていてグリッドの使い方もきれい

02 Touring Bird

www.touringbird.com

全体的にシンプルで統一されたかわいさがある。イラストの色使いやテイストもそうだし、ロゴのグラデーションからはみ出さない配色と統一された角丸の使い方がシンプルでよいデザインを作ってる。

03 島宿 フジヤホステル

甑島の日常へ渡す小さな島宿 FUJIYA HOSTEL (フジヤ ホステル)

メインビジュアルの切り抜きが家のかたちになってるのがかわいい。 ホテル、料理の写真ディレクションもトーンに合ってる。ちょいちょいある線の細いイラストが邪魔にならない遊び心。

04 インフォーカス株式会社

www.in-focus.co.jp

ginza sixのサイトつくったとこ。トップのリールからの入りがいいよね。
worksの見せ方もかっこいい。デザイン、モーション、実装共に技術力をアピールできてる。

181024

@deconbatchさんのnote記事見てrandomをnoiseに変換してみたやつ

note.mu

/*
 * 2018/10/24
 * 
 */

void setup() {
  size(720, 720);
  colorMode(HSB, 360, 1, 1, 1);
  smooth();
  noFill();
  frameRate(60);
}


void draw() {
  background(0, 0, 0, 1);
  translate(width/2, height/2);

  int drawCntMax = 16;
  float hueBase = random(360);

  for (int drawCnt = 0; drawCnt < drawCntMax; drawCnt++) {
    float seed = random(0.01,0.02);
    float scope = 130.0;
    float pA = seed * floor(random(-scope, scope));
    float pB = seed * floor(noise(scope, scope));
    float pC = seed * floor(random(-scope, scope));
    float pD = seed * floor(random(scope, -scope));

    float prevX = random(-2.0, 4.0);
    float prevY = random(-4.0, 2.0);

    float hueApply = (hueBase + (drawCnt % 3) * 45.0) % 360.0;
    float satApply = map(drawCnt % 6, 0, 5, 20.0, 20.0);
    float briApply = map(drawCnt % 5, 0, 4, 40.0, 60.0);
    int lineCntMax = floor(map(drawCnt, 0, drawCntMax, -30, 60));
    strokeWeight(map(drawCnt % 4, 0, 3, 0.2, 0.8));

    rotate(PI * 0.25);

    for (int i = 0; i < lineCntMax; i++) {
      float currX = sin(pA * prevY) - cos(pB * prevX);
      float currY = sin(pC * prevX) - cos(pD * prevY);

      stroke(hueApply, satApply, briApply, 100.0);
      strokeWeight(1.5);
      line(
        prevX * width/6.0, prevY * height/6.0, 
        currX * width/6.0, currY * height/6.0
        );

      prevX = currX;
      prevY = currY;
    }
  }
}

f:id:heyassy:20181027222454p:plain

181010

/*
 * 2018/10/10
 * invisible wind.
 */
import processing.pdf.*;

boolean savePDF = false;

int octaves = 4;
float falloff = 0.75;

color arcColor = color(100, 0, 75, 100);

float tileSize = 30;
int gridResolutionX, gridResolutionY;
boolean debugMode = true;


void setup() {
  size(800, 800);
  colorMode(HSB, 360, 100, 100);
  gridResolutionX = round(width/tileSize);
  gridResolutionY = round(height/tileSize);
  smooth();
}

void draw() {
  background(360);

  noiseDetail(octaves, falloff);
  float noiseXRange = mouseX/100.0;
  float noiseYRange = mouseY/100.0;

  for (int gY = 0; gY <= gridResolutionY; gY++) {
    for (int gX = 0; gX <= gridResolutionY; gX++) {
      float posX = tileSize*gX;
      float posY = tileSize*gY;

      // get noise value
      float noiseX = map(gX, 0, gridResolutionX, 0, noiseXRange);
      float noiseY = map(gY, 0, gridResolutionY, 0, noiseYRange);
      float noiseValue = noise(noiseX, noiseY);
      float angle = noiseValue * TWO_PI;

      pushMatrix();
      translate(posX, posY);

      if (debugMode) {
        noStroke();
        ellipseMode(CENTER);
        fill(noiseValue*360);
        ellipse(0, 0, tileSize*0.25, tileSize*0.25);
      }
      //arc
      noFill();
      strokeCap(SQUARE);
      strokeWeight(1);
      stroke(arcColor);
      arc(0, 0, tileSize*0.5, tileSize*0.5, 0, angle);
      popMatrix();
    }
  }
  if (savePDF) {
    savePDF = false;
    endRecord();
  }
}

void keyReleased() {
  if (key=='s') saveFrame("wind-###.png");
  if (key == 'p') savePDF = true;
}

void keyPressed() {
  if (keyCode == UP) falloff += 0.05;
  if (keyCode == DOWN) falloff -= 0.05;
  if (falloff > 1.0) falloff = 1.0;
  if (falloff < 0.0) falloff = 0.0;

  if (keyCode == LEFT) octaves--;
  if (keyCode == RIGHT) octaves++;
  if (octaves < 0) octaves = 0;
}

f:id:heyassy:20181011001848p:plain

C4Dでカメラを一周させてターゲットオブジェクトを撮る

cinema4dでオブジェクトの周りをカメラで一周させたいと思った時のメモ

【CINEMA4Dカメラアニメーション編】ダイジェスト映像 - YouTube この動画でやってたことが参考になりました。

カメラを用意して、円形のパスに沿って移動させればできます。

f:id:heyassy:20180917194857p:plain

サークルオブジェクトをレンダリングしたいオブジェクトの周囲を囲むように配置します。この場合はZ軸にしています。

つぎにカメラを配置して、右クリックでcinema4d tagからAlign to SplineとTargetを使います。 カメラのSplign Pathにサークルオブジェクトを、ターゲットにキューブを配置すると、レンダリングしたいオブジェクトにカメラが向けられ、かつスプライン上に配置されます。

f:id:heyassy:20180917195448p:plain

こんな感じ。これでカメラのPositionを0%から100%にしてキーフレームアニメーションさせればオブジェクトの周りを一周するカメラのできあがりです。