我正在制作低聚水,但尝试使照明工作失败。
我制作了一个着色器,用于为模型设置颜色并沿z轴移动其顶点。
This tutorial介绍了如何重新计算着色器中的法线。但是,它使用了平滑的阴影,这在this video中有很好的解释。
对于我的低多边形水,我需要使用平淡的阴影,基于对视频的理解,这需要我将每个顶点分为3个单独的顶点,这些顶点的位置相同但法线不同。
我该如何实现?
这是目前在Unity中的外观。当我刚开始写这篇文章时,不要介意海浪的丑陋。问题在于波浪之间的阴影平滑。
这是我的代码:
class ViewGenerator < Rails::Generators::Base
source_root File.expand_path('templates', __dir__)
argument :name, type: :string
argument :action, type: :string
def generate_view
template "#{file_name}.html.erb", "app/views/#{folder_name}/#{file_name}.html.erb"
end
private
def folder_name
name.underscore
end
def file_name
action.underscore
end
def type
name.titleize.singularize
end
def down_type
name.downcase.singularize
end
def render_form
"<%= render 'form', #{down_type}: @#{down_type} %>"
end
def render_link_back
"<%= link_to 'Back', #{folder_name}_path %>"
end
end</pre>
答案 0 :(得分:0)
您可以为此使用几何着色器-这里有一个很好的示例,说明了它们如何工作,包括如何进行平面着色:https://catlikecoding.com/unity/tutorials/advanced-rendering/flat-and-wireframe-shading/
但是,几何着色器非常昂贵,因此我想在这种情况下,最好的选择是在Blender中打开模型,选择它,然后按“ Flat”而不是“ Smooth”作为左侧的着色选项工具栏,然后将其重新导出。这应该给您分割法线。