emotionサイトトップ >
UE(アンリアルエンジン)備忘録 >【UE4】LineTraceByChannelエラー
”UnrealEngine4で極めるゲーム開発”でUE4の勉強中・・・
21.3 トレース応答の章で、

上記のようにサンプル通りにブループリントを作成すると、

Blueprint Runtime Error: Accessed None trying to read property CallFunc_BreakHitResult_HitResult_HitActor from function: 'CanSeePlayerPawn' from node: Return Node in graph: CanSeePlayerPawn in object: PNPawn_Rabbit with description: Accessed Nont trying…
というエラーが大量に発生します。
問題なのは・・・LineTraceByChannelの結果を無視して、LineTraceByChannelのOutHitを使用している事です。
未だUE4初心者なので、参考書通りにブループリントを作成していると、こういう簡単なエラーが発生すると訳が分からなくなりますね。
LineTraceByChannel関数について調べてみると、LineTraceByChannelのReturnValueはトレースにヒットしたらtrueを返して、それ以外ではfalseを返すみたいです。
という事は・・・

LineTraceByChannelでtrue応答があった時だけOutHitを取得するようにして、false応答の時はトレースにヒットしているものが無いので使用しないようにすればいいだけですね。
一応、このブループリントはCanSeePlayerPawnという関数内の処理で戻り値を返すので、false応答の時は関数戻り値にfalseを返すようにしてみたら・・・
エラーは出なくなりました。
分かってしまえば簡単なのですが、手探り状態の初心者にはこういうバグは訳が分かりませんw
恐らくこの参考書はわざとこういうプチバグを仕込んでおいて、読者自身が自力で修正する事によってUE4への理解を深める工夫がされているんでしょう。
プログラム等の勉強で一番身に付くのは、不具合の原因調査と修正対応ですからね。
いやぁ~奥が深い参考書ですw
- 関連記事
-
-
【UE4】ホストプロセスマテリアルSceneTexture:SceneColorでエラー
-
【UE4】Destinyのハンターっぽいトリプルジャンプ
-
【UE4】LineTraceByChannelエラー
-
【UE4】ブループリントでよく使う関数を表示させる
-
【UE4】インプットイベントが発生しない・・・
-