c# - 如何使用平面法线将矢量从 xyz 转换为 xy?(使用 hlsl)
问题描述
float3 plane_normal = mul(mesh_Object2World, v.normal);
o.normal = o.worldPos - _Mouse.xyz;
//接下来,我不知道如何使用“plane_normal”将“o.normal”转换为 2d
解决方案
不确定您到底要做什么。但是在 Unity 中,2D 项目和 3D 项目是一样的。唯一不同的是默认背景,相机透视和 3D 使用 z 平面,即深度。
这意味着Vector3(x, y, 0) == Vector2 (x, y)
您需要做的就是设置Vector3.z = 0
. 所以正常的 forVector3(x, y, 0)
和Vector2 (x, y)
是一样的。
推荐阅读
- java - 在 Hibernate 中一次性添加所有实体类的方法是什么?
- java - 出现错误“找不到 org.openqa.selenium.remote.RemoteWebDriver 的类文件”
- html - 是否有任何 HTML 元素或插件可用于将文本和图像一起作为输入?
- javascript - 自动播放一页上有多个幻灯片的javascript幻灯片不起作用
- javascript - 如何在 Javascript 中对对象进行分组?
- java - 根据 GSI 索引和范围键从 Dynamo db 中获取所有列
- c# - 文本块未更新
- python - 使用嵌套字典替换字符串中的单词
- postgresql - Postgres 如何在没有 undo 日志的情况下支持回滚
- php - 无法使用 php 在数据库中存储尼泊尔日期