Swift iOSアプリ開発①

前回は、Swiftのセットアップを行いました。〜X CodeをDLするだけ〜

コーディングしてみたところ。。。※コピーですが
ボタン押下後のアクションはメソッド名と@マーク(アノテーション?)
でバインドするようです。

あとは、対応するメソッドを呼び出してやれば想定通りに起動しました。

今回は、3Dアプリを作成したいので「Scene Kit」を使用します。
参考にするサイトが見つからなかったので動画を参考にしました。

www.youtube.com

プロジェクトの作成では以下のように「SceneKit」を使用するチェックを入れます。

f:id:Takunoji:20170724203455p:plain

そのほかは普通にプロジェクトを作成します。
⑴そして、以下のフォルダにあるファイルを削除します。

3Dモデルが入っています。

f:id:Takunoji:20170724204202p:plain   f:id:Takunoji:20170724204226p:plain

そして以下のフォルダを削除

f:id:Takunoji:20170724204313p:plain

そして、余計なものをガンガン削除します。
次は、「viewDidLoad()」のsuper.viewDidLoad();以外を削除する。
⑵18行目〜66行目までを削除します。

行番号の表示方法は以下の通り、設定をクリック

f:id:Takunoji:20170724205002p:plain

テキスト編集?をクリックしてからLine nubersにチェックを入れる

f:id:Takunoji:20170724205049p:plain

⑶handleTap()メソッドを削除します。
⑷フィールドにSCNViewとSCNScene, SCNNodeを定義します。
⑸同様に上記を初期化します(init()処理で実行します)

まぁ動画をみてもらえばわかる事なので。。。
とりあえず、今日はここまでにします。次回はこの続きをやります。

Qtも保留してSwiftへ〜Swift開発環境構築〜

前回、Qtをインストールしました。
でも、結局のところはAndroidSDKを使用してやることになります。
塾考の末、それぞれに作成するのがベストという判断をしました。

AndroidAndroid Studio , Windowsで開発
iOS.      → Swift Macで開発

上記のようにやることにしました。
そして、自分の持っている携帯はiPhoneなので「Swift」で開発という事になりました。

というわけで、Swiftの開発環境構築手順です。

f:id:Takunoji:20170723205456p:plain

AppStoreより「xcode」と検索しXCodeをインストー

f:id:Takunoji:20170723205603p:plain

Xcodeを起動すると以下のように表示されます。

f:id:Takunoji:20170723205709p:plain

「Create a new Xcode project」をクリック
あとはこのサイトを参考にしました。→Creating a 'Hello World' App with Swift

起動結果はこんな感じ、
1.初期表示でボタン「HelloWorkd」(スペルミス)
2.ボタンをクリック後にポップアップ出力

f:id:Takunoji:20170723210018p:plain      f:id:Takunoji:20170723210034p:plain

ソースコードは次回記載いたします。

Qt for mac install 〜UEを諦める〜

前回は、UEでの画面作成に着手しておりました。。。
だがしかし、有能すぎるのも考えもの。。。

実際には、Unreal Engineでゲームが作成でき、デザインなどお楽しみ要素が沢山ある
。。。今回は、「ゲーム」が作りたいのではなく「プログラム」を作りたいので
UEを諦める方向になりました。
※UEで出力したソース、フレームワークの内容を理解すればプログラム作成可能です。
  正直言ってプラグインを作る、ちょいとクラスをカスタムするものの様に思います。

そして、結局Qtを使用して作成することにしました。
今までの苦労が報われた様な気がします。

UEを勉強したのも甲斐があり、今まで考えていたUI作成方法だとデザイン部分も全て

プログラムで描画するところでした。。。がUEの自動生成されるフォルダー構成を
参考にして、プログラムを組めば「デザイン」「情報処理」を分断した形で実装できます→デザイン部分を誰かに協力してもらう(頼める人がいれば。。。)

というわけで、前回はハードディスク及びGPUの都合でWindowsにインストールしましたが、Qtでも結局はAndroidSDK, iosであればMac仕様のファイルとか契約とか。。。

とりあえず、「Androidは面倒臭くない」「iOSは面倒臭い」という答えが出たので
MacOSiOS開発、WindowsでAndoid開発を行うことにします。

やっぱり重いんです、Qtのダウンロード。。。

f:id:Takunoji:20170710220856p:plain

UE4 画面作成~イントロダクション的な~

前回、何とかUnrealEngineのセットアップができました。

QtCeratorは使用できませんでしたが、まぁ良しとします。
プログラムの作成はどちらでもよいので・・・(必要になったらやります。)

