stevefsp / critterai

Archive of CAINav Project (Inactive)
MIT License
126 stars 75 forks source link

Geometry source must be dragged from heirarchy or Baked Poly Mesh never enters "ready to bake" state. #11

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. GameObject->New CAI->Polymesh (Mesh filter array option)
2. Click the standard unity target button to the right of the empty source line
3. Select the mesh you want to bake
4. observe Baked Poly Mesh state

What is the expected output? What do you see instead?

Baked Poly Mesh should enter the "Ready to bake" state, but it does not. The 
workaround is this: Instead of using the Unity target button to select a mesh, 
you must drag it over from the heirarchy panel. If you do this, Baked Poly Mesh 
will enter the correct state.

What version of the product are you using? On what operating system?

Unity 3.3.0f4 Windows 7 x64

Original issue reported on code.google.com by eldee.sm...@gmail.com on 9 Jun 2011 at 6:31

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r297.

Original comment by steve...@gmail.com on 23 Jul 2011 at 3:37

GoogleCodeExporter commented 9 years ago
The behavior is technically correct, but confusing.  The core issue is with 
limitations in the Unity Editor and cannot be properly fixed. The 'fix' in r297 
works around the issues by adding a console warning when a source object that 
does not contain extractable meshes is assigned.  Hopefully this will reduce 
confusion.

The core issues are as follows:

The MeshFilterSource needs to accept game objects rather than just MeshFilters 
since it needs to support the use of tree structures that have an empty game 
object at the root.

The Unity GUI component used to assign game objects accepts both scene objects 
and project assets. (Both are detected as game objects.) Without getting 
clunky, there is no way of detecting and restricting which type is assigned.  

Meshes cannot be extracted from project assets.  So they cannot be used to 
build NMGen polygon meshes.

The content of the target button can't be controlled and will only contain 
project assets.  So the target button is never useful and there is no 
workaround. (That I can think of.)

Original comment by steve...@gmail.com on 23 Jul 2011 at 4:18

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
The fix for this issue can be improved with the release of Unity 3.4.  The 
Object GUI now allows the inclusion of scene objects in the dialog.  Still 
can't exclude project assets, but the debug warnings will mitigate that issue.

Since Unity 3.4 is still fairly new, the next release of CIANav will still 
implement the v3.3. behavior by default.  But conditional compilation code has 
been added to optionally implement the v3.4 behavior.  

The v3.4+ behavior will be automatically used if the code is compiled from 
within a Unity v3.4 or higher project.  

The v3.3 behavior will be used if the code is compiled in Visual Studio or 
Mono.  To compile for v3.4, remove the UNITY_3_3 symbol in all 'u3d-editor' 
projects.

There is one drawback to the implementation.  The editor code cannot be 
compiled by Unity 2.x.  So Unity 2.x users must use the pre-compiled editor 
DLL's.

The default will likely be changed to v3.4 later this year.  This issue will be 
held open until then.

Original comment by steve...@gmail.com on 24 Aug 2011 at 8:59

GoogleCodeExporter commented 9 years ago
Fix distributed at part of CAINav v0.3.0.

Original comment by steve...@gmail.com on 24 Sep 2011 at 7:05