困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

Lua

Luaの話~dofileとloadとloadfileの使い分けを考えてみた~

Lua

結論から言うと、どれも大差ないと思う。というより、筆者にも判断が付かなかった。 以下、検証内容。

Luaの話~metatableの振舞を見てみた~

Lua

Luaと言えば、metatableみたいなところがあるらしいんですが、「もふねこしゅーてぃんぐ」実装時は一回も使わなかった。 ただ、やっぱりこれからもLuaを使っていこうと思っている身からすると、さすがに勉強しとかないとまずいよなという事で、簡単にテスト…

Luaの話~Android実機でのDoFileやりかた~

通常、開発中はローカルに置いてあるLuaスクリプトをそのまま実行したいので、StreamingAssetsに置いてあるLuaScriptを読んで実行できるようにしている。で、この辺のパスやファイルのロード時に、各環境で微妙に差異が出るので、メモしておく。

IOSの話〜Releaseビルドでだけ実行時エラーがでるようになった〜

もふねこしゅーてぃんぐのIOS版アップデート対応をしていて、Debug版では問題なく動いたので、Release版をビルドして実機テストしたところ、実行時エラーが出るようになってしまった。 落ちている場所は、Luaのネイティブプラグイン内部っぽいところだった。…

Luaの話~で、商用に使えるのどうなのよ?~

筆者は、まだLua歴半年なのであまり偉そうな事は言えないが、思った事をメモしておく。 まず、Luaを使う場合も2パターン存在すると思う。・UnityC#側があくまでメインで、Luaを一部の計算式等だけに使う方法・ゲームロジック全てをLua側に逃がす方法上記2種…

Luaの話~LuaStateを作ると、どの程度メモリを消費するのか1~

▼検証コードメモ void Start () { Application.targetFrameRate = 60; StartDebugLog += "↓↓↓↓↓start↓↓↓↓↓\n\n"; uint monoSize = Profiler.GetMonoHeapSize(); uint monoUsed = Profiler.GetMonoUsedSize(); uint tempSize = Profiler.GetTempAllocatorSize…

記事の紹介~Luaを開発に使っている事例~

知人が教えてくれた、チュートリアルの実装にLuaを用いているというお話が記載されている記事。 tech.drecom.co.jp ロジックまで完全にLua側では実装していなくて、少し使ってる程度だから、パフォーマンスの検証などは恐らくやってない、との事だったけど、…

Unityの話~Lua形式のファイルをアセットバンドル化しようとして、速攻躓いた件~

Unrecognized assets cannot be included in AssetBundles: "Assets/StreamingAssets/EnemyManager.lua". このように出て、アセットバンドルに入れられない。.lua拡張子は対応していないようだ。 〇StreamingAssets内に入っていると、拡張子がtxtでもダメ 〇…

Luaの話~処理をLuaに移して感じた事~

〇便利だと感じる事 ・スクリプトの修正をしても、コンパイルが走らない⇒Unity側も、マルチスレッドコンパイル?とか、待ち時間軽減しようと頑張っているけど、Luaなら待ち時間0。マジで0。修正して即プレイボタン押せる。っていうか、Lua側の設計や使い方次…

Luaの話~データ設定でCSVを使う事が無くなるかも?~

ゲーム開発をした事がある人なら、誰しも一度はデータ設定の事について悩んだことがあると思う。恐らく、大抵は「表計算ソフト」で入力されたものを、「プログラム上で扱える形式」に変換し、「変換された物を読み込んでパースし管理する」処理を記述する、…

Luaの話〜IOS実機で動かす際に、ネイティブプラグイン化する時の注意点〜

ぶっちゃけ、なんでこれで上手くいくかわからんけど、LUAのネイティブプラグインを作る時に、そのXCodeプロジェクトでいくつか設定が必要。 ◯BuildSettings ・Architectures →arm64 とだけにする ・Build Active Architexture Only →No ◯Build Options ・Ena…

Luaの話~ブロック内のスコープ関係の話~

やらかしたミスfor i = 1, #skillTable do local table = skillTable[i] local val = #table LuaUnityDebugLog(#this.SkillMaxLevelList) table.insert(this.SkillMaxLevelList, val)endこれをやると、table.insertの部分で「insertがnilっす」というエラー…

Luaの話~LuaからUnity側へ、全角文字列を送る方法~

Lua側で設定をして、その設定をそのままUnity側に送るという事を想定している。 例えば、キャラクターの説明文などをLuaスクリプト上に記載しておき、それをUnity側に送ってTextに貼りつければそのまま表示される、といった具合だ。 で、そういえば全角文字…

Luaの話~オブジェクトと参照渡し~

以下のようなコードで詰まった。 -- クラス定義-- 2点を表すオブジェクトVector2 = {}-- コンストラクタfunction Vector2.new(x, y) local this = { x = x, y = y } -- メソッド定義 --this.Function = function() --end return thisend TablePos = Vector2.…

Luaの話~Luaのos.clock~

PC実機だと、ほぼリアルタイムの経過時間を返してくれるが、 Android実機でやった場合は、リアル時間1秒につき0.6秒くらいしか経過しなかった。 おそらく、 http://www.mm2d.net/main/prog/c/time-02.html これはC言語だが、clock(CPU処理時間)ってのは、…

Luaの話~Luaの配列~

Luaの配列は1から!繰り返す!Luaの配列は1から! function Test() array = {1,2,3} --array[0]--nullになるで array[1]--1 end

Unityの話~Lua連携を頑張る話2~

UnityとLuaの相互呼び出しを検証してるうちに、コルーチンをテストする前段階で1. Luaから呼び出したUnityメソッドの戻り値は、Lua側でどのように判断されるのか2. Unityから呼び出したLuaのメソッド内で、無限ループを発生させたら処理は戻ってくるのかを検…

Unityの話~Lua連携を頑張る話1~

以前、アプリ更新をしないでゲームの内容を更新する事は出来ないか?と考えた時期があり、それを可能にする可能性を、Luaに見出して検証/実験をしていた時期があった。その当時は・処理速度、メモリ使用量、アップル申請のグレーゾーン等の懸念は度外視する…