unityでゲーム作りたい(Help!)
グラビティスケールを-0.1にしたら上に移動した
これってすごいことのような気がする
調べる気にならないので調べないけど他のゲームエンジンではできるのかな
massはマイナスにできなかった 早くも心折れる
参考になりそうなもの探したりしているだけで今日は終わりそうだ
それでもいいか こういうのってどうやって作っているんだろう
ダウンロードしてまで遊ぼうとは思わないけど
テトリスに物理演算を入れたらこうなる
http://youtu.be/HXVAIfp17kw 物理演算ってえとunity ならrigid body だよね
だからななめのなってそのままになっちゃう
ゲームとしてどうなの?って感じだよね
実物を正確にやるのがゲームじゃない見本だよね >>162
高速すり抜けは
https://docs.unity3d.com/ja/current/Manual/class-Rigidbody.html
にあるCollision Detectionで
ブログ検索すると検証しているのも見かけます
>>165
あぁmassじゃなかった失礼しました 今日の成果
https://imgur.com/6spfeaF
Particleを2つにしてみた
その場(Local)で発生と、Worldで発生これでなんとなく煙から光っぽくなった感じかなぁ なぜか専ブラでこのスレが過去ログ扱いになっていて書き込みできなかった
なおった 動かすときpositionの変更以外にどういうのがあるんだろう
上昇する床をpositionで動かしたら上に乗っているものがめり込んだりせずに上昇するのか?
なにか忘れたがメソッド使ったら斜めに進んだので、回転するものでも真上に動かしたいのでpositionで動かすように変更した
//今はこういうのが必要にはなってないので急いで知る必要ないけど >>175
面倒になった
タイトルシーン作って、play押したらシーン切り替えて動き始めるとか
店シーン作って店で買ってプレイヤーを強くするとか 違う実験した
砂や水みたいな感じに
有料アセット使えばリアルなのあるんだろうけど勉強なので
http://kmajo.starfree.jp/sand/
丸と四角で若干摩擦とバウンドを変えてる
丸いほうが崩れないので
http://kmajo.starfree.jp/images/ss2020-04-02-00007.png
* 左右にAddForce
* インスタンス生成したらAddTorque
丸いほうはかなりの量が重なっているのにゆっくり上下方向に散らばる 上下に床をtransform.positionで動かした
あえてすり抜けが起こる薄さと速度で
床が上がっているときめり込むね
たくさん重なっているのに上昇中ははじけ飛ばないね
タグってリネームできないのか
GameObject.FindGameObjectsWithTag
レイヤーで検索とかそういうのはないのね
タグを削除して作り直した後の
GameObject.FindGameObjectsWithTag
エディターのプレイでは問題なかったけど
webGLビルドでしたら検索できなかった
unity起動してビルドたら成功した >>175
ワニカー やっべーこれ終わりがないwwww
ちょっとはまりそうになったw
くまじょさんの作品ってシュールだよねなんとなく >>177
すり抜け防止
床を分厚くすればいいことだから必要性ないんだけど
Collision DetectionをContinuous
上から大量に落ちてくる球を
上昇する床で受け止める場合には効果ない
玉が多いと処理が重くなった
kinematicだとRigidbody2D.AddForceが効かないのか
dynamicだと落下して画面から出て行ってしまう、玉に当たって回転する
そもそも自由落下している玉の速度ですり抜けてしまうから
床の動かし方とか考えても仕方ないか simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0 >>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;
ってやって
つまりグローバル変数みたいな使い方で解決とする
シングルトンにはしないけど
シングルトンの作り方に似てるな