unityでゲーム作りたい(Help!)
>>177
少し改造した
今なぜかSystemってのがCPU負荷あって
ときどき動きが固まる
何やってるのかわからないの
おかげで
床がカクカク動くから玉が高い位置まで跳ね上がり
挙動が狂うので迷惑だな
パズルゲームだったら致命的バグだろ 作りかけのがあるけど
>>177
こういうすぐ完成するし楽しい調査・勉強・実験をしたいという誘惑 >>184
上達するための一番基本部分ですよね
何ができてどう動くのか知ることって
やっぱり自分の使うツールの動作は知らないと何もできないしね 動く床って難しいみたいだな
ググってたら
床に乗ったら
床の子オブジェクトにするとか
床と同じベロシティーで一緒に動かすとか書いてあった
そうしないと俺が作った実験みたいに
めり込んだり跳び跳ねたりすっ飛んだりする経験を先人の人たちはしてきたのだろうか?そのあたりはしらない YouTubeのハウツーは日本語少ないな
あってもエディタ画面が細かくて何のフラグをクリックしたのか読めないけど ボタン.interactable = false;
一瞬普通のボタンで表示されてるな 角度を変えたいけど
ググってみると回転だったり
既に15度のものを30度にしたい
回転だと今の状態からさらに30度回転
なかなか俺のしたいことのぴったりなものが検索できない >>189
回転はいろいろ変わるから、ベースとして変数で持っておくと良いみたい。経験則。
その角度に足したりひいたりして、その値で反映させる。決して現在回転値をフィードバックさせない。 ときどきオブジェクトが表示されなくて悩んでしまう
2Dはz座標関係内的な話を見かけるが
カメラのz座標がデフォルトで-10になってて
オブジェクトのposition.zが-10とか-20だと表示されない
オブジェクトのposition.zの初期値が0だったり-10だったりランダムなのか? わにカーはこれで開発終わりにする
Shopでマッドマックスみたいな車の画像を表示しないと
オプション装備したのかしてないのかがわからない
俺にはそんな絵は無理なので開発を終わりとする いろいろやりたいことがあるけど
今はジョイントの勉強
特にジョイントを今すぐしなければならない理由はないけど Distance Joint 2DのBreak Forceって扱うの難しいな
ジョイントに強い力がかかると壊れるという意味らしいけど
フラグがoffになるとかジョイントが切断されるとかでなくて
ジョイントコンポーネントが削除されてしまう
毎回GetComponent<DistanceJoint2D>()で
コンポーネントが生きているか確認してから
ジョイントを扱わないといけないのか? なにかサンプルゲームでも見てみたいと思ったが
どうやったらサンプルゲームを入手しプロジェクトを開けるのかわからん 一つ何とか読めた
どうもなれないなあ
SampleSceneが残る
バージョン?
なんかunity再起動とか時間かかったな
だが今の俺のレベルに合う手ごろなサンプルが見つかってない 今開いてるプロジェクトに追加みたいになるのね
プロジェクト名や保存先を後から変えたい
眠い localScale
lossyScale がgetしかできない
どうやったらいいのか調査中 A点からB点まで線を引きたい
スプライトをA点とB点の中心においてATAN2で角度を求めスケールで長方形にしてみた
でもスプライトとA点とB点がグローバル(親不在)ではなかったときを考えたら
lossyScaleを変更したくなったが方法がわからん
親が回転していることなないものとする
しばらく考えているんだけどもう面倒だから
プラグラムでスプライトの親をnullに変えてしまうとか >>200
なんとかなりそうだ
親オブジェクトのスケールがx/y=1ではないとき角度がずれた
空の親オブジェクトにしてx/y=1に限定しよう 質問なのか愚痴なのかわからんのでなんとも
簡単な角度取得方法なら次のとこに
製作途中で得たUnityのミニ知識を披露するスレ
http://mevius.5ch.net/test/read.cgi/gamedev/1511784235/56 回答ありがとう
ジョイントの勉強してたらこんな時間になってしまった >>198
これフォルダ名を外部から変えると色々やっかいなので一番いい方法は、一度パッケージにします
んで新しいプロジェクトで読み込みすれば簡単に新しくなる Joint2Dの勉強中なんだが脱線してしまう
UIの種類が少ないね
今の俺のレベルではUI自作はすべきではないと思うが
UI自作したい衝動 たくさんのオブジェクトのスプライトを
インスペクタで手作業で設定すんのは面倒だなってことで
Resources.Loadってのを見つけたんだけど
Resourcesフォルダーにあるものしか読めないのかよ こつこつシーンにたくさんのオブジェクトを配置し
こつこつ各オブジェクトをいじってきたが
類似したものはプレハブにしたほうが
プレハブの変更すればシーンに配置したものが一括で変更が反映されるから
楽に済ませることができるのかな
だが、すでにシーンに配置しているから
これらを設定しなおすことになってしまう デフォルトのフォントではwebGLにすると日本語が表示されないのでフォントを指定した
unityをしばらく使用していると色を指定しているのに黒になるなど動作がおかしくなった
そういうものなのか?
シーンをセーブするとその時だけ治る
シーンをいったん別のに変えてロードしなおすと治る シーンのリロードはシーン名の右側の三点をクリックすると色々メニュー出てきてできたきがする 衝突のイベントはコリジョンが引数に入ってるけど
UIのイベントって引数ないのね
UIたくさん作ったから面倒になってきた ボタンとかオンクリックにパブリックな関数設定して、それに引数あればインスペクタで指定できるんじゃないかな
どんなUI なのか、わからんから的確かわからんけど 何日もかかってジョイントのプログラムを書いているが
まだDistance Joint 2Dの作成しかできてない
http://kmajo.starfree.jp/joints/
UIに凝っていて時間かかった。
イベントってインスペクタで引数に即値渡せるのとそうでないのがあるなどを知った。 >>212
スマホだとJavaScriptエラーが出た >>213
chMateからリンククリックしたかららしい
無事動作した
スマホからだと警告みたいの出るけど プロパティってインスペクタで設定できないのか
ググって見つけた方法は
public bool isOn // インスペクタでは Is Onと表示される
bool IsOn { get { return isOn; } set 以下省略
ちょっと違うんだよなあ
bool IsOn { get { return a & b | c; } set 以下省略
みたいに処理入れたいし
エディタで動く[ExecuteInEditMode]にも興味ある
クラスではなくプロパティに[ExecuteInEditMode]というのできるのかなあ
今の俺にエディタ拡張なんて無理だから適当にごまかす方法を考えてみる FixedJoint2D勉強おわった
マニュアルのFrequencyの説明が意味わからんなあ
試したところ接続元(自分)がぷらんぷらんする
すぐ時間たってしまう
途中昼寝してたけど
次はFriction Joint 2D
これも使い道わからん 勉強不足だった
Distance Joint 2Dからやり直してる >>206
因みにリソースズフォルダって複数作れるって
自分は最初知らんかった 画像がゆがんでて不満だったんだが
赤が茶色だったり細い線が切れてたりしているところを見るとJPEGに変換されているのか 自分、公式見ても内部でJPG にされてるという記載見あたらないんですがどこにあるのでしょうか
というかJPG とかって圧縮の技術だと思っててそれは保存するときの事だと思ってるのだけど
汚なくなるのはインポート設定で伸縮してるとか画像が2のべき乗になってないとか色々考えられるけど
画像見てみないことにはなんとも 以前あった質問でドット絵が汚なくなって表示されたときに色が変わるってのあったけど、画像サイズと表示サイズが違っていて、その時はpixel per unit が適切じゃなかったから というのはありましたね そういうことか
俺のJPEGってのは間違えで
拡大縮小や画像のサイズが悪いのか 別の話に変わる
unityの現象の話ではない
俺の視力の問題なのか
モニターの特性なのかわからないが
http://kmajo.starfree.jp/images/ss2020-04-13-00012.png
小さい!の赤い輪の右下がすごい細く見える
http://kmajo.starfree.jp/images/ss2020-04-13-00013.png
拡大してみると特に右下の赤が細いということではないので
俺の視力の問題かモニターの特性なのだろう
誰が悪いという問題ではないが見た目が悪いので気になる >>223
これは何となく原因解るから後でサンプル作ってみます
>>224
これは色彩効果で赤は黒に吸収されるから
赤丸を白のアウトラインで囲むと分かりやすくなるというか赤が強調されるかなと思いますがどうでしょう ハードウェアは得意じゃないので、古い知識で申し訳ないけど、
例えば、液晶モニターなら、白色光源の手前に赤青緑のカラーフィルターが貼られていて、
液晶で赤を隠せば水色に見えるし、青を隠せば黄色に見える、っていう構造になってる。
カラーフィルターの並びが、例えば「RBG」って並びだとして、
!の左側を拡大すると、
赤_赤_白
R__R__RBG
ってなって、独立したRが2つ(つまり赤2ドット)が見えることになる。
一方、!の右側を拡大すると、
白_赤_赤
RBGR__R__
って感じで、独立したRが1つ(つまり赤1ドット)しか見えない、ってことじゃないかと。
カラーフィルターの並びは、ストライプとかモザイクとかあるらしいので、もしストライプなら
水色の縦線と赤の縦線を並べれば、白に見えるのかも 参考まで
(←から、赤1dotと青1dot、青1dotと赤1dot、紫1dotのみ。デジカメで撮影)
https://i.imgur.com/6LCmzLh.jpg >>223
ちょいこちらで画像作成してやったんですが
https://i.gyazo.com/bb889b2dc0d4bd70ce792d59bead3eff.png
画像は32*32で作成
それを100/ppuと32/ppuで取り込みした
https://i.gyazo.com/61fed7ded8998a5b71fafe2ba91a2e97.png
上2枚が、それぞれ100/ppu と32/ppuでスケール3倍
下2枚はGUIのImageとRowImage
223にあった設定値にしてみたけど、こちらではそのまま表示されましたわ><
うーん、画像の作り?
とりあえずこちらの作成したのをパッケージにしましたので、もしよければそちらで確認してみてください
https://thuploader.orz.hm/miniup/?mode=dl&id=7232&original=1 ちょっと気になるのは、表示スケールが5倍になってるけど、
1倍でも同じだよね? 1倍だと小さくてよく見えないが
赤が汚いので同じだな aaa.bbb.c = 5
などにおいて
bbb { get set }だったときエラーになるのめんどくせえな
イラっと来た 今Hinge Joint 2Dの勉強したところだが
いままでいくつか勘違いしていたのかもしれない
いままでやってきた
Distance Joint 2D
Fixed Joint 2D
Friction Joint 2D
を作り直したくなった
混乱してきた >>212
更新した
いろいろ手直ししては
今まで作ってきた別シーンのキャンバスやプログラムを書き直すの繰り返しで
なかなか進まない Target Joint 2Dって他のジョイントとは違い座標に接続するのね >>212
これの続きを作成中
WheelJoint2Dって車の方に2つ付けて先端にタイヤをつなぐのか
このプログラムは1つのオブジェクトにジョイント2つ付けるなんて想定していなかった http://kmajo.starfree.jp/images/ss2020-04-16-00019-a.png
ということで青オブジェクトに2つのWheelJoint2Dジョイントを付ける
青オブジェクトに2つのWheelJ2Dスクリプトを付けた
一つ目のWheelJ2Dスクリプトは一つ目のWheelJoint2Dジョイントを担当
二つ目のWheelJ2Dスクリプトは二つ目のWheelJoint2Dジョイントを担当
に対応するようにしなければならない
インスペクタで指定してみた
そうやらうまくいってるみたいだ
見た目は同じB (2) (Wheel Joint 2D)で区別つかないけど http://kmajo.starfree.jp/images/ss2020-04-16-00020.png
青玉に2つのジョイントとタイヤ(緑と赤)をつないだ
青玉に2つのWheelJ2Dスクリプトがそれぞれの別のジョイントを担当しているから
WheelJ2Dスクリプトが個々のジョイントに印を付けることに成功 LineTo(x0, y0, x1, y1)
みたいなのほしかったなあ
スプライトを長方形にして済ませたけど
扇形とか平行四辺形とか使いたくなったときはどうすればいいんだろう
特に必要性はないけど
おやすみ スプライトというのは、絵 なので
平行線四辺形や菱形の絵を用意すればいいのだよ
unity が用意しているスプライトはあくまで仮なので本来はテスト段階で使って本番では差し替える用というのが公式の説明にチラッと書いてる
ラインはラインレンダラーで一応やれなくはない、ちょっと癖あるけどね >>212
これで完成かな
プラットフォームとか
シューティングとか
いろいろ挑戦すべきことあるけど
アセットからダウンロードしたゲームよくできてるけど俺にはハードル高いなあ たとえば麻雀の牌はどう作るんだろう
今すぐ麻雀を作るわけではない
60種類のプレハブを作るの?
それはないと思うのでset(発)で発の絵柄になるようにするのにはどうするのか?
俺は2Dでやってるから、立てたときと寝かしたときと伏せたときそれぞれの4方向も作らないと行けないな
いっそ3Dにすべきなのか
2Dで自分で2.5Dに見せる演出するより
角が丸みのある直方体とかわからんから
2Dでペラペラ牌が俺の限界かな
牌の向きを変えるときはオブジェクトを削除して横向きの牌の絵でインスタンスするとか
斜めとか使わない角度には対応しない
すでにわかっていることは
俺の視力低下で小さい絵とプログラムやツールの文字が読みにくくなった
牌を並べるとなると大きさに悩むな アニメーションとかでは
一枚の絵に多数のキャラを納めてる
あれをお絵描きソフトで作るの面倒だね 特に面白いネタを思い付かないなあ
今の俺のレベルで理解できるちょうどいいもの
実験・勉強もいいけど
オリジナルゲームがつくりたい
アイデアはない 絵は一つだけで
目の色変えたりしてキャラを作れるっていうのに興味ある
目の部分だけ別の絵にして差し替えるのも敵キャラならありだけど
市販ゲームなどにあるようなアバターツクールみたいなの
ベクター図形にも興味ある
輪郭線のない絵柄ならいいけど
縦方向に伸ばすと輪郭線の横線が太くなる
色はマテリアルの何とかに色相変換プログラム書いてパラメタ渡すとかあったな
実際に自分でやってみないと理解できないからいつか挑戦してみたい
ベクター図形が使えるって検索したら出てきた
これも実際に自分でやってみないと理解できないからいつか挑戦してみたい
プログラムから線と塗り潰しの色を変えられないのかなあ、アバターツクール的に 僕もゲーム作りたいでふ(^^
せっかく世間が引きこもれって言ってるんだから作らにゃソンソン 複数の画像で一つのものを作った時
プレハブにしていなかった場合は
エディタで位置を変えようとドラッグすると
たとえば腕だけ移動してしまう
プレハブにしてると
腕や足をドラックしても選択されてるのは親ゲームオブジェクトになってる
でもまだ今はお絵かき段階なので
どうやって実装したらいいのか検討中 トランプみたいなのはどうやってるんだろう
54種類のプレハブを作るのか
プレハブを変更したいとき54種類の修正が発生するのか
俺なりに考えたのは1種類のプレハブで
これなんだけど
https://qiita.com/motsat/items/927a4d2682765555b80d
public Sprite[] HoldSprite;って配列に改造して
インスペクタで配列に絵柄全部登録しておいて
SetImage(スペードの3の番号)
{
MainSpriteRenderer.sprite = HoldSprite[その番号];
}
みたいにするのかなあ 試しにド〇ジャラ風麻雀牌をならべてみたら
画面が狭かった
牌を小さくしないと駄目か
でも小さいと何の絵かわかりにくい
捨て牌で画面が埋まりわかりにくくなる
麻雀ゲームは作れないので作らない 値型を参照型に変えるのってできないのかなあ
値型変数a,b,c
一時的にg[0]がaになり、g[1]がb…
g[2]=6はc=6と同じ意味
g[0]=a
なにか処理する
リターン前に忘れずに
a=g[0]
とするのが無難なのかなあ unity 2D
管理用のEmptyのGameObjectスクリプト[ExecuteInEditMode]で
シーン編集中に上(Yが大きい値)にあるキャラクタが
下にいるキャラクタの背後になるように
それぞれのキャラクタを変えた
この操作はキャラクタのオーダーinレイヤーを変更することになる
でもセーブ対象になっていなくてシーン開くとメンバ変数が古い値のまま
うわああ
どうしようか
インスペクタに出るようにpublicメンバ変数にしてたけどやめて
キャラクタのスクリプト[ExecuteInEditMode]で
常時Y座標で更新するようにすべきなのかなあ
それともやり方が悪いのかなあ >>256
いろいろ変更したから一時的であって再起動で直っていて欲しい
キャラクタは複数のスプライトなどで構成されるemptyなので直接オーダーは操作してない 今は移動中でunityいじれない
検索してたらエディタ拡張の話で見つけたEditorUtility.SetDirtyで解決できるのかなあ
スクリプト[ExecuteInEditMode]の場合でも通用するのかわからない
◆キャラクタの1/2単位の座標でしか配置できない
◆キャラクタの一部が他のキャラクタと重なる表示になるとき重なり順が正しくなるようにしたいけどキャラクタが複数のgoで構成されてるからメンバ変数をいじる
◆同じ座標にキャラクタの配置を検出
などしてるのだがエディタ拡張ってのでやった方がいいのだろうか
エディタ拡張ってのがどんなものなのかまだわからない unityにアタッチしてデバッグ実行できなくなった
ファイルアクセスでメモリioが競合してスレッドセーフではないとか言ってくる
[ExecuteInEditMode]があるから? structもclassみたいにnewしないと使えないのか?
Vector3Int a
a.x = 0;
こういうことすると警告が出る。 #if UNITY_EDITOR
これって
[ExecuteInEditMode]を付けたスクリプトでシーンビュー編集中に有効で
エディターにある再生ボタンのやつで実行したときも有効なのか
勘違いしてた カード(トランプ)とかググったら
絵柄を示すスプライトの配列をインスペクタで設定してた
リソースをロードするより良さそう
プレハブにしてインスタンスしたあと、どの絵を使うか指定する方式
カードはたくさんあるわけでスプライトの配列をインスタンス変数にする必要があるのか
staticメンバ変数でいいか?
シングルトンに持たせるか?
だがインスペクタで見たり変更できる魅力は捨てられないし
リソースをロードするくらいしか別の方法を知らん
雑談でした シーンにあるスクリプトをプレハブに設定できない
まあ当たり前だよな
シーン1を開いてるときは
prefab..a = シーン1のスクリプト;
シーン2を開いてるときは
prefab..a = シーン2のスクリプト;
ってしないといけないわけで
staticメンバ変数 = this;
ってやって
つまりグローバル変数みたいな使い方で解決とする
シングルトンにはしないけど
シングルトンの作り方に似てるな シーンにあるスクリプトというのが、よくわからない
日記なのか質問なのかもわからないからどういえばいいか
とりあえず、Prefabに別のスクリプト付けたいならAddComponentで行けるよ ちなみに、シーンにあるのは、すべてGameObjectであって
スクリプトはそれらにアタッチしているコンポーネントね なんて俺はのんびりやすみやすみで作業が進まないんだ
なんか急におなかが痛くなってきたので休憩 のんびり休み休み
えっそんなの当たり前でしょ
Unityの機能の多さ考えたら一人で理解するには1年じゃたりない
2Dも3Dも技術はやる事沢山ある
そんな簡単に出来ると思ったのかなぁ?
自分はこれだけの機能なので1からじっくりと3年くらいかけて2D学ぼうとしてます
まだまだ分からない事沢山あるよ
でも検証しながら実際に分かった事を上げてる
そうじゃないとプログラムは意味ない 配列の検索ってなんでメンバではないんだろう
using System;
Array.IndexOf(array, data);
そしたら
RandomがUnityEngine.RandomなのかSystem.Randomか曖昧って言われた
ああああプログラミングってめんどくさい
なにかいい方法があるかもしれないと期待してぐぐってみるか using random=unity engine .random;
これ自動補完ででてくるやろ? クリックの当たり判定面倒だなあ
RaycastHit2Dが返される
キャラクタは複数のスプライトで構成されているから
RaycastHit2Dから欲しいスクリプトをたどらないといけないのか >>265
インスペクタが便利でほかのこと忘れてた
Start()でtransform.Find("Foo").GetComponent<Bar>()
でもいいんだよな
だがやはりインスペクタは便利だな キャラクタの大きさ 0.5 単位になるように
キャラクタの座標を修正するなどなど
[ExecuteInEditMode]でいろいろ修正するスクリプトにしたんだけど
ビルドすると
Undo.RecordObject
EditorUtility.SetDirty
がエラーになるんだね
※報告 ビルドでエラーがでた
自分の書いたスクリプトではなく
unityエンジンの何かが出してる
困った Unityにアタッチなどでデバッグしようとすると
出力ファイルの書き込み中にエラーが発生しました
でビルドが失敗する
困った WebGLのビルドで
System.BadImageFormatException
ログにすごい長い書き込み
まだハマってる いろいろ削ってビルドしているが
WebGLのビルドが解決しない この前あったwindows updateでも関係あるのかなあ