Giter Site home page Giter Site logo

sfc-sdp / gamecanvas-unity Goto Github PK

View Code? Open in Web Editor NEW
44.0 44.0 18.0 18.16 MB

慶應義塾大学『スマートデバイスプログラミング』教材 GameCanvas for Unity

Home Page: http://web.sfc.keio.ac.jp/~wadari/sdp/

License: MIT License

C# 99.46% ShaderLab 0.54%
unity

gamecanvas-unity's People

Contributors

chiji1108 avatar github-actions[bot] avatar seibe avatar wat-shun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gamecanvas-unity's Issues

画像周辺の機能の要望

カメラからのイメージと、イメージのクリップ機能に関しての要望です。

・カメラのイメージを一時的に保存するなどして、DrawImageなどから任意のタイミングで使えるようにしたい
・主にカメラのイメージに対して、指定ピクセルの色を取得できるようにしたい

・DrawClippedImage、現在の切り取り方法が、画像の上下左右の切り取る長さを指定する方式になっているものを、指定のx,y座標から指定のwidth,height分だけ切り取る方式にしてほしい。もしくはそのような別の関数がほしい

以上です。よろしくおねがいします。

Mesh.vertices is too small.

Mesh.vertices is too small. The supplied vertex array has less vertices than are referenced by the triangles array.
UnityEngine.Mesh:SetVertices(List`1)
GameCanvas.Engine.Graphic:convertToMesh(Mesh&, TextGenerator&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:687)
GameCanvas.Engine.Graphic:drawStringInternal(String&, Int32&, Int32&, TextAnchor) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:709)
GameCanvas.Engine.Graphic:DrawRightString(String&, Int32&, Int32&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:273)
GameCanvas.Proxy:DrawRightString(String, Int32, Int32)
Game:DrawGame() (at Assets/Game.cs:50)
GameCanvas.BehaviourBase:Update() (at Assets/Plugins/GameCanvas/Scripts/BehaviourBase.cs:95)
Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
UnityEngine.Mesh:SetUVs(Int32, List`1)
GameCanvas.Engine.Graphic:convertToMesh(Mesh&, TextGenerator&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:688)
GameCanvas.Engine.Graphic:drawStringInternal(String&, Int32&, Int32&, TextAnchor) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:709)
GameCanvas.Engine.Graphic:DrawRightString(String&, Int32&, Int32&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:273)
GameCanvas.Proxy:DrawRightString(String, Int32, Int32)
Game:DrawGame() (at Assets/Game.cs:50)
GameCanvas.BehaviourBase:Update() (at Assets/Plugins/GameCanvas/Scripts/BehaviourBase.cs:95)
Mesh.colors is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
UnityEngine.Mesh:SetColors(List`1)
GameCanvas.Engine.Graphic:convertToMesh(Mesh&, TextGenerator&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:690)
GameCanvas.Engine.Graphic:drawStringInternal(String&, Int32&, Int32&, TextAnchor) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:709)
GameCanvas.Engine.Graphic:DrawRightString(String&, Int32&, Int32&) (at Assets/Plugins/GameCanvas/Scripts/Engine/Graphic.cs:273)
GameCanvas.Proxy:DrawRightString(String, Int32, Int32)
Game:DrawGame() (at Assets/Game.cs:50)
GameCanvas.BehaviourBase:Update() (at Assets/Plugins/GameCanvas/Scripts/BehaviourBase.cs:95)

モバイル描画解像度1/4オプション

iOS/Android の高解像度環境での実行時にのみ、ネイティブ描画解像度を1/4に下げるオプションを用意する。

本当は有効にしたいところだけども、影響範囲が大きいので v1.2 系ではデフォルト無効にしておく。

iOS で位置情報が取得できない

位置情報取得を許可するように設定しても、アプリを起動すると設定がもとに戻ってしまう
UnityRemote だと取得できる

描画最適化

描画手法を変更し、より大量のオブジェクトを描画できるように改善します。

画面上端に白い余白がある

Game ビューの大きさによる。発生頻度は100%

座標の丸め込みが左手座標系基準になっているので、スクリーン座標系において余白が出ないような丸め込みに修正する

Android実機での描画エラー

apkを書き出して実機で動作確認したところ、drawRect系の奴が動かない(画面が紫色になる)機種があった。

  • Zenfone5
  • Xperia Z3 Compact

gc.FillCircle ();について

Android端末にて上記関数を使うと、画面全体がピンク色になる。
gamecanvasのシェーダーの設定がおかしいと思われる。

旧API 一部復活

v2.0.0β に含まれていない以下のAPIを復活させる

  • 時間
  • センサ入力
    • 地磁気
    • 加速度
    • 角速度
    • 位置情報
    • カメラ映像 (描画, ピクセル取得)
    • タッチジェスチャー (フリック、ピンチインアウト)
  • ネットワーク
    • WebSocket
    • HTTP GET (テキスト, 画像)

非同期API

GPS など毎フレームは更新されないイベント等を扱いやすくするために、非同期APIを追加する

v2.0.0 変更点まとめ

2017.03.19 現在予定している GameCanvas v2.0.0 の構想です。

新機能

GameCanvas ホーム

gchome_welcome

  • GameCanvas プロジェクトの作成や管理が簡単に行える補助アプリです
  • 新しいプロジェクトの作成や、既存プロジェクトの選択ができます
  • プロジェクト設定に応じて、自動でビルドターゲットやシーンが切り替わります

対話的レイアウト編集

  • エディター上で対話的なレイアウト編集ができます
  • 編集したレイアウトはゲームコードで読み込んで表示できます

GameCanvas API 拡充

  • ソフトウェアキーボード API
    • ソフトウェアキーボードの表示を制御可能になります
  • マイク音声入力 API
    • 端末のマイク入力から音声情報を取得可能になります
    • 生の波形に加えて、音量、FFT波形(256段階)が提供されます
  • 非同期イベント API
    • タッチ、GPSなどのイベントを非同期的に処理可能になります

アップデート通知

  • GameCanvasライブラリに更新があった際に、変更が通知されます

変更点

省電力化

  • Android/iOS実機でのUnityエンジン処理解像度が1/4に縮小されます
  • これにより消費電力量が削減され、従来よりバッテリーが長持ちします
  • この設定はオプションから変更可能です

GameCanvas の堅牢性強化 #39

  • GameCanvas エディタ拡張スクリプトがDLLとして配布されます
  • ビルドエラーが発生した場合でも GameCanvas が機能し続けるようになります

DrawClippedImage が正常に動いていない

本日中に直す

各引数(top ~ left)に色々値を入れて試してみた結果、切り取られ方は以下のようになりました。

(1) top : left & bottom (top)
(2) right : left (right)
(3) bottom : left (top)
(4) left : left > right (left < right)

それぞれ、切り取られる方向がずれているようです
括弧内は、ある程度値が大きくなった場合(画像サイズの半分程度?)に、追加で切り取られる方向です
(4)については、leftとrightの両方から切り取られ、値の大きさによって切り取られる比率が変わるという意味です

エラーがたくさん出る

unitypackage でインポート後にエラーがたくさん出る
5.6.1f1

FormatException: Input string was not in the correct format
System.Int32.Parse (System.String s) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Int32.cs:629)
GameCanvas.Editor.AssetProcessor.RebuildAssetDatabase () (at C:/Users/Seibe/Documents/GitHub/GameCanvas-UnityEditor/src/GameCanvas.Editor/AssetProcessor.cs:36)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorApplicationBindings.gen.cs:249)

DLLでの配布をやめる

ユーザー側で改変しやすいように、GameCanvas 名前空間のオブジェクトを dll ではなく cs ファイル直置きに変える

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.