忍者ブログ

素人ゲーム開発を垂れ流しつつ、覚醒に至るまでの記録や役立ち情報、愚痴を書くブログ。ちなみに前立腺の開発もやっている。

最近文字の大きさを少し大きくしてみたは良いものの、
逆にみにくいような気がしてならないんですが皆様の
意見お待ちしております。


さて、
話は本題に入りまして。

プレイヤーの中心からレイを真下に飛ばして
当たり判定を取っていますが、面の法線の逆側
(ポリゴンの裏側)からでもしっかり拾っている
ことが分かりました。あたった場所にテキトーな
モデルを配置することで発見することが出来ました。

しかしながらとても不思議な動きをします。
マップにあったと思ったら徐々にプレイヤーの位置
までモデルが上がってくるのです。

はてな?


例え二つ当たったとしてもどちらかの座標にモデル
が再配置されるはず。ここら辺は良く分からないので
LayerMask機能を使う事にする。




layermaskはただのint型の数値で、
ここにレイヤー番号を入れる事で定めた物しか
衝突しか検知しない様にできる引数みたいです。





これを利用すれば恐らくモデルが中に舞うと言った
現象には悩まされないと見ています。

まぁ、
やってから記事書けよって話なんですけども。


結果は後ほど。
PR



という荒療治を思いついた。

と言うよりはという助言を頂いた。
いや、方法の1つとして
知ってはいたけどもと言うべきか。

結果から言うとカクカクとした動作は
直った。しかしとても重要な問題が。
FixedUpdate()に書いてしまうと固定
FPSになるということ。変更すれば
物理演算も加わるので目に見える
パフォーマンスの低下に繋がると
言う事。

Unityは物理演算を謳っている様に比較的
簡単に扱える仕組みになっている。この
物理演算の処理を軽くするためにUnityは
物理演算用の関数を用意している。

簡単なようで面倒な仕組み。
このままだとFPSの変更をオプションで
変えられない。どうやらスクリプトから
FixedUpdate()の呼ばれる頻度を変えられない
からだ。

う~ん参ったものだ。
皆さんご存知Getcomponent()関数って重いですよね。
で、それと同じくtransformも重いんだそうです。

じゃあ予めキャッシュしておけば良いのかといったら
私の場合なぜか改善しなかった。使っている間FPS
は著しく落ち始め、使うのを辞めるとまた元に戻る。


皆さんは一体どう対策をされているんだろうか?


消してフレームレートが落ちている訳ではない。
いや、どうだろうか?60に設定してるのに少し
高めになっている。ここら辺もおかしい所。

一瞬カクッとくる。

FixedUpdate()の頻度を上げるだけでは
解決しないらしい。
移動中にカクカクする場面に遭遇。
しかしながらコード的には問題がない様子。

調べてみるとUpdate()のタイミングで描画
しているらしい。しかしPhysic系の計算は
FixedUpdate()周期で計算されてるらしく
update()に書いても意味がない。

ので私はFixedUpdate()に書いているが、
そこで問題。FixedUpdate()はUpdate()
よりも呼ばれる回数が遅い。

と言うことは、Update()で描画している
にもかかわらず、FixedUpdateで物理の
計算をしている訳だから描画に嘘が生じる。

処理よりも描画される回数が多い。
これでは計算する前に描画されてしまう。


私が取った方法はEdit > ProjectSettings >
Time にある、





「FixedTimestep」をUpdateよりも早く
設定する事だった。ただし、これがユーザー
によってFPSを変えられる使用ならそれに
応じてスクリプトから変える必要が出てくる。

とりあえず、様子見である。


  
ブログ内検索
最新コメント
[10/06 ダージリン]
[10/03 ゼン]
[10/01 ダージリン]
[09/25 ゼン]
[12/20 ダージリン]
プロフィール
HN:
kawaハギ
年齢:
36
性別:
男性
誕生日:
1989/07/03
職業:
無職
趣味:
ゲーム 音楽
自己紹介:
人類を5次元意識へ押しあげる為のゲームを
開発しています。

小学生3年頃から鬱を発症。対人恐怖症、醜形恐怖等で引きこもり。
生きる意味を長らく探し求め、ようやく答えを見つけスピリチュアル
にたどり着く。覚醒を数段階体験し現在は”もう一度”物理的な自立を目指しています。
カウンター
Copyright ©  -- 覚醒できるゲームを作るブログ --  All Rights Reserved

Design by CriCri / Material by petit sozai emi / powered by NINJA TOOLS / 忍者ブログ / [PR]