4Gamer ■[CEDEC 2022]「桃鉄」と「パワサカ」に見る,強化学習AIの活用事例。ゲームデザイン分析とゲームバランス調整の実態を,実例を交えて紹介 ■[CEDEC 2022]「ELDEN RING」の制作チームが,大量のキャラクターモデルに込めたこだわりを紹介したセッ…
■ミクシィの21新卒技術研修の資料と動画を公開します! ■GMOペパボのエンジニア研修2021の資料を公開します ■クォータニオンとは何ぞや?:基礎線形代数講座 ■株式会社リクルート エンジニアコース新人研修の内容を公開します!(2021年度版) ■新卒エンジニ…
www.itmedia.co.jp japan.cnet.com www.4gamer.net www.4gamer.net www.moguravr.com panora.tokyo japan.cnet.com
Cinemachine のインストール Window > Package Manager から Cinemachine をインストールする Virtual Camera の設定 Cinemachine > Virtual Camera を追加する ※Virtual Camera を追加すると Main Camera に CinemachineBrain が追加される 追加された Virt…
Prefab のみを AssetBundle にする Red Blue Complex(Red と Blue を組み合わせたもの) AssetBundleBrowser で依存関係を調べる アセットが重複していることが分かる 重複しているアセットを別の AssetBundle に分ける 重複が解消された 参考 tsubakit1.hate…
DOTween qiita.com amagamina.jp zenn.dev
4gamer ■[CEDEC 2021]複数名のシナリオライターがどのように共同作業を進めるべきか。アカツキが考える“至高のシナリオチーム”の作り方 ■[CEDEC 2021]フロム・ソフトウェアの開発支援ツール「情報地図」を紹介する講演をレポート。マップに埋め込まれた…
4gamer ■[Unite 2019]実は3DCGアニメ作品だった「Hello World」。この作品をゲームエンジンUnityで再現することはできるのか? ■[Unite 2019]「ハイパーカジュアルゲーム」の基本や開発のヒント,そしてヒットさせるための取り組みなどが語られた芸者東…
4gamer ■[Unite 2018]キャプチャデータはもういらない! プロシージャル・キャラクターアニメーション作成ガイド ■[Unite 2018]小中学生向けのプログラミング教室から大学まで,教育の現場におけるUnityの存在とは ■[Unite 2018]誘導ミサイルはどうや…
4gamer ■[CEDEC 2020]アナログとデジタル,それぞれの利点とは。「ボードゲームのゲームデザイン手法の類型と デジタルゲームへのフィードバック」レポート ■[CEDEC 2020]AniCast Makerが拓く少人数アニメ制作という選択肢 ■[CEDEC 2020]楽曲の品質を…
4gamer ■[CEDEC]「クレバーでキャッチーでメロディアス……」な曲の要望にどう応えるのか? プロ作曲家の提案型作曲術とは ■[CEDEC]「エースコンバット7」の音作り。超音速で飛び交う戦闘機でのリアルな音とは? ■[CEDEC 2019]運営経験から生まれた「ロ…
[1] Universal Render Pipeline テンプレートを指定してプロジェクトを作成する。 [2] キャラクターモデルをインポートする。 [3] Create > Shader > Universal Render Pipeline から Unlit Shader Graph を作成する。 [4] マテリアルを作成し、作成したシェ…
using System; using UnityEngine; using UnityEngine.UI; using UniRx; public class Sample : MonoBehaviour { // ボタン 1 [SerializeField] private Button _button1; // ボタン 2 [SerializeField] private Button _button2; // ボタンの押下許可 priva…
using UnityEngine; using UniRx; public class Sample : MonoBehaviour { private ReactiveDictionary<int, string> _intDictionary = new ReactiveDictionary<int, string>(); private void Start() { // 辞書を購読する this._intDictionary .ObserveAdd() .Subscribe(value => { De</int,></int,>…
using UnityEngine; using UniRx; public class Sample : MonoBehaviour { private ReactiveCollection<int> _intList = new ReactiveCollection<int>(); private void Start() { // リストを購読する this._intList .ObserveAdd() .Subscribe(value => { Debug.Log($"</int></int>…
using UnityEngine; using UniRx; public class Sample : MonoBehaviour { private ReactiveProperty<int> _intValue = new ReactiveProperty<int>(); private void Start() { // 変数を購読する this._intValue .Subscribe(value => { Debug.Log($"[Subscribe]value={</int></int>…
パッケージ 2019.4 2020.3 2021.1 パッケージ名 2D Animation Verified Verified Release com.unity.2d.animation 2D Common Verified - - com.unity.2d.common 2D Entities Preview - - com.unity.2d.entities 2D IK Preview Preview - com.unity.2d.ik 2D …
main.py from kivy.app import App from kivy.uix.button import Button from kivy.clock import Clock class MainApp(App): def on_start(self): # ウィジェット出力 self.__print_widgets() # 指定時間後実行 Clock.schedule_once(self.on_callback, 5.0) …
main.py from kivy.app import App from kivy.core.window import Window from kivy.uix.label import Label class MainApp(App): def build(self): Window.bind(on_dropfile=self.on_dropped_file) return def get_collide_widgets(self, collide_widgets, …
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 Carousel: direction: 'right' Button: text: 'Button 1' Button: text: 'Button 2' Button: text: 'Button 3' Button: text: '…
main.py from kivy.app import App from kivy.core.window import Window class MainApp(App): def build(self): Window.bind(on_dropfile=self.on_dropped_file) return def on_dropped_file(self, window, file_path): self.root.text = file_path.decode(…
main.py(ウィンドウ生成前) import kivy from kivy.app import App from kivy.config import Config Config.set('graphics', 'width', '1280') Config.set('graphics', 'height', '720') class MainApp(App): pass if __name__ == '__main__': MainApp().r…
パッケージのインストール pip install watchdog kviewer の実行 python -m kivy.tools.kviewer ./main.kv 参考 qiita.com
定期的に実行する main.py from kivy.app import App from kivy.clock import Clock class MainApp(App): def on_start(self): Clock.schedule_interval(self.on_callback, 1.) def on_callback(self, delta: float): print('on_callback') if __name__ == '…
main.py from kivy.app import App class MainApp(App): def on_start(self): self.title = 'Hello world' print('on_start') def on_stop(self): print('on_stop') if __name__ == '__main__': MainApp().run()
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 StackLayout: Button: text: 'button 1' size_hint: None, None size: 400, 80 Button: text: 'button 2' size_hint: None, Non…
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 ScatterLayout: Button: text: 'button 1' size_hint: None, None size: 800, 600 youtu.be
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 RelativeLayout: Button: text: 'button 1' size_hint: None, None size: 400, 1200 pos_hint: {'x': .4, 'y': .1} Button: tex…
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 PageLayout: Button: text: 'page 1' Button: text: 'page 2' Button: text: 'page 3' youtu.be
main.py from kivy.app import App class MainApp(App): pass if __name__ == '__main__': MainApp().run() main.kv #:kivy 1.0 AnchorLayout: anchor_x: 'right' anchor_y: 'top' Button: text: 'button 1' size_hint: None, None size: 400, 100 youtu.be