現状としては、UE4によるUI作成→ゲーム作成がメインなので。。。

でも、UE4は使ってみた感想としてプログラム必要ない感じでできていました。
起動する時には以下のような画面です。

f:id:Takunoji:20170708215310p:plain

f:id:Takunoji:20170708215407p:plain

一番手前に表示しているのは、自分で作成した、アクター(画面コンポーネント)になります。
チュートリアルも豊富にあり、使い方はチュートリアルで何とかなりそうです。

目標達成アプリの作成も一気にUI設計の詳細部に突入しました。
画面の3Dオブジェクト作成にBlenderを使用、
UI上の動きなどの作成UE4で作業をしております。
画面のコントロール方法などすべてチュートリアルで分かります。

f:id:Takunoji:20170708220001p:plain

はっきり言ってドキュメントがこれだけ充実しているアプリケーションは見たことがないです。(笑)

Blender Python CubeでCubeを作る

前回は、シンプルにCubeを作成いたしました。

今回はプログラムっぽく...手で作成したくない様なCubeを作成します。

f:id:Takunoji:20170617214413p:plain

上記のスクリプトを起動するとエラーになります。ちょいと修正すれば動きます。
起動すると以下の様な感じで作成されます。

f:id:Takunoji:20170617214528p:plain

テスト的によくわからないけどサンプルコードを書いて見ると仕組みがわかって良い

今回のコードは以下です。

import bpy

for k in range(5):
for j in range(5):
for i in range(5):
bpy.ops.mesh.primitive_cube_add(
radius=0.25, location=(i,j,k))

本当はインデントがあったのですが。。。

まぁそれはさておき、今回筆者はBleander Pythonを初めて使用しました。
ソースを見る限り「どうやら3次元ループでCubeを作成する様だ」と予想がつきます。
ぶっちゃけて「location=」の部分は意味がわかっておりませんでしたが
起動して見て「あぁ」って感じです。

結果としては 5 x 5 x 5でCubeを並べただけですが、中々にアーティスティック🌟
サンプルコードを作った人はデザインもできるのでしょうな(笑)

余計なお世話かもしれませんが、一応。。。
「i=0, j=0, k=0」→「i=1, j=0, k=0」→「i=2, j=0, k=0」....
「i=0, j=1, k=0」→「i=1, j=1, k=0」→「i=2, j=1, k=0」....
「i=0, j=1, k=1」→「i=1, j=1, k=1」→「i=2, j=1, k=1」....
とlocationの値を更新しながCubeを作成し、最終的に画像の様なオブジェクトが作成されます。

Blender Python オブジェクトの作成

前回は、BlenderでPythonを起動しました。

今回は実際にコードを書きます。
前回も書きましたが、コンソールからBlenderを起動してください。
筆者は、ここで大分ハマりました(笑)
早速コードプリミティブ型の立方体「キューブ」を作成します。がエラー。。。

f:id:Takunoji:20170617211548p:plain

コンソールを見ると

f:id:Takunoji:20170617211638p:plain

「ああ、スペルミスね」となりますが、ここでコンソールが見れないと
ハマりました。。。修正して実行するとCubeが作成されます。

f:id:Takunoji:20170617211948p:plain

上記の様な感じです。

BlenderでPythonスクリプト

前回までBlenderを普通に使うの方法を勉強しました。
ここ最近は、Unreal Engineをセットアップ〜チュートリアルを行いました。

ある程度UE(UnrealEngine)の使い方を覚えると、まぁ作りたくなります。

だがしかし、筆者は絵が描けません、勉強する気もありません(笑)

絵が描けなくても3Dオブジェクトは作成することができる。
これを実証するため、このブログを書いております。
※本当はUE用の画面コンポーネント作成です(笑)

では早速、Blenderを起動します。
ここで注意、画面を起動するときにコンソールから起動します。
Pythonスクリプトを起動したときにコンソール出力するスクリプトの起動結果が見れないからです。

f:id:Takunoji:20170617205106p:plain

こんなコマンドで起動します。起動したら画面を増やします。
画面の右上f:id:Takunoji:20170617205818p:plainをドラッグして画面を増やします。

f:id:Takunoji:20170617205629p:plain

f:id:Takunoji:20170617205922p:plain

上記のメニューから「Pythonsコンソール」「テキストエディター」を選択します。

f:id:Takunoji:20170617210057p:plain

テキストの新規作成

f:id:Takunoji:20170617210258p:plain


そして、どのプログラムでもやるアレ⭐️
print("Hello Blender")

f:id:Takunoji:20170617210406p:plain

Blender Python事始めでした。
次回は、オブジェクトの作成をやります。