This is related to https://www.fusetools.com/community/forums/bug_reports/my_custom_rendernodes_properties_arent_available_i?page=1#post-edd8202f-abf4-4aa4-a625-4d8ce3a098cc
I want to draw 3D graphics with Uno, but it’s like crawling on poisoned lava rocks in salt rain while getting whipped by insurance sales men these days. I have tried to use the “separate project for rendernode”-trick, but with current version it only works with DotNetExe build, which already works without the trick… anyway, what could be wrong here? (Project files : www.apexvj.com/upload/RenderNode.rar )
I have a project for RenderNode containing:
<RenderNode ux:Class="MyRenderNode" ux:AutoCtor="false">
</RenderNode>
And a class
using Uno;
using Fuse;
using Fuse.Entities;
using Fuse.Drawing.Primitives;
public partial class MyRenderNode
{
public Frustum CameraFrustum {get;set;}
public Transform3D CameraTransform {get;set;}
public MyRenderNode()
{
InitializeUX();
}
protected override void OnDraw(Fuse.DrawContext dc)
{
debug_log "draw draw";
var CamAngle = (float)Fuse.Time.FrameTime;
CameraFrustum.FovRadians = Math.PIf/3f;
CameraTransform.Position = float3(80f Math.Sin(CamAngle), 0, 80f Math.Cos(CamAngle));
CameraTransform.LookAt(float3(0,0,0), float3(0,1,0));
draw DefaultShading, Cube {
DiffuseColor : float3(1,0,0);
};
}
}
Then in project that should be able to compile all this:
<App Theme="Basic" Background="#00FF00ff">
<RenderNode>
<Scene Camera="CameraEntity">
<Entity ux:Name="CameraEntity">
<Frustum FovDegrees="120" ZNear="10" ZFar="10000" ux:Name="CameraFrustum" />
<Transform3D Position="0, 0, 0" RotationDegrees="0, 0, 0" Scaling="1, 1, 1" ux:Name="CameraTransform" />
</Entity>
<MyRenderNode ux:Name="MyRenderNode" CameraFrustum="CameraFrustum" CameraTransform="CameraTransform" />
</Scene>
</RenderNode>
And in project file :
"Projects": [
"../CustomControls/CustomControls.unoproj"
],