【CEDEC 2022】記事リンク

4Gamer ■[CEDEC 2022]「桃鉄」と「パワサカ」に見る,強化学習AIの活用事例。ゲームデザイン分析とゲームバランス調整の実態を,実例を交えて紹介 ■[CEDEC 2022]「ELDEN RING」の制作チームが,大量のキャラクターモデルに込めたこだわりを紹介したセッ…

【技術研修】記事リンク

■ミクシィの21新卒技術研修の資料と動画を公開します! ■GMOペパボのエンジニア研修2021の資料を公開します ■クォータニオンとは何ぞや?:基礎線形代数講座 ■株式会社リクルート エンジニアコース新人研修の内容を公開します!(2021年度版) ■新卒エンジニ…

【News】2022/04/29 のまとめ

www.itmedia.co.jp japan.cnet.com www.4gamer.net www.4gamer.net www.moguravr.com panora.tokyo japan.cnet.com

【Unity】シンプルなヴァーチャルカメラを用意する

Cinemachine のインストール Window > Package Manager から Cinemachine をインストールする Virtual Camera の設定 Cinemachine > Virtual Camera を追加する ※Virtual Camera を追加すると Main Camera に CinemachineBrain が追加される 追加された Virt…

【Unity】AssetBundle のアセット重複を解消する

Prefab のみを AssetBundle にする Red Blue Complex(Red と Blue を組み合わせたもの) AssetBundleBrowser で依存関係を調べる アセットが重複していることが分かる 重複しているアセットを別の AssetBundle に分ける 重複が解消された 参考 tsubakit1.hate…

【Unity】チートシート

DOTween qiita.com amagamina.jp zenn.dev

【CEDEC 2021】記事リンク

4gamer ■[CEDEC 2021]複数名のシナリオライターがどのように共同作業を進めるべきか。アカツキが考える“至高のシナリオチーム”の作り方 ■[CEDEC 2021]フロム・ソフトウェアの開発支援ツール「情報地図」を紹介する講演をレポート。マップに埋め込まれた…

【Unite Tokyo 2019】記事リンク

4gamer ■[Unite 2019]実は3DCGアニメ作品だった「Hello World」。この作品をゲームエンジンUnityで再現することはできるのか? ■[Unite 2019]「ハイパーカジュアルゲーム」の基本や開発のヒント,そしてヒットさせるための取り組みなどが語られた芸者東…

【Unite Tokyo 2018】記事リンク

4gamer ■[Unite 2018]キャプチャデータはもういらない! プロシージャル・キャラクターアニメーション作成ガイド ■[Unite 2018]小中学生向けのプログラミング教室から大学まで,教育の現場におけるUnityの存在とは ■[Unite 2018]誘導ミサイルはどうや…

【CEDEC 2020】記事リンク

4gamer ■[CEDEC 2020]アナログとデジタル,それぞれの利点とは。「ボードゲームのゲームデザイン手法の類型と デジタルゲームへのフィードバック」レポート ■[CEDEC 2020]AniCast Makerが拓く少人数アニメ制作という選択肢 ■[CEDEC 2020]楽曲の品質を…

【CEDEC 2019】記事リンク

4gamer ■[CEDEC]「クレバーでキャッチーでメロディアス……」な曲の要望にどう応えるのか? プロ作曲家の提案型作曲術とは ■[CEDEC]「エースコンバット7」の音作り。超音速で飛び交う戦闘機でのリアルな音とは? ■[CEDEC 2019]運営経験から生まれた「ロ…

【Unity】【URP】キャラクターにアウトラインを描画する方法

[1] Universal Render Pipeline テンプレートを指定してプロジェクトを作成する。 [2] キャラクターモデルをインポートする。 [3] Create > Shader > Universal Render Pipeline から Unlit Shader Graph を作成する。 [4] マテリアルを作成し、作成したシェ…

【Unity】【UniRx】AsyncReactiveCommand で処理中は複数のボタンを押せなくする

using System; using UnityEngine; using UnityEngine.UI; using UniRx; public class Sample : MonoBehaviour { // ボタン 1 [SerializeField] private Button _button1; // ボタン 2 [SerializeField] private Button _button2; // ボタンの押下許可 priva…

【Unity】【UniRx】ReactiveDictionary で辞書を監視する

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,>…

【Unity】【UniRx】ReactiveCollection で配列を監視する

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>…

【Unity】【UniRx】ReactiveProperty で値を監視する

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>…

【Unity】最近の Unity パッケージまとめ 2021.04

パッケージ 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 …

【Kivy】子ウィジェットの並び

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) …

【Kivy】特定のウィジェットにファイルをドラッグ&ドロップする

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, …

【Kivy】カルーセルでウィジェットをスライドさせる

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: '…

【Kivy】ドラッグ&ドロップで受け取ったファイルのパスを表示する

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(…

【Kivy】ウィンドウサイズを変更する

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…

【Kivy】kv ファイルのプレビュー

パッケージのインストール pip install watchdog kviewer の実行 python -m kivy.tools.kviewer ./main.kv 参考 qiita.com

【Kivy】Clock を利用する

定期的に実行する 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__ == '…

【Kivy】App の簡単な使い方

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()

【Kivy】StackLayout を利用して敷き詰めるように並べる

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…

【Kivy】ScatterLayout を利用してユーザが自由配置できるようにする

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

【Kivy】RelativeLayout を利用し、画面サイズに応じて配置する

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…

【Kivy】PageLayout でページ送りを実装する

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

【Kivy】AnchorLayout を利用し、アンカーポイントを基準に配置する

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