- 1,006
- 36
- 206
Как проверить видна ли сущность игроку(то бишь, есть ли она вообще на экране)? Я догадываюсь, что с вектором взгляда можно что-то придумать, но я в геометрии не силён.
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Vec3 visionVec = player.getLook(1.0F).normalize(); // или что-то похожее
Vec3 targetVec = Vec3.createVectorHelper(entX - player.posX, entY - (player.posY + (double) player.getEyeHeight()), entZ - player.posZ).normalize();
double dotProduct = visionVec.dotProduct(targetVec); // надеюсь, эту функцию всё ещё не убрали
boolean inFOV = dotProduct > 0.1 && player.canEntityBeSeen(ent); // Если скалярное(dot) < 0, то игрок не смотрит на блок вообще.
return inFOV; // в поле ли зрения
У зомби вроде радиус видимости.АИ Зомби.
Vec3 visionVec = player.getLook(1.0F).normalize(); // или что-то похожее
Vec3 targetVec = Vec3.createVectorHelper(entX - player.posX, entY - (player.posY + (double) player.getEyeHeight()), entZ - player.posZ).normalize();
double dotProduct = visionVec.dotProduct(targetVec); // надеюсь, эту функцию всё ещё не убрали
boolean inFOV = dotProduct > 0.1 && player.canEntityBeSeen(ent); // Если скалярное(dot) < 0, то игрок не смотрит на блок вообще.
return inFOV; // в поле ли зрения