「Unity/tinyモード」の版間の差分
(→インストール後、なぜかエラー) |
(→tinyプロジェクト作成) |
||
(同じ利用者による、間の12版が非表示) | |||
行5: | 行5: | ||
#unityメニュー/window/PackageManager | #unityメニュー/window/PackageManager | ||
− | # | + | #上のadvancedタブを選択し、"show preview packages"選択 |
− | #TinyModeがあるのでinstallする | + | #TinyModeがあるのでinstallする(2019.2.2のときはProject Tinyだった) |
− | 2019/7/ | + | *2019.1.6f1(2019/7/23)時点だとversionは0.14.5でした。 |
+ | *2019.2.2f1(2019/10/02)時点だとversionは0.16.1でした。 | ||
unityのメインメニューにtinyが現れることを確認 | unityのメインメニューにtinyが現れることを確認 | ||
行34: | 行35: | ||
tinyCI.width = ci.width; | tinyCI.width = ci.width; | ||
tinyCI.height = ci.height; | tinyCI.height = ci.height; | ||
− | |||
var min = new Vector2(ci.x / font.atlas.width, (font.atlas.height - ci.y - ci.height) / font.atlas.height); | var min = new Vector2(ci.x / font.atlas.width, (font.atlas.height - ci.y - ci.height) / font.atlas.height); | ||
行41: | 行41: | ||
data.Add(tinyCI.Tiny); | data.Add(tinyCI.Tiny); | ||
} | } | ||
− | |||
// 変更後 | // 変更後 | ||
行56: | 行55: | ||
tinyCI.width = ci.metrics.width; | tinyCI.width = ci.metrics.width; | ||
tinyCI.height = ci.metrics.height; | tinyCI.height = ci.metrics.height; | ||
− | |||
var min = new Vector2(ci.glyphRect.x / font.atlas.width, (font.atlas.height - ci.glyphRect.y - ci.glyphRect.height) / font.atlas.height); | var min = new Vector2(ci.glyphRect.x / font.atlas.width, (font.atlas.height - ci.glyphRect.y - ci.glyphRect.height) / font.atlas.height); | ||
行66: | 行64: | ||
==tinyサンプルインポート== | ==tinyサンプルインポート== | ||
− | unityメニュー/tiny/import samples/ | + | version0.14.5では |
+ | unityメニュー/tiny/import samples/ | ||
+ | version0.16.1では | ||
+ | unityメニュー/window/~/Project Tiny/サンプルをimport | ||
==tinyプレイ== | ==tinyプレイ== | ||
+ | ===version0.14.5では=== | ||
+ | |||
FlyingYolkであれば、 | FlyingYolkであれば、 | ||
− | FlyingYolk/FlyingYolk. | + | #FlyingYolk/FlyingYolk.utprojectを選択しするとプレイボタンが有効になる |
+ | #プレイボタンを押す | ||
+ | |||
+ | ===version0.16.1では=== | ||
+ | |||
+ | HelloWorldであれば | ||
+ | #Samples/Project Tiny/0.16.1-preview/HelloWorld/HelloWorld.project(Uのアイコン)をクリック | ||
+ | #プレイボタンを押す | ||
==tinyをbuild== | ==tinyをbuild== | ||
行94: | 行104: | ||
https://forum.unity.com/threads/project-tiny-c-preview-0-15-3-available.688969/ | https://forum.unity.com/threads/project-tiny-c-preview-0-15-3-available.688969/ | ||
+ | |||
+ | ==tinyプロジェクト作成== | ||
+ | http://win8kat.org/archives/1596 | ||
+ | |||
+ | https://qiita.com/chocolate-ice-cream/items/4296cd76e38c69d61580 | ||
+ | |||
+ | ==tinyのエディタ== | ||
+ | GameObjct,MonoBehaviourではなく、DOTS環境で、エディタも"DOTSモード"といエディタになる | ||
+ | |||
+ | https://qiita.com/chocolate-ice-cream/items/4296cd76e38c69d61580 |
2019年10月4日 (金) 12:15時点における最新版
目次
tinyモードインストール
Unity 2018.3.0.b12以上らしい。
2019.1.6f1にはあった。
- unityメニュー/window/PackageManager
- 上のadvancedタブを選択し、"show preview packages"選択
- TinyModeがあるのでinstallする(2019.2.2のときはProject Tinyだった)
- 2019.1.6f1(2019/7/23)時点だとversionは0.14.5でした。
- 2019.2.2f1(2019/10/02)時点だとversionは0.16.1でした。
unityのメインメニューにtinyが現れることを確認
インストール後、なぜかエラー
Library/PackageCache/com.unity.tiny@0.14.5-preview/Editor/Export/TinyAssetExporter.cs(712,38): error CS1061: 'TMP_FontAsset' does not contain a definition for 'characterDictionary' and no accessible extension method 'characterDictionary' accepting a first argument of type 'TMP_FontAsset' could be found (are you missing a using directive or an assembly reference?)
参考:https://forum.unity.com/threads/i-have-a-problem-with-tiny-unity.665527/
の一番下にあるようにライブラリのTinyAssetExporter.csを書き換えるとうまくいった。
Line 713. // 変更前 foreach (var kvp in font.characterDictionary) { var ci = kvp.Value; var tinyCI = new Runtime.Text.TinyCharacterInfo(entity.Registry); tinyCI.value = (uint)ci.id; tinyCI.advance = ci.xAdvance; tinyCI.bearingX = ci.xOffset; tinyCI.bearingY = ci.yOffset; tinyCI.width = ci.width; tinyCI.height = ci.height; var min = new Vector2(ci.x / font.atlas.width, (font.atlas.height - ci.y - ci.height) / font.atlas.height); var off = new Vector2(ci.width / font.atlas.width, ci.height / font.atlas.height); tinyCI.characterRegion = new Rect(min.x, min.y, off.x, off.y); data.Add(tinyCI.Tiny); } // 変更後 foreach (var kvp in font.glyphLookupTable) { var ci = kvp.Value; var tinyCI = new Runtime.Text.TinyCharacterInfo(entity.Registry); tinyCI.value = (uint)ci.index; tinyCI.advance = ci.metrics.horizontalAdvance; tinyCI.bearingX = ci.metrics.horizontalBearingX; tinyCI.bearingY = ci.metrics.horizontalBearingY; tinyCI.width = ci.metrics.width; tinyCI.height = ci.metrics.height; var min = new Vector2(ci.glyphRect.x / font.atlas.width, (font.atlas.height - ci.glyphRect.y - ci.glyphRect.height) / font.atlas.height); var off = new Vector2(ci.glyphRect.width / font.atlas.width, ci.glyphRect.height / font.atlas.height); tinyCI.characterRegion = new Rect(min.x, min.y, off.x, off.y); data.Add(tinyCI.Tiny); }
tinyサンプルインポート
version0.14.5では
unityメニュー/tiny/import samples/
version0.16.1では
unityメニュー/window/~/Project Tiny/サンプルをimport
tinyプレイ
version0.14.5では
FlyingYolkであれば、
- FlyingYolk/FlyingYolk.utprojectを選択しするとプレイボタンが有効になる
- プレイボタンを押す
version0.16.1では
HelloWorldであれば
- Samples/Project Tiny/0.16.1-preview/HelloWorld/HelloWorld.project(Uのアイコン)をクリック
- プレイボタンを押す
tinyをbuild
File/Tiny/Build
Tiny/File/Build
でも同じ
TinyExport/FlyingYolk/html5/development/build/index.html にできている
公開するにはTinyExportを上げれば良い。その後index.html内の部分だけパスを修正すれば良い。
<script src="/~project/TinyExport/FlyingYolk/html5/development/artifacts/scripts/tsc-emit.js"></script>
↓
<script src="../artifacts/scripts/tsc-emit.js"></script>
c#対応
今までTypeScriptでしたが、0.15.3でC#に対応したようです。
https://wakky.tech/tiny-unity-samples/
https://forum.unity.com/threads/project-tiny-c-preview-0-15-3-available.688969/
tinyプロジェクト作成
http://win8kat.org/archives/1596
https://qiita.com/chocolate-ice-cream/items/4296cd76e38c69d61580
tinyのエディタ
GameObjct,MonoBehaviourではなく、DOTS環境で、エディタも"DOTSモード"といエディタになる
https://qiita.com/chocolate-ice-cream/items/4296cd76e38c69d61580